O documento apresenta duas ferramentas do Zabbix: UserParameter e Zabbix Sender. UserParameter permite monitorar métricas customizadas através de scripts, enquanto Zabbix Sender envia dados para itens configurados no servidor Zabbix. Ambas as ferramentas requerem configuração de itens e chaves correspondentes no servidor Zabbix.
2. Quem sou eu
André (Luis Boni) Déo
Fundador da Comunidade Zabbix Brasil
Co-Autor do Livro de A a Zabbix
Administrador de Redes, Professor Universitário, Membro da Comunidade
OpenSource, Mestrando em Eng. Elétrica – PUC Campinas.
@deoandre andredeo@gmail.com
http://andredeo.blogspot.com
9. UserParameter
Pré-requisitos
O usuário zabbix deve possuir permissão de execução
no script, nos comandos invocados e nos diretórios
envolvidos.
No caso do Windows, é o usuário que inicia o serviço do
Zabbix Agent
12. UserParameter
E agora?
Desenvolva um script que crie um txt
Agende o script no crontab / agendador de tarefas
Faça um UserParameter apenas para dar um cat / type
no txt gerado pelo script
13. Zabbix Sender
Visão Geral
zabbix_sender é um utilitário de linha de comando para
envio de dados para um servidor Zabbix
No servidor Zabbix o item deve ser do tipo Zabbix
trapper
14. Zabbix Sender
Visão Geral
A chave criada para o item deve ser a mesma utilizada
no comando
O item só aceita receber dados de quem é o responsável
pelo host:
Se o host é monitorado via Proxy, o
zabbix_sender deve partir do Proxy!
17. Zabbix Sender
Vantagens na Utilização
Em situações onde o tempo de execução do script pode
variar bastante:
Consulta a banco de dados;
Backup;
Consulta de dados na web/sistemas de terceiros.
19. # crontab -e
# Envia cotaçao do dolar para o Zabbix
*/5 * * * *
/Scripts/Scripts_Zabbix/dolar.sh
Zabbix Sender
Aqui o tempo varia de acordo com o Script, poderia ser
1 vez ao dia, por exemplo.
20. Zabbix Sender
Visão Geral – Envio de dados em lote
Podemos enviar dados em lote especificando a data e
hora, inclusive no passado, utilizando o formato Unix
timestamp1
Excelente recurso para migração / integração de
soluções e envio de dados em grandes quantidades
1 https://www.epochconverter.com
21. Zabbix Sender
Sintaxe
zabbix_sender -z <IP_Server> -T -i <Arquivo_de_Dados>
Cada linha do arquivo contém os seguintes campos,
delimitados por espaço em branco:
<hostname> <chave> <timestamp> <valor>
22. Zabbix Sender
Visão Geral - Bibliotecas
O Zabbix Sender pode ser implementado via bibliotecas,
por exemplo em Python2
Aumenta ainda mais as possibilidades!!
2 https://github.com/adubkov/py-zabbix
23. Zabbix Sender
Sintaxe
...
# Importa as bibliotecas
from pyzabbix import ZabbixSender,ZabbixMetric
...
# Define as chaves dos itens no Zabbix
L1=["temperatura", "umidade", "RSSIu", "RSSId"]
# Define as variáveis do Script que alimentarão os itens
L2=[AD0,AD1,RSSIu,RSSId]
24. Zabbix Sender
# Faz um loop para enviar cada valor de métrica para cada item
no Zabbix
x = 0
while x<len(L1):
# Envia os valores para o Zabbix
metrics = []
m = ZabbixMetric('Zabbix server', L1[x], L2[x])
metrics.append(m)
zbx = ZabbixSender(zabbix_server='192.168.56.101',
zabbix_port=10051, use_config=None)
zbx.send(metrics)
x+=1
25. Zabbix Sender
Visão Geral – Zabbix Sender no Android
O MIT App Invetory3 permite criar aplicações para
Android utilizando blocos de programação
Já que o Zabbix Sender pode ser implementado através
de bibliotecas...
3 http://appinventor.mit.edu/explore