====== Logování (Logging) ====== **Logování** je systematický zápis informací o aktivitě systému do textových souborů (logů) nebo specializovaných databází. Dobře nastavené logování umožňuje zpětně zjistit, co se v systému stalo, kdy se to stalo a proč k tomu došlo. ===== 1. Úrovně logování (Log Levels) ===== Aby bylo možné v obrovském množství dat filtrovat, používá se standardizovaná hierarchie důležitosti. Většina systémů (včetně [[it_encyklopedie:linux|Linuxu]]) používá standard **Syslog**: ^ Úroveň ^ Název ^ Význam ^ | 0 | **EMERGENCY** | Systém je nepoužitelný (panika). | | 1 | **ALERT** | Je nutná okamžitá akce. | | 2 | **CRITICAL** | Kritický stav (např. selhání HW). | | 3 | **ERROR** | Došlo k chybě, ale systém běží dál. | | 4 | **WARNING** | Varování, které může v budoucnu vést k chybě. | | 5 | **NOTICE** | Normální, ale významná událost. | | 6 | **INFO** | Běžná informativní zpráva o aktivitě. | | 7 | **DEBUG** | Detailní výpisy pro vývojáře (při hledání chyb). | ===== 2. Kam se v Linuxu ukládají logy? ===== Většina systémových logů se nachází v adresáři **/var/log/**. * **/var/log/syslog** (nebo **messages**): Hlavní systémový log. * **/var/log/auth.log**: Záznamy o přihlášení a bezpečnosti. * **/var/log/apache2/** (nebo **nginx/**): Logy webového serveru. * **/var/log/dmesg**: Zprávy z jádra systému (kernelu) po startu. ===== 3. Práce s logy v příkazové řádce ===== K analýze logů se nejčastěji používají nástroje, které jsme již probrali: * **tail -f /var/log/syslog**: Sleduje log v reálném čase (nové řádky se okamžitě vypisují). * **grep "ERROR" /var/log/myapp.log**: Vyfiltruje pouze chybové hlášky. * **journalctl -u nginx**: Moderní způsob prohlížení logů v systémech se //systemd//. ===== 4. Správa logů (Log Rotation) ===== Logy mohou velmi rychle narůst a zaplnit celý disk. Proto existuje nástroj **logrotate**, který: 1. Staré logy zkomprimuje (např. do .gz). 2. Po určité době (např. 30 dní) je smaže. 3. Přejmenuje aktuální log a založí nový. ===== 5. Moderní centralizované logování ===== U velkých cloudových aplikací (běžících na stovkách serverů) není možné procházet logy ručně. Používají se tzv. **Log Management** platformy: * **ELK Stack:** (Elasticsearch, Logstash, Kibana) – standard pro vyhledávání a vizualizaci logů. * **Grafana Loki:** Moderní a úsporný systém pro logy v [[it_encyklopedie:kubernetes|Kubernetes]]. * **Splunk:** Komerční nástroj pro hloubkovou analýzu strojových dat. > **Důležité pravidlo:** Nikdy nelogujte citlivá data! Do logů nepatří hesla, čísla platebních karet ani osobní údaje (GDPR). V případě úniku dat by se logy staly zlatým dolem pro útočníky. [[it_encyklopedie:it_architektura_rozcestnik|Zpět na Rozcestník]]