Utilidades esenciales para un SysAdmin
El principal “problema” que tiene un Administrador de sistemas, es mantener controlados a los usuarios, que por algun motivo, ya sea por desconocimiento o porque directamente no les importa lo que estan haciendo (por suerte en mi caso estos son los menos), en ocasiones desde el dpto nos vemos obligados a ser autenticos detectives en busqueda de los origenes de los problemas.
Quiero aprovechar este post, para que todos los que en algun momento perseguimos usuarios, podamos tener unos puntos básicos de partida.
Empezaré por los comandos más evidentes e ire avanzando un poco, como ya os dije, son comandos muy basicos pero que a veces se nos pasan de largo.
- ps -feaux : Este comando es el primero que cualquier administrador de sistemas tendrá a mano, rapidamente nos sale una lista en forma de arbol de todos los procesos que estan corriendo en la máquina local, este ejemplo nos sirve para saber si hay algun proceso huerfano, si existen procesos zombies consumiendo, etc…
- top : Otro tambien básico, un comando a pantalla completa, que se actualiza constantemente como si fuera filtrado por un watch, y donde nos muestra, entre otros, la carga del sistema (load, cpu, idle…). Con este comando claramente podemos saber la carga del sistema, podemos conocer la memoria que consume un proceso y tambien, por supuesto, la cpu.
- vmstat : Otra utilidad a la que solemos recurrir, nos muestra informacion de memoria e incluso centrada en bloques IO, paginas,… quizá mas tecnica.
- w : Es san básico que casi se me pasa, comando para saber quien (who) está conectado, sirve para saber si un usuario anda haciendo ssh a lugares donde solo se puede computar. En nuestro caso, los nodos de calculo no permiten ssh (algun dia os contaré entonces como va el asunto)
- tail : No es un comando tan tecnico como los anteriores, quizá sea mas generalista. Este comando nos muestra el final del fichero, en concreto las 10 ultimas lineas, aunque con opciones como -n 100 (100 ultimas lineas), o con la mejor -f (se queda esperando que alguien o algo escriba en el fichero) muy util si por ejemplo queremos ejecutar algo en una terminal y mirar si escribe en el fichero
- free : Memoria libre, asi de sencillo
versiones actuales permiten la opcion -h (modo humano…) con lo que podemos verlo en Gigas o sino… siempre nos queda la opcion -k - iptraf : Quizá la mas tecnica, esta la usamos para saber quien esta, por ejemplo haciendo uso extensivo e intensivo de la red, y por lo general saturando el nfs y afectando al resto de usuarios. Iptraf es un generador de estadisticas (que NO snifer) donde se nos muestra la suma total de paquetes o bytes que se estan moviendo por un interface de red.
- strace : O como ver las tripas de un proceso corriendo, se puede lanzar seguido de -p y un pid o con el comando a ejecutar. No os asusteis del cascoporro de cosas que sueltan, porque al final se termina entendiendo cuando crea y cierra ficheros y si esta haciendo output o no
- kill : Bueno… como su nombre indica, nos sirve para matar procesos, pero no solo eso, tambien nos sirve para parar, reencolar, y muchas mas opciones. Muy interesante
Como veis, son ideas generales, como siempre, utilizar el man o -help antes de cualquier comando que no tengais claro, porque la podeis liar parda… como hacer un kill -9 al pid 1
Os dejo tambien este enlace para informacion mas detallada.
http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html




Muy buen post, algunos comandos los conocia, pero siempre viene bien saber que pasa en el server por si algun listillo la intenta liar o alguna script consume más cpu y memoria de lo necesario.
Yo marcaría top como deprecated en favor de htop. Iptraf está bien para las chicas, los hombres usamos tcpdump
Sergio, son comandos muy esenciales, pero a veces siempre se nos pasa alguno.
nico tanto tcp tanta historia… xD el iptraf directamente me dice quien usa que puerto y me va haciendo un count…
el htop si es cierto mola mil
Y yo me atrevería a añadir (hablando de vigilar a usuarios), el dmesg (porque siempre han tocado algo, y ese algo deja de funcionar) y sobre todo el history. Y por encima de todas las cosas, algo que un día me recomendó nico y que jamás dejaré de usar: screen.
Larga vida al inventor de screen.
Luego algo de lo que abuso hasta más no poder, con todos sus parámetros, es el grep, y variantes (agrep, fgrep…). Larga vida al grep también.
Como última aportación: pmap, para controlar de forma detallada la memoria que usa cada proceso
http://www.daemon-systems.org/man/pmap.1.html
Slackita: genial aportacion el pmap no lo conocia, soy mas de top y buscar ordenando por memoria (generalmente encuentro así al “culpable”)
por cierto, gracias por los comentarios!