En este artículo configuraremos un servidor para que Zabbix pueda ejecutar comandos remotos cuando se cumplan ciertas condiciones.
Habilitar la ejecución de comandos remotos
En el servidor donde queremos que Zabbix pueda ejecutar comandos remotos, es necesario editar el fichero de configuración del agente.
Abrimos el archivo:
# vi /etc/zabbix/zabbix_agentd.conf
Decomentamos o añadimos la siguiente línea:
AllowKey=system.run[*]
Guardamos los cambios y reiniciamos el agente:
# systemctl restart zabbix-agent
Dar permisos al usuario zabbix
El agente Zabbix se ejecuta con el usuario del sistema zabbix. Para que este usuario pueda ejecutar comandos remotos, debemos darle permisos con sudo.
Ejecutamos:
# visudo
Y añadimos la siguiente línea al final:
zabbix ALL=NOPASSWD: ALL
Con esto, el usuario zabbix podrá ejecutar comandos remotos sin necesidad de contraseña.
Añadir plantillas al equipo
Antes de crear una acción automática, necesitamos Iniciadores que se activen cuando se cumplan ciertas condiciones. Se pueden crear iniciadores personalizados o usar plantillas ya creadas. Para este ejemplo, usaremos una ya creada llamada Apache by Zabbix agent para reiniciar el servicio de Apache cuando este esté caído.
En la interfaz de Zabbix, vamos a Monitorización → Equipos y seleccionamos el equipo del agente. En el desplegable que se abre presionamos Equipo:
En la nueva ventana, seleccionamos Apache by Zabbix agent en el campo de Plantillas y actualizamos el Equipo:
De esta forma, Zabbix podrá comprobar si el servicio está caído y disparar la alerta correspondiente.
Crear un comando en Zabbix
Ahora vamos a definir el comando que reiniciará Apache cuando se cumpla la condición.
Vamos a Alertas → Comandos y hacemos clic en el botón azul de la parte superior derecha Crear comando.
En la ventana de creación del Comando, designamos un nombre descriptivo, por ejemplo: Restart Apache:
En Tipo, seleccionamos Comando y en Instrucciones, introducimos el comando que reinicia Apache:
sudo /etc/init.d/apache2 restart
Crear una acción en Zabbix
Por último, configuramos la acción que ejecutará el comando cuando el servicio Apache esté caído.
Vamos a Alertas → Acciones → Acciones de iniciador y hacemos clic en el botón azul Crear acción.
En la ventana de Nueva acción le ponemos un nombre, por ejemplo: Apache está caído.
En Condiciones, hacemos clic en Agregar y añadimos la condición seleccionando en Iniciadores Apache: Service is down:
En la pestaña Operaciones, seleccionamos en el desplegable el comando Restart Apache creado en el paso anterior.
Marcamos la casilla Equipo actual y la agregamos.
Con esta configuración, Zabbix reiniciará automáticamente Apache en tu servidor en caso de fallo, asegurando la continuidad del servicio sin intervención manual:
Si tienes cualquier duda sobre la configuración de tu servidor cloud o sobre Zabbix, escríbenos a soporte@clouding.io. Nuestro equipo de Soporte estará encantado de ayudarte.