Zabbix en Linux - frechdesign.free.frfrechdesign.free.fr/a/manual_zabbix.pdf · Zabbix en Linux...

9
Zabbix en Linux Zabbix es un programa para monitorear los recursos de un equipo en forma remota que consume pocos recursos, permite centralizar la información en un servidor que permite visualizar el monitoreo de multiples hosts, cuenta con una interfaz de administración vía web y para acabarla nos avisa por correo electrónico cuando hay algún problema con alguno de los host's. Requisitos Los requisitos de software para utilizar zabbix son: apache 1.3.12 o superior (trabaja con 2.x) mysql 3.22 en adelante o PostgreSQL 7 o mayor PHP4 o superior (necesita modulo GD para generar las gráficas) las librerías NET-SNMP son necesarias para el server para instalarlo a partir del código fuente es necesario GCC Referencias La versión estable de zabbix es la 1.1 Zabbix puede ser descargado de: http://www.zabbix.com o directamente: http://superb-east.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.1.4.tar.gz La documentación esta en: http://www.zabbix.com/manual/v1.1/ ¿Como trabaja zabbix? Zabbix consta de 2 partes, el agente y el server. El server recopila la información que generan los agentes, la muestra y almacena en la base de datos seleccionada durante su instalación y configuración. Este trabaja en el puerto 10051 pero se puede cambiar. Los agentes se encargan de enviar al servidor zabbix toda la información que se esta monitoreando.

Transcript of Zabbix en Linux - frechdesign.free.frfrechdesign.free.fr/a/manual_zabbix.pdf · Zabbix en Linux...

Zabbix en Linux

Zabbix es  un programa para monitorear   los   recursos  de un equipo en forma remota que consume  pocos   recursos,   permite   centralizar   la   información   en  un   servidor   que  permite visualizar el monitoreo de multiples hosts, cuenta con una interfaz de administración vía web y para acabarla nos avisa por correo electrónico cuando hay algún problema con alguno de los host's.

Requisitos

Los requisitos de software para utilizar zabbix son:

● apache 1.3.12 o superior (trabaja con 2.x)● mysql 3.22 en adelante o PostgreSQL 7 o mayor● PHP4 o superior (necesita modulo GD para generar las gráficas)

las librerías NET­SNMP son necesarias para el serverpara instalarlo a partir del código fuente es necesario GCC

Referencias

La versión estable de zabbix es la 1.1

Zabbix puede ser descargado de:

http://www.zabbix.com

o directamente:

http://superb­east.dl.sourceforge.net/sourceforge/zabbix/zabbix­1.1.4.tar.gz

La documentación esta en:

http://www.zabbix.com/manual/v1.1/

¿Como trabaja zabbix?

Zabbix consta de 2 partes, el agente y el server. 

El server recopila la información que generan los agentes, la muestra y almacena en la base de datos seleccionada durante su instalación y configuración. Este trabaja en el puerto 10051 pero se puede cambiar.

Los agentes se encargan de enviar al servidor zabbix toda la información que se esta monitoreando.

Instalación

Sera necesario cubrir todos los requisitos de software primero.

Ya que descargamos el código fuente de zabbix vamos a compilarlo, el tarball nos ofrece varias opciones, lo mas importante es que podemos elegir entre si creamos el server, el agente o los dos. Esta capacidad nos permite compilar el server en la maquina principal y luego en cada host que sera monitoreado ir compilando agentes nada mas, o compilar un agente único e ir instalándolo en cada equipo.

Descomprimimos el codigo fuente

$ sudo ­s# tar ­xvzf zabbix­1.1.4.tar.gz# cd zabbix­1.1.4/

Configurando el hambiente para el servidor zabbix

El servidor de bases de datos (MySql, PostgreSQL u Oracle) debe estarse ejecutando y debemos tener acceso root o a una cuenta validad con permisos para crear bases de datos en nuestro servidor:

MySQL:

# mysql ­u usuario ­p# create database zabbix; # quit; # cd create/mysql # cat schema.sql |mysql ­u usuario ­p zabbix# cd ../data # cat data.sql |mysql ­u usuario ­p zabbix# cat images.sql |mysql ­u usuario ­p zabbix

PostgreSQL:

# psql ­U usuario# create database zabbix; # \q # cd create/postgresql # cat schema.sql|psql ­U usuario zabbix # cd ../data # cat data.sql|psql ­U usuario zabbix# cat images_pgsql.sql |psql ­U usuario zabbix

Ya estamos listos :D vamos a compilar ...

Parámetros de compilación

   ­­enable­static         enlaza las librerías para dar portabilidad a la aplicación, de esta manera podremos moverla.

­­enable­server         con este parámetro compilaremos el server­­enable­agent  nos da el binario del agente que podremos ir instalando en los hosts

­­with­ucd­snmp=DIR es necesario para construir el server, DIR es la ruta de acceso a las librerías SNMP, se puede omitir en caso de que las librerías se encuentren en el PATH del sistema.

Nota: En debian podemos instalar el soporte SNMP de la siguiente forma:# apt­get install libsnmp9 libsnmp9­dev

