Obsah

Sledování systému

<ubu> Ubuntu vám umožňuje pohodlně sledovat nejrůznější systémové statistiky, včetně využití procesoru, paměti, síťových prostředků, spuštěných procesů, a podobně. Sledování je možné jak z grafického prostředí, tak z terminálu. O většině událostí se zaznamenávají podrobné protokoly.

Sledování systémových prostředků

V grafickém prostředí

Z nabídky Dash → Sledování systému spusťte nástroj pro sledování systému.

V nástroji máte celkem tři záložky, první zobrazuje spuštěné procesy, druhá využití systémových zdrojů a poslední připojené souborové systémy.

Procesy

V záložce Procesy jsou zobrazené vaše aktuální procesy (programy). Přes nabídku Zobrazit se dají nastavit pro zobrazování i procesy ostatních uživatelů, případně pouze okamžitě běžící procesy. U každého procesu můžete kliknutím pravým tlačítkem myši vyvolat kontextovou nabídku:

Nastavení priority se může na první pohled zdát mírně nelogické. Priorita může „nabývat“ hodnot od -20 do 20, přičemž -20 znamená nejvyšší prioritu a 20 nejnižší.

Zdroje

V záložce Zdroje můžete vidět aktuální vytížení procesoru, využití paměti včetně dokládacího prostoru (swap) a aktuální rychlost přijímání a odesílání dat do sítě (pravděpodobně Internetu). Taktéž je zde zobrazena celková částka přijatých a odeslaných dat do sítě od spuštění počítače.

Pokud byste potřebovali měřit přenesená data v síti dlouhodoběji, navštivte článek Monitorování datových přenosů.

Souborové systémy

V záložce Souborové systémy vidíte připojené souborové systémy (disky, CD, flash disky atd.), včetně statistiky o jejich využití, typu souborového systému, přípojného adresáře apod.

V textovém prostředí

Pro sledování systému můžete využít také Terminál.

Zobrazení systémových protokolů

Velké množství událostí je zaznamenávána do systémových protokolů. Zde si můžete zobrazit, co se v určité době dělo se systémem, případně podle nich zjišťovat příčiny případných potíží.

V grafickém prostředí

Z nabídky Dash → Systémový protokol spusťte nástroj pro prohlížení systémových protokolů.

V levé části můžete vybírat jednotlivé protokoly a také vybírat záznamy podle dní, kdy byly zaznamenány. V pravé části vidíte jejich obsah těchto protokolů. Můžete tak lehce zjistit, kdy kdo použil jaký sudo příkaz, nebo jaké chyby vám hlásí při startu váš grafický server.

V textovém prostředí

Všechny protokoly jsou uloženy jako obyčejné textové soubory v adresáři /var/log. Můžete si je tam tedy i za použití Terminálu lehce prohlédnout, případně prohledat.

Syslog

Předchozí část článku se věnovala tomu, jak logy zobrazit. Teď se podíváme na to jak logy vznikají a dají se nastavovat.

Unixový a linuxový de facto standard pro sjednocené logování je syslog. Co znamená sjednocené? Jednoduše to, že ve „špatném“ světě si každá aplikace loguje podle svého a kam chce. Programátoři si musí napsat vlastní logovací kód, administrátoři musí znát a umět nastavit kam a jak aplikace bude logy ukládat. Stále můžete mít aplikaci, které si logují po svém nebo jsou prostě z nějakého důvodu takto zkonfigurovány.

Syslog, vzniklý v 80. letech jako součást balíku sendmail, je jistou odpovědí na tuto schizofrenii. Nabízí programátorům rozhraní k logování, syslog zprávy od aplikací přejímá a podle svého nastavení s nimi něco dělá. Většinou uloží do textové souboru, ale může poslat i na centrální logovací server nebo ukládat i do databáze.

Syslog je de facto standardem, protože byť existuje norma RFC 3164 vycházející z původního BSD syslogu, tak víceméně co distribuce, to mírně jinačí syslog.

A pokud mluvíme o syslogu, pak tím v Ubuntu a Debianu myslíme konkrétně rsyslog - jednoho z řady modernějších a schopnějších nástupců.

Formát syslogu

Formát syslogu je velmi jednoduchý. On celý syslog byl navržen jako jednoduchý logovací prostředek. V podstatě se zprávy syslogu skládají z:

Příklad syslogového souboru (zde auth logující bezpečnostní zprávy):

Mar  2 07:31:35 wkd-test02 gnome-screensaver-dialog: gkr-pam: unlocked login keyring
Mar  2 07:56:11 wkd-test02 unix_chkpwd[3686]: password check failed for user (franta)
Mar  2 07:56:11 wkd-test02 gnome-screensaver-dialog: pam_unix(gnome-screensaver:auth): authentication failure; logname= uid=1000 euid=1000 tty=:0.0 ruser= rhost=  user=franta
Mar  2 07:56:15 wkd-test02 gnome-screensaver-dialog: gkr-pam: unlocked login keyring
Mar  2 08:14:45 wkd-test02 gnome-screensaver-dialog: gkr-pam: unlocked login keyring
Mar  2 08:17:01 wkd-test02 CRON[3811]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar  2 08:17:01 wkd-test02 CRON[3811]: pam_unix(cron:session): session closed for user root
Mar  2 08:28:53 wkd-test02 gnome-screensaver-dialog: gkr-pam: unlocked login keyring
Mar  2 08:29:14 wkd-test02 sudo: pam_unix(sudo:auth): authentication failure; logname=franta uid=0 euid=0 tty=/dev/pts/1 ruser=franta rhost=wkd-test02  user=franta
Mar  2 08:29:20 wkd-test02 sudo:    franta : TTY=pts/1 ; PWD=/home/franta ; USER=root ; COMMAND=/usr/bin/touch /var/log/syslog

Nastavení rsyslogu

Klasický syslog měl konfigurační soubor v /etc/syslog.conf. Rsyslog používá

Styl zápisu je poměrně jednoduchý. Co řádek to jedno pravidlo ve formátu: jedna nebo více facility nebo více.priorita akce

Facility

Místo jména facility může být wilcard * znamenající jakákoli facilita, nebo none znamenající žádná facilita.

Priority

Priorita znamená vždy daná priorita plus všechny vyšší. Např. notice (5), znamená notice a warning (4), err (3), crit (2), alert (1), emerg (0). Stejně jako u facilit, tak wilcard * znamenající jakákoli priorita, nebo none znamenající žádná priorita.

Kromě toho se dají použít operátory = a !. Např. =notice znamená jen prioritu notice, notice znamená všechny kromě notice.

Všimněte si také, že facilit může být více, priorita jen jediná. Aby na stejnou facilitu reagovalo více priorit, musí být rozepsáno do více řádků.

Facility a priority dohromady oddělené . tvoří selector (výběr). Ty lze opakovat na stejném řádku pro akci použitím ;.

Akce

Většina zpráv putuje do souboru. Pokud uvedené plnou cestu, pak jsou přidávány nakonec. Když soubor neexistuje, ®syslog ho vytvoří.

- na začátku nastavuje bufferovat, čímž mírně snížíme režii disku, ale nemáme zaručenou konzistenci, pokud se při nějaké velké zátěži nahromadí mnoho zpráv.

@ na začátku označuje, že se má zpráva zaslat na jiný syslog server, např.: @10.110.0.115 nebo @srv-syslog.

Lze též jako akci napsat jméno uživatele, pak se zpráva vypíše jemu. Případě * znamenající poslat všem přihlášeným uživatelům.

Příklady pravidel

Odkazy