Usando o Sender-API para Zabbix

Olá pessoal, hoje vou falar de um micro serviço que criei para simplificar o uso do Zabbix sender, criando um webhook (API), para que você consiga enviar as suas métricas.Aqui vou colocar um “how to” de como seguir mas lembre, quanto mais experiência você tiver com o Zabbix maiores são as possibilidades desse método (Preprocessing!).

Mas o que é o Sender API for Zabbix
É um componente criado para facilitar o uso do recurso “sender” da Ferramenta de monitoramento Zabbix.

“O sender se trata de uma lib. que pode ser integrada diretamente no código para enviar métricas para o Zabbix”

Por muitas vezes é necessário fazer diversas homologações e testes para adicionar novos recursos para a aplicação o que pode inviabilizar uma integração com recursos terceiros ou em alguns casos quando skill técnicos são necessários.

Com o Sender API for Zabbix é necessário apenas apontar para o endpoint (API), disponibilizado passando algumas informações para o host/item

E o valor da métrica será enviado ao Zabbix sem a necessidade de lib. ou pacotes no código da sua
aplicação, poderá ser chamado de qualquer lugar com suporte a http.

How to use

É necessário ter um host e item do tipo zabbix trapper para ser passado no body ao realizar o post, a descrição está descrita abaixo:


Criar um host no Zabbix

– Em configurações / Hosts / Create host

Defina um nome e adicione a um grupo (demais opções conforme a sua necessidade).

– No exemplo estou colocando o nome Sender, ao finalizar clique em add.

Agora crie um template com o nome desejado.

– Em Templates/Create Template

Acesse novamente o template e crie o item conforme imagens a seguir.

Create Item:

No exemplo acima incluímos o nome para o item, o tipo como Zabbix Trapper (que permite receber dados da API) e a chave (este que é o identificador para a métrica).

Tipo de informação pode ser definido conforme a sua necessidade o Sender API pode enviar Strings ou valores numéricos para o Zabbix, porem o mesmo será interpretado conforme o tipo definido, ressaltando que existem formas para alterar o tipo de dado e ou estrutura usando Preprocessing (não discutidos neste documento).

Agora adicione o template ao host criado no primeiro step.


Atualize e agora vamos usar o microserviço do Sender API, neste exemplo será configurado no Docker.

Faça o download da imagem no Docker Hub:

– docker push rafasera/sender-api-zbx:latest

Inicie a mesma conforme imagem e descrição abaixo

Aqui foi exposta a porta 80

Em API_URL informe o endereço do Zabbix.

Em API_PORT informe a porta do seu Zabbix, default é 10051

Após isso aguarde inicializar.

“OBS você pode encontrar o mesmo tutorial acessando o container no caminho default que definiu no meu caso seria a localhost”


Por fim vamos utilizar o Sender-API

“Eu vou usar o Programa Postman para efetuar as requests”

Abra o Postman e acesse a rota:

– https://filgs.com.br/api/v1/zabbix-sender

Tipo:

– POST

Body:

Obs.

– O endereço localhost foi atribuído pelo docker ressaltando que estou usando localmente.

– O body deve conter o host criado no Zabbix para receber a métrica

– A chave do Item (key)

– E o valor da métrica que pode ser enviado por outra ferramenta ou aplicação.

Não havendo problemas de estrutura ou comunicação com o Sender-API receberá a mensagem de sucesso.

Em seguida a métrica enviada chegara no seu Zabbix.

CATEGORIES:

API-Zabbix

No responses yet

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Latest Comments