­­with­oracle=DIR      Si utilizaremos Oracle como servidor de bases de datos para zabbix­­with­mysql=DIR      Si vamos a utilizar MySql­­with­pgsql=DIR  Soporte para PostgreSQL

Nota: De nuevo DIR solo es necesario si el servidor gráfico lo tenemos instalado en una ruta diferente a la estandard en la distribución o si no esta en los PATH's.

Para ver los parámetros completos tecleamos:

#./configure ­­help

Compilando el server y el agente

# ./configure  ­­enable­server ­­enable­agent ­­with­mysql ­­with­net­snmp# make# make install

Después de un cafecito ... esta listo, ya podemos continuar configurando zabbix.

Creamos el directorio de configuración:

# mkdir /etc/zabbix

Creamos el usuario y el grupo para zabbix:

groupadd zabbixadduser zabbix:zabbix

Copiamos los archivos preconfigurados:

# cp misc/conf/* /etc/zabbix/

Configurando el server

Editamos en el archivo zabbix_server.conf la información de la base de datos y si lo deseamos el puerto de escucha.

Copiamos la interfaz gráfica a apache para poder administrar zabbix desde ahi:

# cp ­rf frontends/php /usr/local/apache2/htdocs/zabbix

Configurando el agente

editamos /etc/services y agregamos las siguientes 2 lineas para registrar el tipo de servicio que se usara en esos puertos:

zabbix_agent 10050/tcpzabbix_trap 10051/tcp

El agente se encuentran en 2 formas, el demonio y el binario para inetd, debemos elegir en cual de los modos correremos zabbix, si elegimos el demonio, estara trabajando todo el tiempo y si llega a caerse tendremos que levantarlo a mano, si elegimos inetd se activara cuando inetd detecte una petición en ese puerto a ese servicio, para este caso necesitamos editar el archivo /etc/inetd.conf y agregar la linea siguiente:

zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent

posteriormente reiniciamos inetd:

# /etc/init.d/inetd restart

El equipo de desarrollo de zabbix recomienda utilizar el demonio en lugar de inet.

Para configurar el agente editamos /etc/zabbix/zabbix_agent.conf o /etc/zabbix/zabbix_agentd.conf dependiendo si elegiste demonio o inetd.

En este archivo solo necesitamos configurar la ip de la maquina donde se encuentra el servidor zabbix corriendo:

Server=127.0.0.1

¿Listos para arrancar?

Y bien aqui vamos, ejecutemos todo :D

# zabbix_server# zabbix_agentd

Nota: apache y el servidor de bases de datos deben estar corriendo antes de ejecutar  zabbix.

Comprobando que ambos procesos arrancaron:

# ps ­A |grep zabbix 7775 ?        00:00:00 zabbix_server 7777 ?        00:00:00 zabbix_server 7778 ?        00:00:00 zabbix_server 7779 ?        00:00:00 zabbix_server 7780 ?        00:00:00 zabbix_server 7783 ?        00:00:00 zabbix_server 7784 ?        00:00:00 zabbix_server 7785 ?        00:00:00 zabbix_server 7786 ?        00:00:00 zabbix_server 7790 ?        00:00:00 zabbix_server 7791 ?        00:00:00 zabbix_server 7805 ?        00:00:00 zabbix_agentd 7806 ?        00:00:00 zabbix_agentd 7807 ?        00:00:00 zabbix_agentd 7808 ?        00:00:00 zabbix_agentd 7809 ?        00:00:00 zabbix_agentd 7810 ?        00:00:00 zabbix_agentd

Si tenemos problemas podemos consultar el archivo de log para diagnosticar el problema:

# cat /tmp/zabbix_agentd.log# cat /tmp/zabbix_server.log

IMPORTANTE: NO EJECUTES EL DEMONIO DEL AGENTE SI CONFIGURASTE INETD.

Compilando únicamente el agente

# ./configure ­­enable­agent# make# make install

Ahora solo configuramos el agente como se explico arriba.

Usando zabbix

Abrimos nuestro navegador web favorito, en mi caso firefox y entramos a:

http://localhost/zabbix

Tendremos una interfaz como la siguiente:

El usuario por dececto para hacer el login es admin y no tiene ninguna contraseña.

Dando de alta un host

Nos dirigimos a la pestaña de "configuration", aquí se listan los hosts asociados que tienen un agente zabbix corriendo:

Damos click en "Create Host" en la parte superior izquierda:

Los campos importantes son el Template (seleccionaremos Unix_t) y la ip, esta ip es la del host con el agente.

Listo, podemos ir a la pestaña de “Monitoring”:

Si lo deseas puedes consultar en las opciones de “Graph” una gráfica con los resultados de un estado, en este caso voy a checar el uso de /var que es donde se almacenan los enormes logs generados día a día de este servidor de producción.

Finalmente la carga del procesador:

Creado por gaper http://icenetx.net BLOG: http://gaper.icenetx.net Mail: [email protected] 

Este documento es de libre distribución siempre y cuando se respete la información del autor.