Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP

1.091 visualizaciones

Publicado el

Apresentado por André Déo

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

UserParameter vs Zabbix Sender - 2º ZABBIX MEETUP DO INTERIOR-SP

  1. 1. UserParameter vs Zabbix Sender
  2. 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
  3. 3. UserParameter Visão geral Preciso monitorar algo que nativamente não existe no Zabbix Já possuo um script / comando que retorna exatamente o dado que eu preciso
  4. 4. UserParameter Sintaxe No arquivo zabbix_agentd.conf: UserParameter=<chave>,<comando>
  5. 5. UserParameter Exemplos UserParameter=dir_c,dir c: UserParameter=conectados,who | wc -l
  6. 6. UserParameter Testando a leitura dos dados # zabbix_get -s <IP> -k dir_c # zabbix_get -s <IP> -k conectados
  7. 7. UserParameter Utilizando UserParameter com Passagem de parâmetros #!/bin/bash case $1 in minuto) echo "`date +%M`%2" | bc;; arquivos) ls -l $2 | grep ^- | wc -l;; tam.dir) du -s $2 | cut -f1;; conectados) who | wc -l;; esac /Scripts_Zabbix/geral.sh
  8. 8. UserParameter Exemplos UserParameter=menu[*],/Scripts_Zabbix/geral.sh $1 $2 $3 $4 $5 $6 $7 $8 $9 # zabbix_get -s <IP> -k menu[arquivos,/etc] # zabbix_get -s <IP> -k menu[tam.dir,/var] $1 $2
  9. 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
  10. 10. UserParameter Pré-requisitos O script não pode demorar mais de 30 segundos para ser executado!!
  11. 11. UserParameter ### Option: Timeout # Spend no more than Timeout seconds on processing # # Mandatory: no # Range: 1-30 # Default: # Timeout=3
  12. 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. 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. 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!
  15. 15. Zabbix Sender Sintaxe zabbix_sender -z <IP_Server> -s <Nome_do_Host> -k <Chave> -o <Valor>
  16. 16. Zabbix Sender Exemplos # zabbix_sender -z 192.168.56.101 -s "Linux Cliente" -k dolar.compra -o 3.22 # zabbix_sender -z 192.168.56.101 -s "Linux Cliente" -k dolar.venda -o 3.23
  17. 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.
  18. 18. #!/bin/bash Server=192.168.56.101 Cliente=“Linux Cliente” $A=`instruções 1` $B=`instruções 2` ... /usr/local/bin/zabbix_sender -z $Server -s "$Cliente" -k dolar.compra -o $A /usr/local/bin/zabbix_sender -z $Server -s "$Cliente" -k dolar.venda -o $B Zabbix Sender
  19. 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. 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. 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. 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. 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. 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. 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
  26. 26. Zabbix Sender
  27. 27. Zabbix Sender
  28. 28. Zabbix Sender https://goo.gl/iNTm79
  29. 29. Dúvidas ?

×