Sobes.tech
Junior

Jak a kde lze zobrazit logy jakéhokoli služby?

sobes.tech AI

Odpověď od AI

Prohlížení protokolů služby je možné na několika místech v závislosti na typu služby a způsobu nasazení.

Hlavní místa prohlížení protokolů:

  • Lokální soubory:

    • U služeb běžících přímo na serveru jsou protokoly často zapisovány do souborů v adresářích typu /var/log/ (Linux) nebo v specializovaných adresářích aplikace.
    • Používají se příkazy jako cat, tail, less, grep.
    # Zobrazení posledních řádků log souboru
    tail -f /var/log/myapp/service.log
    
    # Vyhledávání chyb v log souboru
    grep "ERROR" /var/log/myapp/service.log
    
  • Systémový deník (syslog/journald):

    • Aplikace mohou odesílat protokoly do systémového deníku operačního systému.
    • V Linuxu se pro systémový deník journald používá příkaz journalctl.
    # Zobrazení protokolů konkrétní služby
    journalctl -u my-service.service
    
    # Zobrazení protokolů od určitého data
    journalctl --since "2023-01-01 10:00:00"
    
  • Standardní proudy (stdout/stderr):

    • Mnoho moderních aplikací, zejména v kontejnmentových prostředích, vypisuje protokoly do standardních proudů výstupu a chyb.
    • Tyto proudy mohou být shromažďovány systémy správy kontejnerů nebo logování.
  • Systémy správy kontejnerů (Docker, Kubernetes):

    • Docker shromažďuje protokoly ze standardních proudů kontejnerů a zpřístupňuje je přes příkazy docker logs.
    • Kubernetes integruje s různými systémy sběru protokolů (například Fluentd, Logstash) pro centralizovaný sběr protokolů z podů a jejich odeslání do úložiště.
    # Zobrazení protokolů Docker kontejneru
    docker logs <container_id_or_name>
    
    # Zobrazení protokolů Kubernetes podu
    kubectl logs <pod_name> -n <namespace>
    
  • Centralizované systémy logování:

    • Vyspělé infrastruktury používají specializované platformy pro sběr, agregaci, analýzu a vizualizaci protokolů z mnoha zdrojů.
    • Příklady zahrnují: ELK Stack (Elasticsearch, Logstash, Kibana), Splunk, Grafana Loki, Datadog, Sumo Logic.
    • Přístup k protokolům je možný přes webové rozhraní nebo API těchto systémů.
  • Cloudové platformy:

    • Cloudoví poskytovatelé nabízejí vlastní služby pro sběr a analýzu protokolů.
    • Příklady: AWS CloudWatch Logs, Google Cloud Logging, Azure Monitor Logs.
    • Protokoly jsou dostupné přes ovládací konzoli cloudové služby nebo jejich API.

Volba způsobu prohlížení závisí na architektuře aplikace, používané infrastruktuře a nastavení logování. Centralizované systémy logování jsou vhodnější pro složité distribuované systémy, protože poskytují jednotný přístupový bod a výkonné možnosti analýzy.