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.
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.
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žší.
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ů.
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.
Pro sledování systému můžete využít také Terminál.
ps
a top
.kill
, pkill
a killall
.free
.df
.top
můžete využít nástroj htop
. Stačí si nainstalovat balík htop
. htop
umožňuje posunování textu, barevné odlišení, jednoduché řazení sloupců, změnu priority a jednoduché zabití vybraného procesu.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íží.
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š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.
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 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
Klasický syslog měl konfigurační soubor v /etc/syslog.conf
. Rsyslog používá
/etc/rsyslog.conf
- základní konf. soubor/etc/rsyslog.d/
- všechny soubory v tomto adresářiStyl zápisu je poměrně jednoduchý. Co řádek to jedno pravidlo ve formátu: jedna nebo více facility nebo více.priorita akce
Místo jména facility může být wilcard *
znamenající jakákoli facilita, nebo none
znamenající žádná facilita.
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 ;
.
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.
mail.notice /var/log/mail
- od mail, priority notice a vyšší, do souboru /var/log/mailmail.notice /var/log/mail
- od mail, všechny kromě priority noticemail.!=notice /var/log/mail
- od mail, všechny kromě priority notice (jen méně čitelně předchozí pravidlo)mail.* -/var/log/mail
- od mail, všechny priority, bufferovat*.alert franta
- od kohokoli, prioritu alert, na terminál frantovimail,uucp.alert @srv-syslog
- od mail a uucp, prioritu alert, na srv-syslog servermail.alert;uucp.notice *
- od mail s prioritou alert, od uucp s notice, všem uživatelům