Esistono molte app di monitoraggio per i server e hanno fatto molto per aiutare l'adozione di Linux con gli amministratori di sistema che non sono abituati al Terminale o che hanno un reale bisogno di rappresentazioni grafiche dei dati. Tuttavia, Linux è stato un sistema multiutente sin dall'inizio e UNIX molto prima, quindi ci sono strumenti integrati che risalgono a 40 anni fa per aiutarti a monitorare chi ha effettuato l'accesso al tuo server, chi sta usando le risorse e per cosa.
Non devi essere paranoico o addirittura ficcanaso per giustificare il controllo ravvicinato di un server di cui sei responsabile. Il pacchetto psacct contiene diversi comandi per raccogliere rapporti dettagliati sullo stato e l'attività dell'utente.
accton
Non tutti i comandi in acct
le utenze richiedono l'attivazione della contabilità, ma molte lo fanno. Se intendi utilizzare acct
comandi, dovresti abilitare la contabilità con actton
comando.
Per attivare:
$ sudo accton su
Per impostazione predefinita, le registrazioni contabili sono archiviate in /var/account/pacct
. Questo file potrebbe diventare abbastanza grande, quindi usa logrotate
o uno strumento simile per garantire una corretta gestione dei registri.
Per disattivare la contabilità:
$ sudo accton disattivato
ac
Il ac
comando stampa le statistiche sui tempi di connessione. Se hai bisogno di avere una panoramica di come gli utenti attivi sono stati su un sistema, il --individual-totals
l'opzione lo prevede. Genera il suo rapporto in ore in base agli accessi e ai logout registrati nel /var/log/wtmp
file.
Il file contabile wtmp
è gestito da init(8)
e accesso(1)
ma nemmeno ac
o accedi
crea effettivamente il file. Se wtmp
non esiste, quindi non viene generato alcun rapporto, ma puoi puntare ac
in una posizione alternativa utilizzando il --file
opzione. Se un wtmp
non esiste sul tuo sistema, puoi creare un wtmp
vuoto per abilitare i rapporti sul tuo sistema.
Per ottenere un rapporto sui tempi di accesso per i singoli utenti:
$ ac --individual-totalsseth 20.16larry 43.60curly 10.32moe 35.11
Puoi anche ottenere i totali giornalieri:
$ ac --daily-totalsTotale 20 gennaio 22.61Totale 21 gennaio 73.60Totale 22 gennaio 84.00Totale 23 gennaio 100.69Totale 24 gennaio 18.24Totale 25 gennaio 2.43Totale 27 gennaio 35.36Totale oggi 62.13
ultimacomm
L'ultima comunicazione
comando visualizza gli ultimi comandi rilasciato sul sistema per un determinato utente. Se non viene specificato alcun utente, viene generato un rapporto sull'utente corrente.
$ sudo lastcomm --strict-match --user curly --tty pts/2basename curly pts/2 0.00 sec mar 28 gen 15:41ps curly pts/2 0.00 sec mar 28 gen 15:41bash F curly pts/2 0.00 sec mar 28 gen 15:41manpath curly pts/2 0.00 sec mar 28 gen 15:41bash F curly pts/2 0.00 sec mar 28 gen 15:41tclsh curly pts/2 0.00 sec mar 28 gen 15:41bash F ricci pts/2 0.00 sec mar 28 gen 15:41bash F curly pts/2 0.00 sec mar 28 gen 15:41sed curly pts/2 0.00 sec mar 28 gen 15:41
I comandi elencati da lastcomm
non sono necessariamente comandi lanciati da un utente in modo interattivo. Ad esempio, semplicemente effettuando l'accesso, un utente genera quasi 40 elementi nell'output di lastcomm
, quindi può essere travolgente. Accoppiato con grep
, tuttavia, è un modo semplice per avere un'idea della cronologia delle sessioni di un utente.
sa
Il sa
Il comando riassume le informazioni contabili derivate da /var/account/pacct
file. Se stai controllando le attività degli utenti, allora --print-users
opzione stampa il nome utente prima di ogni comando:
$ sudo sa --print-usersroot 0.00 cpu 579k mem 0 io acctonroot 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
In alternativa, puoi ottenere solo un riepilogo per ogni utente:
; 0.00re 0.00cp 0avio 25888k[...]
Le colonne visualizzate, oltre ai nomi utente, riportano la CPU (tempo reale e tempo CPU), le operazioni di I/O per comando (media e totale) e così via. Possono essere configurati utilizzando opzioni come --sort-tio
per t I/O totali , --sort-cpu-avmem
per ordinare il tempo della CPU in base all'utilizzo medio della memoria e così via. Tutti i filtri di ordinamento possono essere invertiti con il --reverse-sort
opzione.
Profilazione utente
In combinazione con strumenti come who, w e ps, puoi avere un'idea di come gli utenti stanno spendendo le risorse di sistema, quali comandi potrebbero essere problematici e quali aggiornamenti del server potrebbero essere utili in futuro. Perché il acct
suite è basata su terminale, può essere oggetto di script e utilizzata da altri strumenti, consentendo di creare un meccanismo di reporting personalizzato.
[ Vuoi provare Red Hat Enterprise Linux? Scaricalo ora gratuitamente. ]