Trei termeni apar frecvent atunci când discutăm despre vizibilitatea asupra unei infrastructuri IT: monitorizare, jurnalizare și tracing. Deși se completează reciproc, fiecare răspunde la o întrebare diferită, iar confuzia dintre ele duce adesea la alegerea uneltei greșite pentru o problemă concretă.
Monitorizarea colectează valori numerice la intervale regulate, numite metrici. Un exemplu tipic este procentul de utilizare CPU citit la fiecare 30 de secunde de un agent precum Zabbix Agent 2 sau expus pe un endpoint /metrics pe care Prometheus îl interoghează periodic. Metricile sunt compacte, ușor de stocat pe termen lung și potrivite pentru grafice și praguri de alertă. Ele răspund la întrebarea „cât de mult" sau „cât de des", dar nu explică de ce s-a întâmplat un eveniment anume.
Jurnalizarea (logging) înregistrează evenimente discrete, de obicei sub formă de text, cu marcă de timp. Un jurnal Nginx sau LiteSpeed conține o linie pentru fiecare cerere HTTP, cu codul de răspuns, adresa IP a clientului și timpul de procesare. Spre deosebire de metrici, jurnalele păstrează detalii individuale despre fiecare eveniment, ceea ce le face utile pentru depanare, dar și mult mai voluminoase. O unealtă precum Loki, pe care o veți configura într-un capitol ulterior, agregă jurnalele de pe mai multe servere într-un singur loc și le indexează doar după etichete (labels), nu după conținutul integral, pentru a reduce costul de stocare.
Tracing-ul distribuit urmărește o singură cerere pe măsură ce trece prin mai multe servicii. Într-o arhitectură cu un frontend, un API și o bază de date separate, un trace arată exact cât timp a petrecut cererea în fiecare componentă. Unelte precum Jaeger sau Tempo, construite pe standardul OpenTelemetry, colectează aceste trasee. Cursul de față nu acoperă în detaliu tracing-ul distribuit, dar veți întâlni conceptul de exemplare (exemplars) în capitolul despre corelarea metricilor cu jurnalele, un punct de legătură între cele trei tipuri de vizibilitate.
În practică, pe un server cPanel cu LiteSpeed care găzduiește un magazin online, monitorizarea vă arată că timpul de răspuns a crescut de la 200 la 800 de milisecunde începând cu ora 14:00. Jurnalele de acces vă arată exact ce cereri au fost lente și de la ce adrese IP au venit. Dacă aplicația este distribuită pe mai multe servicii, tracing-ul v-ar arăta dacă întârzierea a apărut în baza de date, în cache sau într-un apel către un serviciu extern de plată. Cele trei unelte lucrează împreună, nu se înlocuiesc una pe alta, iar arhitectura pe care o veți construi în acest curs, cu Zabbix sau Prometheus pentru metrici și Loki pentru jurnale, reflectă exact această complementaritate.