Si no está satisfecho con los tipos de medios existentes para enviar alertas, existe una forma alternativa de hacerlo. Puede crear un script que maneje la notificación a su manera.
Los scripts de alerta personalizados se ejecutan en el servidor Zabbix. Estos scripts deben ubicarse en el directorio especificado en el parámetro AlertScriptsPath del archivo de configuración del servidor.
Aquí hay un ejemplo de un script de alerta personalizado:
#!/bin/bash
to=$1
subject=$2
body=$3
host=$4
value=$5
cat <<EOF | mail -s "$subject" "$to"
$body
Equipo: $host
Valor: $value
EOF
Zabbix verifica el código de salida de los comandos y scripts ejecutados. Cualquier código de salida diferente de 0 se considera un error de ejecución de comando. En tales casos, Zabbix intentará repetir la ejecución fallida.
Las variables de entorno no se conservan ni se crean para el script, por lo que deben manejarse explícitamente.
Para configurar scripts de alerta personalizados como un tipo de medio:
La pestaña Tipo de medio contiene los atributos generales del tipo de medio:
Todos los campos obligatorios están marcados con un asterisco rojo.
Los siguientes parámetros son específicos para el tipo de medio de script:
Parámetro | Descripción |
---|---|
Nombre del script | Introduzca el nombre del archivo de script (por ejemplo, notification.sh) que se encuentra en el directorio especificado en el parámetro de configuración del servidor AlertScriptsPath. |
Parámetros del script | Agregue parámetros de script opcionales que se pasarán al script como argumentos de línea de comandos en el orden en que se definan. Los parámetros de script admiten las macros {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} y todas las macros que se admiten en las notificaciones, así como las macros de usuario. |
Consulte parámetros comunes de tipo de medio para obtener detalles sobre cómo configurar mensajes predeterminados y opciones de procesamiento de alertas.
Incluso si un script de alerta no utiliza mensajes predeterminados, las plantillas de mensaje para los tipos de operación utilizados por este tipo de medio aún deben definirse. De lo contrario, no se enviará una notificación.
Si se configura más de un tipo de medio de script, estos scripts pueden ser procesados en paralelo por los procesos de alerta. El número total de procesos de alerta está limitado por el parámetro StartAlerters
en el archivo de configuración del servidor.
Para probar un tipo de medio de script configurado:
Localice el script relevante en la lista de tipos de medios.
Haga clic en Probar en la última columna de la lista; se abrirá un formulario de prueba en una ventana emergente. El formulario de prueba contendrá el mismo número de parámetros que están configurados para el tipo de medio de script.
Edite los valores de los parámetros del script si es necesario. La edición solo afecta al procedimiento de prueba; los valores reales no se cambiarán.
Haga clic en Probar.
Al probar un tipo de medio de script configurado, {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} y las macros de usuario se resolverán a sus valores, pero las macros relacionadas con eventos (por ejemplo, {HOST.HOST}, {ITEM.LASTVALUE}, etc.) no se resolverán, ya que durante la prueba no hay un evento relacionado del que obtener los detalles. Tenga en cuenta que las macros dentro de las macros {ALERT.SUBJECT} y {ALERT.MESSAGE} tampoco se resolverán. Por ejemplo, si el valor de {ALERT.SUBJECT} se compone de "Problema: {EVENT.NAME}", entonces la macro {EVENT.NAME} no se resolverá.
Una vez que el tipo de medio esté configurado, vaya a la sección Usuarios → Usuarios y edite el perfil de un usuario asignando este tipo de medio al usuario. Los pasos para configurar los medios de usuario, que son comunes para todos los tipos de medios, se describen en la página Tipos de medios.
Tenga en cuenta que al definir los medios de usuario, el campo Enviar a no puede estar vacío. Si este campo no se utiliza en el script de alerta, introduzca cualquier combinación de caracteres admitidos para evitar los requisitos de validación.