Zabbix Agent Check
Este é um assunto que vale um artigo também, devido a quantidade de informações que podemos falar sobre o monitoramento utilizando Zabbix Agent.
Utilizamos o Zabbix Agent para monitorar recursos locais do Sistema Operacional, tais como informações de disponibilidade e desempenho. Esta é a maneira mais popular de monitorar servidores, diferente do monitoramento através do SNMP o Zabbix provê uma infinidade de itens prontos para serem utilizados.
Você pode consultar a lista completa de itens clicando aqui.
O que é UserParameter?
UserParameter é uma forma de estender as funcionalidades do Zabbix Agent, com esta funcionalidade podemos criar novas chaves de itens de acordo com a nossa necessidade.
Sintaxe:
- UserParameter=<chave_do_item>,<comando>
Notas:
- O UserParameter utiliza o timeout do Zabbix Agent, se o seu comando demorar mais tempo que definido o processo será encerrado.
- Após configurar o UserParameter precisamos reiniciar o serviço do Zabbix Agent
- Os comandos são executados com as permissões do usuário zabbix.
Existem dois tipos de UserParameter:
- Simples
- Flexível
Criando um item com UserParameter:
Em nosso laboratório iremos utilizar uma máquina Linux com Zabbix Agent instalado, faremos um simples UserParameter:
1) Edite o arquivo de configuração:
vim /etc/zabbix/zabbix_agentd.conf
2) Insira o comando:
UserParameter=count.dir.zabbix,ls /etc/zabbix |wc -l
3) Reinicie o serviço do Zabbix Agent:
systemctl restart zabbix-agent
4) Teste a configuração com o comando:
zabbix_agentd -t count.dir.zabbix
5) Resultado
count.dir.zabbix [t|3]
UserParameter flexível:
Com UserParameter flexível podemos enviar parâmetros na chave do item, podendo ser utilizado como base para vários itens.
1) Edite o arquivo de configuração:
vim /etc/zabbix/zabbix_agentd.conf
2) Insira o comando:
UserParameter=soma[*],echo "$1+$2"| bc
3) Reinicie o serviço do Zabbix Agent:
systemctl restart zabbix-agent
4) Teste a configuração com o comando:
zabbix_agentd -t soma[10,12]
5) Resultado
soma[10,12] [t|22]
Arquivo de configuração individual:
Com o objetivo de padronizar o arquivo de configuração do Zabbix Agent. Podemos utilizar o parâmetro Include definindo uma pasta padrão para nossos arquivos de UserParameter.
1) Edite o arquivo de configuração:
vim /etc/zabbix/zabbix_agentd.conf
2) Insira o comando:
Include=/etc/zabbix/scripts/*.conf
3) Crie o diretório scripts:
mkdir /etc/zabbix/scripts
4) Crie o arquivo de configuração do UserParameter:
vim /etc/zabbix/scripts/calculadora.conf
5) Insira os comandos:
UserParameter=soma[*],echo "$1+$2" | bc UserParameter=subtracao[*],echo "$1-$2" | bc UserParameter=multiplicacao[*],echo "$1*$2" | bc UserParameter=divisao[*],echo "$1/$2" | bc
6) Reinicie o serviço do Zabbix Agent:
systemctl restart zabbix-agent
7) Podemos testar todos:
[root@app01 zabbix]# zabbix_agentd -t soma[10,2] soma[10,2] [t|12] [root@app01 zabbix]# zabbix_agentd -t subtracao[10,2] subtracao[10,2] [t|8] [root@app01 zabbix]# zabbix_agentd -t multiplicacao[10,2] multiplicacao[10,2] [t|20] [root@app01 zabbix]# zabbix_agentd -t divisao[10,2] divisao[10,2] [t|5]
Informações adicionais:
Por padrão não podemos passar caracteres especiais como parâmetro, temos a opção no arquivo de configuração do Zabbix Agent.
1) Edite o arquivo de configuração:
vim /etc/zabbix/zabbix_agentd.conf
2) Edite o parâmetro:
UnsafeUserParameters=1
3) Reinicie o serviço do Zabbix Agent:
systemctl restart zabbix-agent
Como resultado da criação do UserParameter, finalmente podemos criar um item no frontend do Zabbix informando a chave e os parâmetros quando necessário.
Espero que tenham gostado e até o próxima.