O documento apresenta sobre o uso do Zabbix Agent para monitoramento e formas de estender suas capacidades. Resume:
1) O Zabbix Agent é a forma padrão de coleta de dados no Zabbix, sendo ativo, de baixo consumo e estável.
2) Pode ser estendido através de UserParameters, ExternalScripts e system.run[] para monitorar dados adicionais.
3) Um estudo de caso mostra como o SkyDocs usa essas técnicas para monitoramento automático e sem interferência nos clientes.
ZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SP
1º Meetup Zabbix Meetup do Recife: Werneck Costa - UserParameters
1. Werneck Costa - werneck.costa@gmail.com / @WerneckCosta
UserParameter:
Zabbix MeetUp - Recife/PE/Brasil.
seria esta a única forma de estender o Zabbix
Agent?
08/06/2019
2.
3.
4. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
4
About:
• Werneck Bezerra Costa;
• Potiguar, Natalense;
• Analista de suporte e empreendedor;
• LinkedIn: Perfil profissional.
5. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
5
Envolvimento com o Zabbix
• Primeiro contato em 2012 (versão 1.6);
• Certificação em 2016 (UniRede-PoA);
• Instrutor de treinamentos Zabbix;
• Outras apresentações: Slide Share;
• Implantações focadas em parte visual
(facilitação da vida dos setores de suporte);
• Atividade na lista de e-mails, fórum oficial e
grupo do Telegram.
6. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
6
Sobre o que falaremos?
• Cenários de monitoramento;
• Formas de coletar dados;
• Complementos ao Zabbix Agent;
• Estudo de caso: SkyDocs.
7. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
7
Monitoramento com Zabbix Agent
• Forma “padrão” de coleta;
• Ativo x passivo;
• Baixo consumo de recursos;
• Estabilidade e eficiência;
• Maior acesso ao “alvo monitorado”.
8. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
8
Monitoramento com Zabbix Agent
• Forma “padrão” de coleta;
9. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
9
Monitoramento com Zabbix Agent
• Ativo x passivo;
10. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
10
Monitoramento com Zabbix Agent
• Baixo consumo de recursos;
11. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
11
Monitoramento com Zabbix Agent
• Estabilidade e eficiência;
– Utiliza chamadas nativas do sistema operacional.
• Maior acesso ao “alvo monitorado”.
– Acesso a informações físicas: disco, RAM, CPU e
etc.
12. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
12
Zabbix Agent puro seria o bastante?
13. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
13
Estendendo o Zabbix Agent
• UserParameter;
• ExternalScripts;
• system.run[].
14. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
14
Estendendo o Zabbix Agent
• UserParameter;
– Forma de estender as capacidades do Agent;
– É possível criar e batizar itens!
– Democrático (Bring Your Own Dev Language);
– Formato:
UserParameter=chave,comando/script “parâmetros"
15. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
15
Estendendo o Zabbix Agent
• UserParameter (formato);
UserParameter=up.system.cpu[*],/etc/zabbix/scripts/cpu.sh "$1" "$2"
16. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
16
Estendendo o Zabbix Agent
• UserParameter (script);
17. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
17
Estendendo o Zabbix Agent
• UserParameter (itens);
18. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
18
Estendendo o Zabbix Agent
• UserParameter (resultados);
19. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
19
Estendendo o Zabbix Agent
• UserParameter;
• ExternalScripts;
• system.run[].
20. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
20
Estendendo o Zabbix Agent
• ExternalScripts;
– Scripts executados no servidor Zabbix;
– “Preenchem” itens dos hosts monitorados;
– Podem apontar para qualquer coisa (interna ou
externa);
– Podem ser utilizados como “Discovery Rules”;
21. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
21
Estendendo o Zabbix Agent
• ExternalScripts (exemplo);
– Descoberta de sistemas, baseada em consultas
DNS.
• Cada S.O trataria de uma forma;
• Geração do Discovery: ferramentas Win (PowerShell) x
Linux.
24. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
24
Estendendo o Zabbix Agent
• UserParameter;
• ExternalScripts;
• system.run[].
25. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
25
O esquecido system.run[]
26. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
26
system.run[]
• Item padrão do Zabbix Agent;
• Não demanda* alterações no alvo
monitorado;
• Não é preciso manter nada extra no alvo;
• Automaticamente reaproveitado (templates);
• Acesso às áreas públicas do S.O.
EnableRemoteCommands=1
27. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
27
system.run[]
• Aceita qualquer comando* de shell;
– Item criado na forma padrão (via interface Web);
– Abre um subshell no alvo, e executa o que estiver
dentro dos [colchetes].
Que o usuário Zabbix (*Unix) ou System (Win), permitam.
system.run["tracert 8.8.8.8"]
28. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
28
Estudo de caso: SkyDocs
29. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
29
Estudo de caso: SkyDocs
• Necessidades:
– Chegar ao Suporte Zero;
– Obter a sensação de uso dos serviços por parte
dos clientes, sem que fosse necessário os estar
questionando;
– Fazer isso de forma automática e contínua;
– Baixa ou mínima alteração na rotina do cliente.
34. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
34
Estudo de caso: SkyDocs
• Coisas envolvidas:
– Agente Zabbix no modo ativo;
– Auto registro (baseado em meta-parâmetros);
– Templates com itens simples;
– MACROS*;
– ExternalScripts;
– system.run[].
35. Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
35
Dicas
• UserParameter não tem limites;
• UserParameter possui dependências (scripts,
confs);
– Necessidade de manter a mesma versão dos
arquivos nos alvos.
• Quanto mais simples, melhor;
• Quanto mais nativo, melhor.
36. Valeu, um abraço!
Zabbix MeetUp Brasil - Recife (06/2019) -
Werneck Costa
36
Contatos:
werneck.costa@gmail.com
Telegram: @WerneckCosta