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 tipo de mídia:
- Acesse Alertas > Tipos de mídia.
- Clique em Criar tipo de mídia.
- Insira os parâmetros do tipo de mídia de scripts no formulário.
A aba Tipo de mídia 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 do tipo de mídia de script:
| Parâmetro | Descrição |
|---|---|
| Nome do script | Insira o nome do arquivo de script (por exemplo, notification.sh) localizado no diretório especificado no parâmetro de configuração do server AlertScriptsPath. |
| Parâmetros do script | Adicione parâmetros opcionais do script, que serão passados para o script como argumentos de linha de comando na ordem em que forem definidos. Os parâmetros do script são compatíveis com as macros {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} e todas as macros compatíveis com notificações, bem como com as 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 templates de mensagem para os tipos de operação usados por esse tipo de mídia ainda deverão ser definidos. Caso contrário, uma notificação não será enviada.
Se mais de um tipo de mídia de script estiver configurado, esses scripts poderão ser processados em paralelo pelos processos alerter.
O número total de processos 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 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, que são 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.