Como instalar a integração Nvoip no Zabbix
Última atualização: 23/10/2026
Este manual ensina a instalar manualmente o Webhook Nvoip alerts no Zabbix para enviar alertas por SMS, WhatsApp ou chamada de voz usando a API v3 da Nvoip.
A instalação manual funciona mesmo enquanto a integração aguarda publicação no Marketplace oficial do Zabbix. O arquivo é importado no seu próprio servidor Zabbix e as notificações são enviadas diretamente para a API da Nvoip.
Antes de começar
Você precisa de:
- Zabbix 7.0 ou 7.4;
- uma conta Nvoip ativa;
- credenciais OAuth da API v3 criadas no Painel Nvoip;
- o canal que será usado habilitado na conta;
- templates de SMS ou WhatsApp aprovados, quando usar esses canais;
- uma origem de chamada permitida, quando usar chamada de voz;
- acesso administrativo ao Zabbix para importar e configurar tipos de mídia.
As credenciais OAuth devem permitir somente os canais utilizados. O pacote suporta estes escopos:
| Canal | Escopo OAuth |
|---|---|
| SMS | sms:send |
whatsapp:send |
|
| Chamada de voz | call:make |
O arquivo distribuído pela Nvoip já solicita sms:send whatsapp:send call:make. Se sua operação usar apenas parte dos canais, remova somente os escopos que não serão utilizados.
Baixar o arquivo oficial
Baixe o arquivo media_nvoip.yaml na release oficial da Nvoip:
https://github.com/Nvoip/nvoip-zabbix/releases/tag/v1.1.0
Não copie credenciais para o arquivo YAML. Os campos sensíveis devem permanecer como macros secretas no Zabbix.
Importar no Zabbix
- Entre no Zabbix com uma conta administrativa.
- Acesse Alerts > Media types.
- Clique em Import.
- Selecione o arquivo
media_nvoip.yaml. - Mantenha Create new marcado.
- Confirme a importação.
- Abra o tipo de mídia Nvoip alerts.
O pacote é importado desabilitado e com nvoip_dry_run=1. Importar o arquivo não envia mensagens nem realiza ligações.
Cadastrar as credenciais OAuth
Antes de configurar o Zabbix, siga o manual Como gerar credenciais OAuth da API v3 no Painel Nvoip. Crie uma credencial do tipo client_credentials e selecione somente os escopos dos canais que serão utilizados.
Cadastre estas macros como Secret text ou Vault secret:
| Macro | Conteúdo |
|---|---|
{$NVOIP.OAUTH.CLIENT_ID} |
Client ID criado no Painel Nvoip |
{$NVOIP.OAUTH.CLIENT_CREDENTIAL} |
Client Secret exibido na criação da credencial |
O modo padrão é client_credentials. O Webhook obtém um token de curta duração em cada execução.
Nunca coloque o client ID, a credencial ou um token no assunto do alerta, na mensagem, no campo Send to, em prints ou em arquivos versionados.
Configurar o canal e o destinatário
Associe o tipo de mídia a um usuário do Zabbix. No campo Send to, informe o canal seguido do número em formato internacional, somente com dígitos:
sms:5511999999999
whatsapp:5511999999999
voice:5511999999999
O sinal + no início é opcional.
SMS
No Painel Nvoip, selecione e salve para a sua conta os templates aprovados:
zabbix_problema;zabbix_recuperado;zabbix_atualizado.
Informe os IDs das cópias da sua conta nas macros:
| Macro | Template |
|---|---|
{$NVOIP.SMS.PROBLEM_TEMPLATE_ID} |
problema |
{$NVOIP.SMS.RECOVERY_TEMPLATE_ID} |
recuperação |
{$NVOIP.SMS.UPDATE_TEMPLATE_ID} |
atualização |
O Webhook não usa texto livre como fallback. O template precisa estar ativo, aprovado e vinculado à mesma conta das credenciais OAuth.
Configure:
| Macro | Conteúdo |
|---|---|
{$NVOIP.WHATSAPP.INSTANCE} |
instância WhatsApp habilitada na conta |
{$NVOIP.WHATSAPP.TEMPLATE_ID} |
template WhatsApp aprovado para a conta |
O idioma padrão é pt_BR. Por padrão, o Webhook envia o assunto e a mensagem do alerta como duas variáveis de corpo. Se o template aprovado tiver outra quantidade ou ordem de variáveis, ajuste nvoip_whatsapp_body_1 até nvoip_whatsapp_body_6.
Chamada de voz
Configure {$NVOIP.VOICE.CALLER} com uma origem autorizada para a conta. Alertas de recuperação não geram chamada por padrão.
Testar sem enviar comunicação
Antes de ativar, mantenha nvoip_dry_run=1 e use Test no tipo de mídia.
Exemplo:
send_to=whatsapp:5511999999999
event_source=0
event_value=1
event_update_status=0
event_id=TESTE-ZABBIX
event_name=Teste de alerta
host_name=host-teste
event_severity=Warning
event_date=2026.10.23
event_time=12:00:00
O resultado esperado é status=dry_run. Nesse modo, o Webhook não autentica na API e não envia mensagem ou chamada.
Repita o teste com sms:, whatsapp: e voice: para conferir a configuração de cada canal que será utilizado.
Ativar com segurança
- Confirme que todos os testes em dry-run passaram.
- Verifique se nenhuma macro ainda mostra o placeholder
{$NVOIP...}. - Mantenha
attempts=1. Uma tentativa automática depois de uma resposta incerta pode repetir uma comunicação tarifável. - Altere
nvoip_dry_runpara0. - Habilite Nvoip alerts.
- Associe o tipo de mídia somente às actions e severidades desejadas.
- Faça o primeiro envio real apenas para um destinatário controlado e autorizado.
status=sent confirma que a API aceitou a solicitação. Esse estado, sozinho, não comprova o recebimento no aparelho.
Configuração inicial recomendada
| Canal | Severidades iniciais | Recuperação |
|---|---|---|
| SMS | Warning e Average | opcional |
| High e Disaster | opcional | |
| Chamada | Disaster; High apenas para plantão crítico | desabilitada por padrão |
Configure equipes, horários e destinatários diferentes em usuários e operações separadas do Zabbix. Não grave destinatários dentro do Webhook.
Atualizar a integração
Antes de importar uma versão nova:
- exporte o tipo de mídia atual como backup;
- registre as macros e associações utilizadas sem copiar os valores secretos;
- importe a nova versão com atualização do tipo existente;
- confirme que
nvoip_dry_run=1durante o primeiro teste; - reative somente depois de validar a configuração.
Remover ou reverter
- Desabilite as actions que usam Nvoip alerts.
- Desabilite e remova o tipo de mídia.
- Remova as macros secretas somente depois de confirmar que nenhuma outra integração as utiliza.
A instalação não exige migration, SQL, alteração de Security Group ou mudança de permissão de arquivos no servidor Zabbix.
Solução de problemas
Erro de escopo ou permissão no WhatsApp
Confirme que o cliente OAuth possui whatsapp:send, que a instância pertence à mesma conta e que o template está aprovado e ativo.
Macro obrigatória não configurada
Confira se todas as macros do canal foram criadas e se o valor não permaneceu como {$NVOIP...}.
SMS recusado com HTTP 200
O Webhook também valida a resposta funcional da API. Verifique se o template pertence à conta, está aprovado e recebe a quantidade correta de variáveis.
Erro temporário ou limite de requisições
Respostas 408, 425, 429 e 5xx são classificadas como temporárias. Confira o histórico da action e reconcilie o resultado antes de repetir manualmente, evitando comunicações duplicadas.
Suporte
Para confirmar os canais habilitados ou receber ajuda na configuração, abra um chamado na Central de Ajuda Nvoip:
https://suporte.nvoip.com.br/portal/pt/newticket
Projeto e histórico de versões:
https://github.com/Nvoip/nvoip-zabbix