3 Scripts de alerta personalizados
Visão geral
Se você não estiver satisfeito com os tipos de mídia existentes para enviar 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 server do Zabbix. 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 devem ser tratadas explicitamente.
Configuração
Para configurar scripts de alerta personalizados como um media type:
- Vá para Alerts → Media types.
- Clique em Create media type.
A aba Media type contém os atributos gerais do media type:

Todos os campos obrigatórios são marcados com um asterisco vermelho.
Os seguintes parâmetros são específicos para o media type de 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 user macros. |
Consulte common media type parameters 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 media type ainda devem ser definidos. Caso contrário, uma notificação não será enviada.
Se mais de um media type de 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.
Teste
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á o mesmo número 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 Usuários → Usuários 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, comuns a todos os tipos de mídia, estão descritas na página Tipos de mídia.
Observe que, ao definir a mídia do usuário, o campo Enviar para não pode ficar vazio. Se esse campo não for usado no script de alerta, insira qualquer combinação de caracteres suportados para ignorar os requisitos de validação.