Sunteți pe pagina 1din 3

FIŞA DE ACTIVITATE

Săptâmâna 30 ianuarie - 3 februarie


Sarcini planificate: Configurarea mediului de QA (testare) pentru proiect. Instalarea
instrumentelor dependentelor și instrumentelor de test.

Activităţi desfăşurate, observaţii personale


30 ianuarie – După obtinerea credentialelor, ma conectez prin SSH la server, ca OS este
instalat Ubuntu 22.04 versiunea server. Adaog cheia mea SSH publica pentru a ma conecta
fără introducerea suplimentara a credentialelor. Pentru comoditate am creat pe calculatorul de
lucru un Alias pentru conectare. Standard actualizez repozitoriile și pachetele deja instalate pe
server după care încep instalarea instrumentelor necesare. În primul rând instalez Docker
printr-un bash script scris anterior pentru alte proiecte. Genere în sistemul GitLab un token de
acces pentru citirea registrului Docker pentru a putea descarca imaginile pentru aplicatiile
dezvoltate. Creez un docker-compose file unde descriu în format declarativ YAML toate
serviciile (aplicatiile), comportamentul acestora și alte configurari, rulez ca să mă asigur ca
totul funcționează corect.

31 ianuarie – După configurarea mediului de test, încep instalarea infrastructurii de


monitorizare. Pentru aceasta am utilizat doua stack-uri de tehnologii ELK (Elasticsearch,
Logstash, Kibana) pentru colectarea logurilor de sistem, aplicații și baze de date, și stack-ul
Grafana+Prometheus pentru monitorizarea resurselor serverului, consumul de resurse de către
procese precus CPU, RAM, spațiu de stocare, rețea etc. Primordial sunt resursele, deci
instalez Grafana și Prometheus plus niște tool-uri suplimentare. Pentru comoditate voi folosi
aceste tool-uri containerizate în Docker. Caut imaginile docker a acestora pe docker hub și
alte repozitorii publice pentru a găsi versiunile necesare, compatibile cu arhitectura serverului
(amd64). După descărcarea versiunilor necesare testez fiecare componentă aparte consultând
documentația oficială pentru a stabili parametrii optimi.

1 februarie – Obținând toate componentele necesare precum (Grafana, Prometheus,


NodeExporter, Cadvisor, AlertManager și altele) începe partea cea mai grea, și anume
descrierea fisierului docker-compose, procesul este unul destul de lung ce constă în scrierea
yaml fișierului și pornirea acestuia de câteva ori pentru testare și configurare suplimentara.
Având 7 aplicații containerizate ce trebuie configurate corect pentru interacțiunea corectă a
acestora, procesul a durat până la sfârșitul zile și o parte din ziua următoare.

2 februarie – Configurând întregul sistem de monitorizare, trec la partea de afișare. Cu


ajutorul instrumentului Grafana și template-urilor oferite de open-source construiesc grafice
și diagrame dinamice ce reflectă starea serverului și a aplicațiilor, cum ar fi consumul de date,
consumul de resurse, numărul de request-uri http venite la o instanță a aplicației etc. În final
obțin 3 dashboard-uri pentru 3 compartimente, primul este starea serverului, al doilea este
starea aplicațiilor și al treilea este pur administrativ ce reflectă starea sistemului de
monitorizarea.
3 februarie – Un moment foarte important în procesul de monitorizare sunt alertele. Acestea
sunt menite să simplifice monitorizarea din motiv că nu mereu este posibilă monitorizarea
continuă, de aceea pentru a preveni responsabilii la un incident sunt create aceste alerte. La
depășirea unor limite de consum a resurselor, la căderea unei aplicații sau alte posibile cazuri,
aplicația transmite notificare pe poștă electronică și Telegram. Pentru realizarea acestui
mecanism am 2 opțiuni, utilizarea instrumentului integrat în Grafana, sau utilizarea unei
aplicații suplimentare AlertManager pentru Prometheus. Eu am optat pentru ambele opțiuni,
și anume ca cea mai mare parte a alertelor fiind executate de AlertManager și o mică parte de
Grafana, plus la asta ambele instrumente se monitorizează pe ele pentru a reduce la minim
riscul ca sistemul de monitorizare să ajungă la o stare non-funcțională.

S-ar putea să vă placă și