Hay muchas aplicaciones de monitoreo para servidores, y han hecho mucho para ayudar a la adopción de Linux con administradores de sistemas que no están acostumbrados a la Terminal o que tienen una necesidad real de representaciones gráficas de datos. Sin embargo, Linux ha sido un sistema multiusuario desde el principio, y UNIX mucho antes, por lo que existen herramientas integradas que se remontan a 40 años para ayudarlo a monitorear quién ha iniciado sesión en su servidor, quién está usando recursos y para qué.
No tienes que ser paranoico o incluso entrometido para justificar el mantener una estrecha vigilancia en un servidor que se ha hecho tu responsabilidad. El paquete psacct contiene varios comandos para recopilar informes detallados sobre el estado y la actividad del usuario.
accton
No todos los comandos en acct
Las utilidades requieren que active la contabilidad, pero muchas lo hacen. Si tiene la intención de utilizar acct
comandos, debe habilitar la contabilidad con el accton
comando.
Para activar:
$ sudo accton on
De forma predeterminada, los registros contables se almacenan en /var/account/pacct
. Es factible que este archivo se vuelva bastante grande, así que use logrotate
o una herramienta similar para garantizar una gestión de registros adecuada.
Para desactivar la contabilidad:
$ sudo accton off
ac
El ac
El comando imprime estadísticas sobre los tiempos de conexión. Si necesita obtener una descripción general de la actividad de los usuarios en un sistema, --individual-totals
opción proporciona eso. Genera su reporte en horas basado en inicios y cierres de sesión registrados en el /var/log/wtmp
archivo.
El archivo de contabilidad wtmp
es mantenido por init(8)
y login(1)
pero tampoco ac
o login
en realidad crea el archivo. Si wtmp
no existe, entonces no se genera ningún informe, pero puede señalar ac
a una ubicación alternativa usando el --file
opción. Si un wtmp
archivo no existe en su sistema, puede crear un wtmp
vacío para habilitar la generación de informes en su sistema.
Para obtener un informe sobre los tiempos de inicio de sesión de usuarios individuales:
$ ac --individual-totals
seth 20.16
larry 43.60
curly 10.32
moe 35.11
También puede obtener totales diarios:
$ 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
últimacomunicación
El lastcomm
comando muestra los últimos comandos emitido en el sistema para un usuario determinado. Si no se especifica ningún usuario, se genera un informe sobre el usuario actual.
$ 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
Los comandos enumerados por lastcomm
no son necesariamente comandos que un usuario lanzó de forma interactiva. Por ejemplo, simplemente al iniciar sesión, un usuario genera casi 40 elementos en la salida de lastcomm
, por lo que puede ser abrumador. Junto con grep
, sin embargo, es una manera fácil de tener una idea del historial de sesiones de un usuario.
sa
El sa
El comando resume la información contable derivada del /var/account/pacct
expediente. Si está auditando las actividades de los usuarios, entonces --print-users
opción imprime el nombre de usuario antes de cada comando:
$ 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
Alternativamente, puede obtener solo un resumen para cada usuario:
$ 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
[...]
Las columnas mostradas, además de los nombres de usuario, informan sobre la CPU (tiempo real y tiempo de la CPU), operaciones de E/S por comando (promedio y total), etc. Se pueden configurar usando opciones como --sort-tio
para t E/S totales , --sort-cpu-avmem
para ordenar el tiempo de CPU por uso promedio de memoria, y así sucesivamente. Todos los filtros de clasificación se pueden invertir con --reverse-sort
opción.
Perfil de usuario
Combinado con herramientas como who, w y ps, puede tener una idea de cómo los usuarios están gastando los recursos del sistema, qué comandos pueden ser problemáticos y qué actualizaciones del servidor podrían ser útiles en el futuro. Porque la acct
suite está basado en terminal, puede ser utilizado por otras herramientas, lo que le permite crear un mecanismo de informes personalizado.
[ ¿Quiere probar Red Hat Enterprise Linux? Descárgalo ahora gratis. ]