Sobes.tech
Middle

Povedzte nám o vašich skúsenostiach s analýzou logov.

sobes.tech AI

Odpoveď od AI

Analýza logov bola používaná na ladenie, monitorovanie a hľadanie príčin incidentov.

Hlavné scenáre použitia:

  • Hľadanie chýb: Identifikácia chýb, upozornení a generovaných výnimiek v logoch aplikácie, servera alebo databázy.
  • Diagnostika výkonu: Analýza doby odozvy, zaťaženia CPU, spotreby pamäte podľa logov monitorovacích systémov alebo samotných aplikácií.
  • Vyšetrenie incidentov: Obnovenie časovej osi udalostí, ktoré viedli k zlyhaniu, na základe logov rôznych komponentov systému.
  • Monitorovanie stavu systému: Nastavenie upozornení na kľúčové udalosti alebo chyby v logoch.
  • Analýza správania používateľov: Sledovanie sledovanej sekvencie akcií používateľa na základe logov požiadaviek na API alebo webový server.

Nástroje a prístupy:

  • Textové editory a príkazové utilitky: Pre malé projekty alebo lokálnu analýzu používal grep, awk, sed v Linux/Unix systémoch.
  • Centralizované systémy logovania: Pracoval s ELK stackom (Elasticsearch, Logstash, Kibana), Grafana Loki. Tieto systémy umožňujú zber logov z rôznych zdrojov, ich centralizované ukladanie, indexovanie a vizualizáciu. Použitie Kibany alebo Grafany na tvorbu dashboardov a interaktívne vyhľadávanie v logoch bolo rutinné.
  • Štruktúrované logovanie: Vyžadoval od vývojových tímov používanie formátov logov, ktoré uľahčujú parsing (napríklad JSON), pridávaním Correlation ID na prepojenie požiadaviek medzi službami.
  • Monitorovanie a upozornenia: Nastavoval pravidlá v monitorovacích systémoch (Prometheus) a logovacích systémoch (ELK, Grafana) na odosielanie upozornení pri výskyte kritických chýb alebo prekročení určitého počtu upozornení v logoch.

Príklad použitia ELK na vyhľadávanie chyby:

  1. Identifikácia incidentu (napríklad sťažnosť používateľa).
  2. Prechod do Kibany, výber príslušného indexu logov.
  3. Zadanie kľúčových slov alebo filtrov (napríklad ID používateľa, čas požiadavky, názov mikroservisu).
  4. Vyhľadávanie podľa poľa level: ERROR alebo level: WARNING.
  5. Analýza stacktrace a okolitých logov na určenie kontextu chyby a identifikáciu modulu alebo funkcie, ktorá spôsobila zlyhanie.
{
  "@timestamp": "2023-10-27T10:30:00.123Z",
  "level": "ERROR",
  "message": "Neúspešné pripojenie k databáze",
  "service": "user-service",
  "correlation_id": "abc-123",
  "error": {
    "type": "SQLException",
    "message": "Connection refused",
    "stacktrace": "..." // Tu bude úplný stacktrace
  },
  "user_id": "user-xyz"
}

Analýza logov je kritickou súčasťou procesu testovania a podpory produktu, umožňujúc rýchle odhalenie a lokalizáciu problémov.