Ya hemos hablado en varios post sobre cómo instalar y configurar Zabbix. En este post os vamos a explicar como sacarle más partido a nuestro servidor Zabbix, en concreto os enseñaremos como ejecutar comandos remotos para que Zabbix reinicie algún servicio en concreto si está fallando.
Configurar agente Zabbix
En el servidor que queremos que Zabbix pueda reiniciar servicios deberemos configurar el agente para que permita ejecución de comandos remotos. Para ello editaremos el fichero de configuración ejecutando: vi /etc/zabbix/zabbix_agentd.conf contenido a modificar o añadir:
EnableRemoteCommands=1
El agente Zabbix se ejecuta con el usuario zabbix por lo cual deberemos darle permisos para que pueda reiniciar servicios.
Crearemos el siguiente fichero: vi /etc/sudoers.d/zabbix_agent
Defaults:username !requiretty
zabbix ALL = (other_user) NOPASSWD: ALL
zabbix ALL = (root) NOPASSWD: ALL
Configurar servidor Zabbix
Para configurar que nuestro servidor Zabbix reinicie un servicio que esté fallando entraremos en “Configuración> Acciones” y en el desplegable que nos aparecerá arriba a la derecha “Origen del evento” elegiremos “Iniciadores” y le daremos al botón azul de “Crear Acción“. En el ejemplo que os ponemos reiniciaremos nuestro servidor apache en caso de que falle o esté caído. Hay que rellenar los campos como se muestra a continuación (La condición Trigger name ha de ser: HTTP service is down on) y pulsar al enlace de “Agregar”:
Una vez que ya hemos configurado la “Acción” entraremos a la pestaña “Operaciones” y en el apartado “Operaciones” pulsaremos sobre “Nuevo”. En “Operación a realizar” elegiremos “Comando remoto“. En “Target list” pulsaremos al enlace “Nuevo” en el desplegable de “Destino” seleccionaremos “Equipo Actual” y “Agregar”:
Ahora deberemos rellenar el campo “Instrucciones” con los siguientes comandos:
sudo service apache2 restart
sudo service httpd restart
Una vez rellenado los comandos pulsaremos al enlace azul “Agregar” y después al botón azul “Agregar”.
Zabbix-restart-service-4Si queremos reiniciar otro servicio deberemos repetir los pasos anteriores pero con el nombre de Trigger (Iniciador) que usa Zabbix, para saber el nombre que usa Zabbix entraremos en “Configuración > Plantillas” y nos aparecerá un listado. Para saber el Trigger de un servicio deberemos pulsar a “Iniciadores” de ese servicio.
Estos son los nombres de Trigger de los servicios más usados:
- IMAP service is down on
- POP service is down on
- SMTP service is down on
- FTP service is down on
- SSH service is down on
- MySQL is down