Herramientas para monitorear un servidor linux

Herramientas para monitorear un servidor linux

La mayoría del tiempo de un sysadmin (administrador de sistemas) se la pasa monitoreando. Especialmente si estas a cargo de muchos servidores necesitas herramientas que te hagan la tarea mas facil; a continuación comparto con ustedes herramientas que uso diariamente que me facilitan mi trabajo.

Monitoreo de ancho de banda

Esto es muy importante, ya que al monitorear cuanto ancho de banda consume un servidor en tiempo real podemos determinar cuales son sus horas pico y así optimizarlo. Para monitorear esto recomiendo el programa iptraf. Con este programa podrán monitorear todo lo que esta sucediendo en nuestra interface de red. Les adjunto algunas imágenes:

iptraf-iptm1

iptraf-gstat1

iptraf-dstat1

Monitoreo de consumo de CPU y Memoria

Otra de las tareas de un sysadmin es monitorear el consumo de CPU y Memoria (RAM y SWAP), linux viene con el comando “top”. A mi en lo personal no me gusta, así que uso el programa htop. Este programa es muy completo ya que nos detalla el consumo de CPU y Memoria por proceso, así como el consumo general de los recursos del sistema. Es mucho mas amigable a comparación del top normal. Incluso conforme se va usando el procesador o los núcleos del procesador el programa lo indica de una manera “gráfica” tal como lo muestra la siguiente imagen que tome de un servidor en producción:

htop

Monitoreo de consumo de disco duro

Cada cierto tiempo es necesario que entremos a revisar cuando espacio en disco hay libre en los servidores que manejamos. Para saber el espacio en disco duro se ejecuta el comando “df” en linux. A mi en lo personal no me gusta, prefiero uno mas “amigable” así que utilizo uno llamado discus. Este programa es que te indica cuanto espacio esta usado y cuando espacio hay libre, así como los porcentajes de los mismos. Aquí les adjunto una foto con la comparación del “df” con el “discus”.

discus

Monitoreo del I/O

Para que quede claro que es el I/O.

En computación, entrada/salida, también abreviado E/S o I/O (del original en inglés input/output), es la colección de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de información para comunicarse unas con otras, o las señales (información) enviadas a través de esas interfaces. Las entradas son las señales recibidas por la unidad, mientras que las salidas son las señales enviadas por ésta.

En términos mas “amigables” es la entrada y salida de datos, que en realidad significa actividad del disco duro. Entre mas sea la actividad de READ (lectura) y WRITE (escritura) mas alto va a ser el I/O y por consiguiente mas lento se pondrá el servidor. Por eso es que para servidores que van a servir sitios con mucho trafico, recomiendan discos duros SCSI o SAS por su alto rendimiento a comparación de otros discos duros (como por ejemplo IDE o SATA) por consiguiente su I/O va a ser menor y va a poder servir data mucho mas rapido.

Para monitorear el I/O yo utilizo la herramienta “iotop” (se necesita python 2.5 y un kernel 2.6.20 para que funcione) es una interfaz simple que indica que proceso esta escribiendo o leyendo en el disco duro, tal como lo muestra la siguiente imagen:

iotop

Monitoreo de peticiones de DNS

Si administras un servidor de DNS, en alguna ocasión vas a querer saber cuantas peticiones tu servidor de DNS tu servidor recibe. Para monitorear esto utilizo el programa dnstop con este se puede monitorear cuantas peticiones esta teniendo tu servidor ya sea por clase de dominio .net .org, direcciones ip, por dominio o por sub dominios.

Para ejecutarlo solo ejecutas el comando:

dnstop eth1

Tienes que especificar la interface en la cual quieres que “escuche” el programa. Presionando los botones de 1 2 3 4 puedes ver los diferentes tipos de reportes que tiene.

Adjunto imagen del programa:

dnstop

Monitoreo de trafico WEB

La mayoría de nosotros estamos a cargo de un servidor que sirve paginas web, es muy importante el monitoreo en tiempo real para saber que archivos estamos sirviendo, cuantas peticiones por segundo estamos manejando y el trafico que estamos teniendo (en megas). El servidor web mas usado es apache, yo utilizo la herramienta llamada “apachetop“.

Con este programa podemos monitorear que archivos servimos con mayor frecuencia, cuantos bytes/kylobytes/megabytes servimos, cuantas peticiones por segundo, peticiones totales y un promedio general de todo lo que sirve el apache.

Adjunto una imagen del apachetop corriendo en un servidor en producción:

apachetop

Monitoreo de puertos abiertos

Otra de las tareas de un sysadmin es estar al tanto de que puertos hay abiertos en un servidor. Como lo dice la regla, si un servicio no te sirve, quitalo del sistema. Para monitorear puertos uso la herramienta llamada nmap.

Con el comando:

nmap -v 127.0.0.1

Saque un listado de puertos abiertos en el servidor. Si su servidor tiene varias direcciones IP es importante que hagan un escaneo de puertos a todos los IP.

Adjunto imagen del resultado que muestra nmap:

nmap

Espero que les sirvan estas herramientas, así como estas hay miles de herramientas e incluso pueden haber mejores. Cualquier sugerencia/comentario es bienvenido.


bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark
tabs-top


9 Comentarios en “Herramientas para monitorear un servidor linux”

  1. Maldito Nerd says:

    Me llevo apachetop de la lista, no lo conocía, gracias!

    Ya que son bienvenidas las sugerencias, ¿Nunca intentaste con ntop? Desglosando el tráfico de un servidor es fenomenal… El hecho de que use gráficos además ayuda bastante a la hora de darse una idea generalizada del tráfico de la red.

    Algunas capturas de lo que puede hacer ntop para simplificarte la vida:

    http://images.google.com/images?hl=es&q=ntop&um=1&ie=UTF-8&sa=N&tab=wi

    Otro que uso bastante (y ya con la combinación de estos dos no necesito nada mas) es cacti. También con interface web pero con sensores para monitorear de todo un poco, desde hardware (uso de los discos, estado de los sensores de voltaje o temperatura, etc..) hasta tráfico en la red y carga del servidor.
    Como tiene soporte para snmpwalk se puede desde una sola instancia de cacti monitorear varios servidores (o estaciones de trabajo) juntas.

    http://www.cacti.net/screenshots.php

    Saludos!

  2. Alex-BL says:

    Muy buena selección de herramientas, la verdad que si facilitan el monitoreo de nuestros sistemas.

    Buena onda x compartir.

  3. Rolando says:

    @Maldito Nerd

    Gracias por compartir, ntop lo use hace mucho tiempo, tal vez hace unos 6 años. Muy buen programa. Tambien use cacti en el 2001 cuando trabajaba en un proveedor de internet.

    Saludos!

  4. Rolando says:

    Agregue el programa nmap! como se me pudo olvidar! lo siento! :-)

  5. Maldito Nerd says:

    nmap! cierto! junto con netcat que para comprobar el estado de ciertos servicios y hacer pruebitas, es vital :D

    Saludos!

  6. Will says:

    Excelente aporte muy buen articulo

  7. Ing-ale says:

    Muy chevere pero no he podido probarlas en un servidor con fedora 8 y es de 64 bits, me podrian ayudar???????????? probe iptraf y htop en uno de 32 pero en el de 64 no me deja instalarlos como hago???????

  8. Rolando says:

    @Ing-ale

    Que error te da cuanto tratas de ejecutarlos? creo que hay versiones que funciona en 64 bits.

  9. Adri says:

    Gracias por compartir estas herramientas.

Deja tu Comentario