systém:sledování_systému

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
systém:sledování_systému [2013/09/11 19:35] tadeaspariksystém:sledování_systému [2019/02/25 18:21] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== Sledování systému ======
  
 +{{.:gnome-system-monitor-icon.png}} <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ál|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í =====
 +
 +{{.:gnome-system-monitor-icon.png}} 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 ====
 +
 +{{ .:gnome-system-monitor-procesy.png?550 }}
 +
 +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:
 +
 +{{ .:gnome-system-monitor-procesy-nabidka.png }}
 +
 +  * **Zastavit** a **Pokračovat proces** - umožní zastavit daný proces, který jakoby "zamrzne". Takto můžete pozastavit proces, který sám o sobě pozastavení neumožňuje, a poté jej znovu rozběhnout. Pozor ovšem, ať si nepozastavíte nějaký důležitý proces nutný pro práci prostředí.
 +  * **Ukončit proces** - ukončí daný program, jako byste ho zavřeli křížkem na jeho horní liště
 +  * **Zabít proces** - okamžitě zabije daný proces, a nedá mu možnost nijak se korektně ukončit. Toto lze použít pro "zamrzlé" procesy, které nereagují na výzvy o ukončení.
 +  * **Změnit prioritu** - umožní vám změnit prioritu procesu. Proces s vyšší prioritou má přednost ve využití procesoru a může předbíhat procesy s prioritou nižší. Naopak snížení priority se může hodit, pokud máte puštěný proces masivně využívající procesor, na který nespěcháte (např. něco počítá), ale příliš se vám zpomalily ostatní programy a špatně se s nimi pracuje. Pouze [[:Root sudo|správce]] systému může zvyšovat prioritu procesů.
 +
 +{{ .:gnome-system-monitor-nice.png }}
 +
 +{{:info.png}} 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žší.
 +
 +  * **Otevřené soubory** - zobrazí seznam souborů, které daný proces aktuálně používá
 +
 +==== Zdroje ====
 +
 +{{ .:gnome-system-monitor-zdroje.png?650 }}
 +
 +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.
 +
 +{{:info.png}} 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 ====
 +
 +{{ .:gnome-system-monitor-soubsystemy.png?650 }}
 +
 +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í =====
 +
 +{{:terminal.png}} Pro sledování systému můžete využít také [[:Terminál]].
 +  * Pro sledování procesoru, procesů a paměti můžete využít příkaz ''ps'' a ''top''.
 +  * Pro zabití procesu můžete využít příkazy ''kill'', ''pkill'' a ''killall''.
 +  * Pro sledování paměti můžete využít příkaz ''free''.
 +  * Pro sledování souborových systémů můžete využít příkaz ''df''.
 +  * Jako velice příjemnou náhradu příkazu ''top'' můžete využít nástroj ''htop''. Stačí si [[:Instalace programů|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.
 +
 +{{ .:htop-1.png }}
 +
 +====== 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í =====
 +
 +{{.:gnome-system-log-icon.png}} 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.
 +
 +{{ .:gnome-system-log.png }}
 +
 +===== 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ál|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 [[http://www.ietf.org/rfc/rfc3164.txt|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ě [[http://www.rsyslog.com/|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:
 +
 +  * **druhu zprávy (facility)** - v podstatě od koho zpráva pochází (zprávy kernelu, mail systému, autorizační zprávy, zprávy tiskárny apod.)
 +
 +  * **závažnosti (severity)** - od nejvyšší jsou to postupně: 0 (emenergency nebo emerg), 1 (alert), 2 (crit), 3 (err), 4 (warning), 5 (notice), 6 (info), a nejméně důležitá 7 (debug).
 +
 +  * **časové razítko (timestamp)** - tedy čas vzniku zprávy
 +
 +  * **jméno nebo IP adresa zdrojového počítače** - ze kterého zprávy pochází
 +
 +  * **vlastní zpráva** - je zcela na aplikaci co "zaloguje". Zprávy jsou určené pro člověka, nikoli pro snadné strojové zpracování. Ale vzhledem k množství aplikací a zpráv může být i tak velmi obtížné správně vyrozumět co se vlastně dělo.
 +
 +Příklad syslogového souboru (zde auth logující bezpečnostní zprávy):
 +<code>
 +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
 +</code>
 +===== Nastavení rsyslogu =====
 +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áři
 +
 +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, (r)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 ====
 +
 +  * ''mail.notice      /var/log/mail'' - od mail, priority notice a vyšší, do souboru /var/log/mail
 +  * ''mail.notice     /var/log/mail'' - od mail, všechny kromě priority notice
 +  * ''mail.!=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 frantovi
 +  * ''mail,uucp.alert  @srv-syslog'' - od mail a uucp, prioritu alert, na srv-syslog server
 +  * ''mail.alert;uucp.notice *'' - od mail s prioritou alert, od uucp s notice, všem uživatelům
 +
 +==== Odkazy ====
 +
 +  * [[http://oreilly.com/catalog/bssrvrlnx/chapter/ch10.pdf|Kapitola o logování z Building Secure Servers with Linux]]