GNU/Linux >> Linux Esercitazione >  >> Linux

Monitoraggio dello stato dell'utente e dell'attività in Linux con GNU acct

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. ]


Linux
  1. Fai calcoli nella shell Linux con GNU bc

  2. Come monitorare l'attività dell'utente in Linux

  3. Nozioni di base sull'amministratore di sistema Linux:gestione dell'account utente con UID e GID

  4. Monitoraggio della sicurezza in Linux con Tripwire

  5. Come lavorare con utenti e gruppi in Linux

Personalizzazione del mio terminale Linux con tmux e Git

Gestire i processi su Linux con kill e killall

Monitoraggio degli host Linux e Windows con Sguardi

Iniziare con GIT su Linux

Monitora l'attività dell'utente con lo strumento acct su Ubuntu 20.04

Monitoraggio della larghezza di banda su Linux con Nethogs