logo
Entre em contato e saiba mais sobre como a DataUnique pode transformar seu negócio.

Fale Conosco

contato@dataunique.com.br
(62) 3932-2500
banner-winthor-sidebar
 

LAB – Zabbix Agent 2

LAB – Zabbix Agent 2

banner-winthor-header

O agente Zabbix 2 tem tudo para substituir o seu antecessor, pois foi desenvolvido pela Zabbix SIA com os
seguintes objetivos:

 

  • Reduzir o número de conexões TCP
  • Ter maior simultaneidade de verificação
  • Ser facilmente extensível com plug-ins
  • Ser um substituto imediato para o agente Zabbix (suporta todas as funcionalidades anteriores)

 

O Agente 2 foi escrito em Go (com algum código C do agente Zabbix reutilizado), onde as verificações passivas funcionam de forma semelhante ao agente Zabbix e as verificações ativas oferecem suporte a intervalos programados/flexíveis e verificam a simultaneidade em um servidor ativo. Ele é suportado nas plataformas Linux e Windows, porém na plataforma Windows, um número limitado de itens é compatível com o Agente 2.

 

Comparação entre Zabbix Agent VS Zabbix Agent 2

ParâmetroZabbix agentZabbix agent 2
Linguagem de
programação
CGo com algumas partes em C
Daemonizaçãosimnão
Extensões com
suporte
Módulos carregáveis
personalizados em C
Plugins personalizados no Go
Requisitos
Plataformas
suportadas
Linux, IBM AIX, FreeBSD, NetBSD,
OpenBSD, HP-UX, Mac OS X,
Solaris: 9, 10, 11, Windows: todas
as versões de desktop e servidor
desde o XP
Linux, Windows: todas as versões de desktop e
servidor desde XP
Processos de
monitoramento
ProcessosUm processo de verificação ativo
separado para cada registro de
servidor / proxy
Processo único com threads criados
automaticamente
MétricasUNIX : veja uma lista de itens
suportados
Windows : veja uma lista de itens
adicionais específicos do Windows
UNIX : todas as métricas suportadas pelo agente
Zabbix.
Além disso, o agente 2 fornece solução de
monitoramento nativo do Zabbix para: Docker,
Memcached, MySQL, Oracle, PostgreSQL, Redis,
systemd(consulte uma lista de itens específicos
do agente 2)
Windows : Todas as métricas suportadas pelo
agente Zabbix, e também verificações
net.tcp.service * de HTTPS, LDAP.
Intervalos
programados /
flexíveis
Suportado apenas para
verificações passivas
Suportado para verificações passivas e ativas

 

Instalação

 

A instalação pode ser feita usando o repositório oficial disponibilizado pela Zabbix, abaixo segue um exemplo de instalação em um computador com o sistema operacional Centos 8.

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x8664/zabbix-release-5.0-
1.el8.noarch.rpm
dnf clean all
dnf install zabbix-agent2

Os seguintes parâmetros de linha de comando podem ser usados com o Zabbix Agent 2:

 

ParâmetroDescrição
-c Você pode usar esta opção para especificar um arquivo de configuração que não seja o
padrão
-fExecute o agente Zabbix em primeiro plano (default: true).
-hImprima informações de ajuda.
-pImprima itens conhecidos.
-RDesempenha funções administrativas.
-t Teste o item especificado.
-vImprima informações de depuração. Use esta opção com as opções -p e -t.
-VImprimir o número da versão do agente.

 

Exemplos específicos de uso de parâmetros de linha de comando:

zabbixagent2 -t agent.ping
zabbixagent2 -t hostname

Retorno do primeiro comando:

agent.ping                                   [s|1]

Retorno do segundo comando:

system.hostname                              [s|labdataunique]

O novo agente Zabbix é uma plataforma totalmente nova que pode ser facilmente ampliada com a utilização de plugins, isto é o maior diferencial em relação a versão anterior. Um dos motivos de se utilizar plugins é para substituir os scripts externos usados através da chave UserParameter. Também é possível escrever seus próprios plugins personalizados baseados em Go, o agente oferece várias interfaces de plugins para diferentes tipos de tarefas.

 

Plugins:

 

Caso não esteja interressado em programar seus próprios plugins, não se preocupe, a Zabbix SIA está desenvolvendo uma grande quantidade de plugins out-of-the-box, destacando-se os plugins docker, mysql, oracle e postgres.

 

Plugins disponíveis na versão 5.2, que já podem ser testados baixando-se a versão 5.2 (alpha): docker, kernel, log, memcached, modbus, mqtt, mysql, net/netif, net/tcp, net/udp, oracle, postgres, proc, redis, system/cpu, system/uname, system/uptime, systemd, systemrun, vfs/dev, vfs/file, vfs/fs, web, zabbix/async, zabbix/stats e zabbix/sync.

 

Veja como é fácil utilizar os plugins dispónvies no Agent2 através de dois exemplos:

 

Exemplo de utilização do plugin mysql

 

Para testar o plugin siga os seguintes passos:

 

1. Realize o download do template Template DB MySQL by Zabbix agent 2
2. Import o template no Zabbix frontend

 

1. Acesse o menu Configuração –> Templates
2. Clique no botão Importar, localizado no canto superior direito
3. Selecione o arquivo baixado e clique em Importar

 

 

3. Crie um usuário no MySQL para o monitoramento ( a seu critério):

CREATE USER 'dataunique'@'%' IDENTIFIED BY '';
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO
'dataunique'@'%';

4. Defina na macro {$MYSQL.DSN} o nome da fonte de dados da instância do MySQL. Exemplo:
tcp://localhost:3306

1. Macro

 

Pronto agora você já será capaz de monitorar o banco de dados MySQL, para testar se a configuração funcionou, basta executar o comando zabbix_agent2 -t mysql.ping no terminal do servidor onde o Agent foi instalado, conforme exemplo abaixo.

$ zabbix_agent2 -t mysql.ping["tcp://localhost:3306","dataunique",""]

Retorno do comando:

$ mysql.ping[tcp://localhost:3306,dataunique,][s|1]

Exemplo de utilização do plugin docker

 

Para testar o plugin siga os seguintes passos:

 

1. Realize o download do template Template App Docker
2. Import o template no Zabbix frontend

1. Acesse o menu Configuração –> Templates
2. Clique no botão Importar, localizado no canto superior direito
3. Selecione o arquivo baixado e clique em Importar

Pronto agora você já será capaz de monitorar seus containers, para testar se a configuração funcionou, basta
executar o comando zabbix_agent2 -t docker.containers.discovery[] no terminal do servidor onde o Agent foi
instalado, conforme exemplo abaixo.

$ zabbix_agent2 -t docker.containers.discovery[] | awk -F "|" '{print $2}' | sed
s/']]'/']'/ | jq --raw-output '.[]."{#NAME}"'

Retorno do comando:

/zabbix_database
/zabbix_fronted
/zabbix_server

Referências:

https://blog.zabbix.com/magic-of-new-zabbix-agent/8460/
https://github.com/zabbix/zabbix/blob/master/src/go/plugins/oracle/README.md
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent2
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/docker

Sofia Carvalho

sofia.carvalho@kampana.digital

Nenhum Comentário

Sorry, the comment form is closed at this time.