# apt-get install zabbix-agent
# systemctl start zabbix-agent# apt-get enable zabbix-agentConteúdo técnico, ferramentas e experiências práticas da IceNex.
# apt-get install zabbix-agent
# systemctl start zabbix-agent# apt-get enable zabbix-agentHoje vamos falar de monitoração, mais precisamente de monitoração com a ferramenta Zabbix.
Além disso é possível criar regras de relacionamento para análise de causa raiz para problemas que ocorram.
Sem contar a possibilidade de monitorar recursos por agente, sem agente, SNMP, IPMI e JMX. É realmente uma grande quantidade de opções.
Bem, vamos lá, para parte prática!
Nosso cenário será o seguinte:
# wget https://repo.zabbix.com/zabbix/5.2/debian/pool/main/z/zabbix-release/zabbix-release_5.2-1+debian10_all.deb# dpkg -i zabbix-release_5.2-1+debian10_all.deb# apt-get update
# apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent
# apt-get install mariadb-common mariadb-server mariadb-client
# systemctl start mariadb ; systemctl enable mariadb
# mysql_secure_installation
Enter current password for root (enter for none): Pressione Enter
Set root password? [Y/n]: Y
New password: <Enter root DB password>
Re-enter new password: <Repeat root DB password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
- Criando o database -
# mysql -uroot -p'Senha-do-Banco-de-Dados' -e "create database zabbix character set utf8 collate utf8_bin;"
- Permitindo conexão -
# mysql -uroot -p'Senha-do-Banco-de-Dados' -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'Senha-do-usuario-zabbix';"
- Importando o schema e data-
# mysql -uroot -p'Senha-do-Banco-de-Dados' zabbix -e "set global innodb_strict_mode='OFF';"
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'Senha-do-usuario-zabbix' zabbix
- Habilitando o strict mode -
# mysql -uroot -p'Senha-do-Banco-de-Dados' zabbix -e "set global innodb_strict_mode='ON';"
DBPassword=Senha-do-usuario-zabbix
Até mesmo no ambiente produção (fora este lab que estamos fazendo) é bom já deixar anotado para solicitar ou fazer as liberações no firewall.
3 - Agora vamos fazer o start e enable do serviço Zabbix Server e Agent Processes
# systemctl restart zabbix-server zabbix-agent ; systemctl enable zabbix-server zabbix-agent
php_value date.timezone America/Sao_Paulo
# systemctl restart apache2 ; systemctl enable apache2
Um dica rápida para quem usa Ubuntu Server ou até mesmo para quem está estudando as possibilidades de utilizá-lo depois do anúncio do fim do CentOS.
Bem, pra quem trabalha com monitoração é comum ter que configurar o serviço SNMP no servidor para que ele possa envitar traps ou até mesmo para que a monitoração faça consultas e assim gerar a coleta do consumo de recursos e/ou disponibilidade.
Bem, vou tentar explicar brevemente algumas coisas antes de continuar:
SNMP
Exemplo da estrutura de uma MIB:
Acontece que fazendo uma "varredura" em um equipamento por toda estrutura do SNMP que ele responde, pode não ser muito amigável a saída de cada OID. Isso mesmo! Podemos ter saída apenas no formato número e para saber o que é cada item, ter que pegar o número, consultar na internet ou documentação da MIB para verificar qual componente/monitor ele se refere.
Existe algumas opções de comando que fazem a tradução destes OIDs para nomes mais amigáveis e assim podermos ter uma noção melhor do monitor ao qual o OID se refere.
No Ubuntu Server, encontrei um problema onde essa tradução não estava funcionando e por isso resolvi fazer este post para compartilhar.
Para os testes vamos utilizar o comando:
# snmpwalk -t -2 -v2c -c servers IP-DO-DEVICE .1.3.6.1.2.1.25.2.3.1.2
Como podemos ver na imagem acima, não temos a menor ideia do que é cada OID ou cada monitor por assim dizer, quando fazemos uma consulta específica por um bloco da estrutura da MIB.
No Ubuntu Server para resolver isso, precisamos comentar a linha "mibs :" no arquivo /etc/snmp/snmp.conf
Após comentar a linha e salvar o arquivo, devemos fazer o restart do serviço do SNMP
# systemctl restart snmpd.service
E ao fazer o mesmo teste novamente, a saída deve ser semelhate à abaixo:
Apenas como comparativo, quando utilizava CentOS isso não era necessário, pois a configuração que vinha "padrão" na instalação funcionava dessa forma.
Mas é isso ...
Nem tudo é igual no mundo Linux quando falamos de uma distribuição para outra, alguns ajustes requerem mais interação nossa, etc...
Espero que isso ajude.
Até a próxima.
Abs
:wq!