Llevo ya unos días pelándome con el centreon, una herramienta que mejora las funcionalidades de nagios, gracias a su gestión de las máquinas y la creación de gráficas. El problema de centreon pero es que su instalación es demasiado compleja, y hasta el momento lo he probado de instalar varias veces y cada una me salía una pijadita distinta, lo último ya era probar con otra distribución de gnu/linux, centOS, basada en redhat, pero en el proyecto preferimos tener las máquinas lo mas homogenizadas posible y el sistema preferido es debian.
Zabbix tiene la ventaja que está disponible en los repositorios de debian y su instalación es tan simple como un:
root@burnell:~# apt-get install zabbix-agent zabbix-server-mysql zabbix-frontend-php
Una cosa interesante a tener en cuenta es que zabbix también funciona sobre pgsql, simplemente tendríamos que instalar zabbix-server-pgsql en lugar de zabbix-server-mysql. Comentar que zabbix permite la conexión con otros servidores zabbix (desconozco si también en modo malla -todos comunicados con todos-). Los proxys zabbix permiten instalar un servidor zabbix en una red donde los servidores monitorizados no son accesibles por otros servidores zabbix.
Zabbix permite monitorizar servidores con snmp (versiones 1, 2 y 3*) pero también un agente que permite la ejecución de comandos en el caso que ocurra algun problema, por ejemplo se queda pillado el servidor apache y la unica solución que hay hasta el momento es reiniciarlo hasta que se localice el problema. El paquete zabbix-agent tendrá que instalarse en todas las maquinas que queramos auditar.
*recordar que la versión 3 es la que permite snmp con nombre de usuario y contraseña.
Zabbix-server-mysql es el servidor que recolectará todos los datos y zabbix-frontend-php nos proveerá un interfaz amigable donde podremos configurar fácilmente nuevas maquinas, templates predefinidos de zabbix, crear nuestros propios templates y los triggers, accionadores de alertas, avisos y si es preciso la ejecución de código. La ejecución de este código se hará como el usuario zabbix en la maquina remota, así que será preciso darle permisos de sudo para realizar ciertas acciones a este usuario.
Zabbix no tiene nagios por debajo, pero se puede buscar si hay alguna forma para que recolecte información de nagios o mandar las alertas a un nagios.
Una vez instalado accedemos al interfaz web:
http://ipdelservidor/zabbix
Nos pide un usuario y un password que son admin y zabbix. Lo recomendable justo entrar es cambiar este password. Arriba a la derecha en Profile.
Mientras vamos navegando vemos que en Reports > Status of zabbix, nos pide algunos cambios en el php.ini, así que los realizamos:
# vi /etc/php5/apache2/php.ini date.timezone = "Europe/Madrid" post_max_size = 16M max_execution_time = 300 max_input_time = 300
y reiniciamos el apache
# /etc/init.d/apache2 restart
Si vamos a configuration > hosts, nos aparece el server zabbix, la aplicación instala por defecto una configuración por defecto del servidor zabbix, entramos y le activamos la monitorización. Esperamos unos minutos y vamos a Configuration > Hosts > Zabbix Server y pulsamos a graphs. De forma inmediata a activar la monitorización de la máquina ha empezado a graficar y podemos ver de forma gráfica la evolución de nuestro server.
No cuento nada mas acerca de la configuración del interfaz del zabbix, es realmente intuitiva y creo que con un par de horitas de vuelo entendéis rápidamente como funciona, además de que así tengo excusa para otro post dentro de unos días :P
Una vez hemos visto la parte de configuración del servidor vamos a ver la parte del agente en otras maquinas.
Lo primero será instalar el agente zabbix:
root@v-captaincrunch:~# apt-get install zabbix-agent
y editamos el fichero de configuración /etc/zabbix/zabbix_agentd.conf y editamos los siguientes campos:
root@v-captaincrunch:~# vi /etc/zabbix/zabbix_agentd.conf Server=localhost,10.139.39.67 Hostname=v-captaincrunch #ListenIP=127.0.0.1
La primera línea es para indicarle qué ips vamos a dejar acceder al agente zabbix.
Hostname es el nombre que va identificar el server de zabbix a esta máquina.
ListenIP (lo dejamos configurado), va a servir para decirle a qué ip tiene que mandar las peticiones, esto es útil por si tenemos varias ips en la misma maquina y queremos auditarlas por esta interfaz.
Una vez realizados los cambios reiniciamos el agente zabbix
root@v-captaincrunch:~# /etc/init.d/zabbix-agent restart
Ahora tendremos que añadir este host al server zabbix, para ello vamos a Configuration > Hosts y a la derecha, dejamos “Host” y “Create Host”.
En name ponemos el nombre que le hemos indicado al agente zabbix, a group le sacamos del grupo de server zabbix y le decimos que es un “Linux servers”. El resto de información se sobreentiende, IPMI no sé muy bien que es, así que de momento lo dejo con el valor por defecto, desactivado.
Ahora el resto os lo dejo a vosotros, en un momento he podido crear unas preciosas gráficas de algunos de los templates y triggers que tiene por defecto y es impresionante :)
Buena guia! me gustaria que publicaras mas post sobre zabbix! actualmente me encuentro realizando pruebas con zabbix y me parece una excelente herramienta!