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.
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ě 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). |
Většina systémových logů se nachází v adresáři /var/log/.
K analýze logů se nejčastěji používají nástroje, které jsme již probrali:
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ý.
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:
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.