3 Scripts de alerta personalizados
Visão geral
Se você não estiver satisfeito com os tipos de mídia existentes para o envio de alertas, há uma forma alternativa de fazer isso. Você pode criar um script que tratará a notificação do seu jeito.
Scripts de alerta personalizados são executados no Zabbix server. Esses scripts devem estar localizados no diretório especificado no parâmetro AlertScriptsPath do arquivo de configuração do server.
Aqui está um exemplo de um script de alerta personalizado:
#!/bin/bash
to=$1
subject=$2
body=$3
host=$4
value=$5
cat <<EOF | mail -s "$subject" "$to"
$body
Host: $host
Value: $value
EOF
O Zabbix verifica o código de saída dos comandos e scripts executados. Qualquer código de saída diferente de 0 é considerado um erro de execução de comando. Nesses casos, o Zabbix tentará repetir a execução com falha.
Variáveis de ambiente não são preservadas nem criadas para o script, portanto elas devem ser tratadas explicitamente.
Configuração
Para configurar scripts de alerta personalizados como um tipo de mídia:
- Vá para Alerts → Media types.
- Clique em Create media type.
A aba Media type contém os atributos gerais do tipo de mídia:

Todos os campos de entrada obrigatórios são marcados com um asterisco vermelho.
Os parâmetros a seguir são específicos para o tipo de mídia script:
| Parameter | Description |
|---|---|
| Script name | Digite o nome do arquivo de script (por exemplo, notification.sh) que está localizado no diretório especificado no parâmetro de configuração do server AlertScriptsPath. |
| Script parameters | Adicione parâmetros opcionais do script que serão passados ao script como argumentos de linha de comando na ordem em que forem definidos. Os parâmetros do script suportam macros {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} e todas as macros suportadas em notificações, bem como macros de usuário. |
Consulte parâmetros comuns de tipo de mídia para obter detalhes sobre como configurar mensagens padrão e opções de processamento de alertas.
Mesmo que um script de alerta não use mensagens padrão, os modelos de mensagem para os tipos de operação usados por este tipo de mídia ainda devem ser definidos. Caso contrário, uma notificação não será enviada.
Se mais de um tipo de mídia script estiver configurado, esses scripts podem ser processados em paralelo pelos processos de alerter.
O número total de processos de alerter é limitado pelo parâmetro StartAlerters do arquivo de configuração do server.
Testando
Para testar um tipo de mídia de script configurado:
-
Localize o script relevante na lista de tipos de mídia.
-
Clique em Test na última coluna da lista; um formulário de teste será aberto em uma janela pop-up. O formulário de teste conterá a mesma quantidade de parâmetros configurados para o tipo de mídia de script.
-
Edite os valores dos parâmetros do script, se necessário. A edição afeta apenas o procedimento de teste; os valores reais não serão alterados.
-
Clique em Test.

Ao testar um tipo de mídia de script configurado, {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} e macros de usuário serão resolvidos para seus valores, mas macros relacionadas a eventos (por exemplo, {HOST.HOST}, {ITEM.LASTVALUE}, etc.) não serão resolvidas, pois durante o teste não há um evento relacionado do qual obter os detalhes. Observe que macros dentro de macros {ALERT.SUBJECT} e {ALERT.MESSAGE} também não serão resolvidas. Por exemplo, se o valor de {ALERT.SUBJECT} for composto por "Problem: {EVENT.NAME}", então a macro {EVENT.NAME} não será resolvida.
Mídia do usuário
Depois que o tipo de mídia estiver configurado, vá para a seção Users → Users e edite um perfil de usuário atribuindo esse tipo de mídia ao usuário. As etapas para configurar a mídia do usuário, sendo comuns a todos os tipos de mídia, estão descritas na página Media types.
Observe que, ao definir a mídia do usuário, o campo Send to não pode ficar vazio. Se esse campo não for usado no script de alerta, insira qualquer combinação de caracteres suportados para contornar os requisitos de validação.