Existuje spousta monitorovacích aplikací pro servery a udělaly hodně pro to, aby pomohly s přijetím Linuxu u systémových administrátorů, kteří nejsou zvyklí na Terminál nebo kteří skutečně potřebují grafické znázornění dat. Linux je však od začátku víceuživatelský systém a UNIX dávno předtím, takže existují vestavěné nástroje staré 40 let, které vám pomohou sledovat, kdo je přihlášen k vašemu serveru, kdo používá prostředky a k čemu.
Nemusíte být paranoidní nebo dokonce zvědaví, abyste ospravedlnili, že budete bedlivě sledovat server, který je vaší zodpovědností. Balíček psacct obsahuje několik příkazů pro shromažďování podrobných zpráv o stavu a aktivitě uživatele.
accton
Ne všechny příkazy v acct
utility vyžadují, abyste aktivovali účetnictví, ale mnoho z nich to dělá. Pokud máte v úmyslu použít acct
měli byste povolit účtování pomocí accton
příkaz.
Aktivace:
$ sudo accton on
Ve výchozím nastavení jsou účetní záznamy uloženy v /var/account/pacct
. Tento soubor by mohl být poměrně velký, takže použijte logrotate
nebo podobný nástroj pro zajištění správné správy protokolů.
Deaktivace účtování:
$ sudo accton off
ac
ac
příkaz vytiskne statistiky o časech připojení. Pokud potřebujete získat přehled o tom, jak byli aktivní uživatelé v systému, --individual-totals
možnost to poskytuje. Generuje svůj přehled v hodinách na základě přihlášení a odhlášení zaznamenaných v /var/log/wtmp
soubor.
Účetní soubor wtmp
je spravován init(8)
a login(1)
ale ani ac
nebo login
skutečně vytvoří soubor. Pokud wtmp
neexistuje, nevygeneruje se žádný přehled, ale můžete ukázat ac
do alternativního umístění pomocí --file
volba. Pokud je wtmp
soubor ve vašem systému neexistuje, můžete vytvořit prázdný wtmp
soubor, abyste umožnili hlášení ve vašem systému.
Chcete-li získat přehled o časech přihlášení pro jednotlivé uživatele:
$ ac --individual-totals
seth 20.16
larry 43.60
curly 10.32
moe 35.11
Můžete také získat denní součty:
$ ac --daily-totals
Jan 20 total 22.61
Jan 21 total 73.60
Jan 22 total 84.00
Jan 23 total 100.69
Jan 24 total 18.24
Jan 25 total 2.43
Jan 27 total 35.36
Today total 62.13
celkem 31.1
lastcomm
lastcomm
zobrazí poslední příkazy vydané v systému pro daného uživatele. Pokud není zadán žádný uživatel, vygeneruje se zpráva o aktuálním uživateli.
$ sudo lastcomm --strict-match --user curly --tty pts/2
basename curly pts/2 0.00 secs Tue Jan 28 15:41
ps curly pts/2 0.00 secs Tue Jan 28 15:41
bash F curly pts/2 0.00 secs Tue Jan 28 15:41
manpath curly pts/2 0.00 secs Tue Jan 28 15:41
bash F curly pts/2 0.00 secs Tue Jan 28 15:41
tclsh curly pts/2 0.00 secs Tue Jan 28 15:41
bash F curly pts/2 0.00 secs Tue Jan 28 15:41
bash F curly pts/2 0.00 secs Tue Jan 28 15:41
sed curly pts/2 0.00 secs Tue Jan 28 15:41
Příkazy uvedené v lastcomm
nejsou nutně příkazy, které uživatel spouští interaktivně. Například pouhým přihlášením uživatel vytvoří téměř 40 položek ve výstupu lastcomm
, takže to může být ohromující. Ve spojení s grep
, nicméně je to snadný způsob, jak získat představu o historii relací uživatele.
sa
sa
příkaz shrnuje účetní informace odvozené z /var/account/pacct
soubor. Pokud kontrolujete aktivity uživatelů, pak --print-users
volba vypíše uživatelské jméno před každým příkazem:
$ sudo sa --print-users
root 0.00 cpu 579k mem 0 io accton
root 0.03 cpu 64064k mem 0 io sudo
seth 0.00 cpu 56752k mem 0 io bash *
seth 0.00 cpu 54080k mem 0 io sed
seth 0.00 cpu 56752k mem 0 io bash *
larry 0.00 cpu 56752k mem 0 io bash *
curly 0.00 cpu 56752k mem 0 io bash *
moe 0.00 cpu 56752k mem 0 io bash *
seth 0.00 cpu 54080k mem 0 io ls
cpu 54080
Případně můžete získat pouze souhrn pro každého uživatele:
$ sudo sa --user-summary
1065 2169.59re 0.97cp 0avio 49373k
seth 812 1117.11re 0.83cp 0avio 58163k
root 199 1052.42re 0.14cp 0avio 21314k
larry 41 0.00re 0.00cp 0avio 19403k
curly 1 0.06re 0.00cp 0avio 6706k
moe 12 0.00re 0.00cp 0avio 25888k
[...]
Sloupce zobrazené, kromě uživatelských jmen, hlásí CPU (v reálném čase a CPU), I/O operace na příkaz (průměrné a celkové) a tak dále. Lze je konfigurovat pomocí voleb jako --sort-tio
pro t celkové I/O , --sort-cpu-avmem
seřadit čas procesoru podle průměrného využití paměti a tak dále. Všechny filtry řazení lze obrátit pomocí --reverse-sort
možnost.
Profilování uživatele
V kombinaci s nástroji jako who, w a ps můžete získat představu o tom, jak uživatelé utrácejí systémové prostředky, které příkazy mohou být problematické a jaké upgrady serveru by mohly být užitečné v budoucnu. Protože acct
sada je založená na terminálu, lze ji skriptovat a využívat jinými nástroji, což vám umožňuje vytvořit přizpůsobený mechanismus hlášení.
[ Chcete si vyzkoušet Red Hat Enterprise Linux? Stáhněte si ji nyní zdarma. ]