Baixe o app para aproveitar ainda mais
Prévia do material em texto
www.ginead.com.br CURSO Primeiros passos com Zabbix 1 Primeiros passos com Zabbix Introdução O Zabbix é uma ferramenta de monitoramento de infraestrutura de TI, aplicação serviços e negócios criada por Alexei Vladishev. Hoje é uma das ferramentas mais utilizadas por grandes empresas no mercado. Com o Zabbix você será capaz de monitorar dados cruciais da sua infraestrutura como tráfego de rede, espaço em disco, uso de disco e memória, além de monitoramentos avançados como integração entre sistemas utilizando scripts customizados. O Zabbix conta com um poderoso cliente de monitoramento chamado Zabbix Agent, compatível com várias plataformas, essa ferramenta é capaz de gerar dados precisos de forma performática. Tanto o Zabbix Server quanto suas dependências, são escritos e compilados em C, uma linguagem de baixo nível de alta performance capaz de utilizar baixos recursos de memória, espaço em disco e processamento. O zabbix agent consome menos de 1mb de espaço em disco e após iniciado menos de 7mb de memória RAM. Com chaves padrões pré-definidas no código fonte, o Zabbix Agent é capaz de monitorar itens como, estado de serviços, estado de portas, entre outros itens utilizando as funções nativas do sistema operacional, um exemplo é o monitoramento de Windows onde é utilizado os contadores de performance da Microsoft como biblioteca proprietária para realização das coletas. Componentes do Zabbix: O Zabbix Server é composto de 3 componentes principais, o backend, frontend e o banco de dados: GINEAD 1 Backend O backend são os binários do Zabbix Server, escrito em C, responsáveis por processar as coletas recebidos pelo agente. O Zabbix Server também envia sinais para o agente requisitando coletas quando o agente está em modo passivo. O backend do Zabbix Server também e responsável por gerenciar os dados escritos, modificados e apagados do banco de dados a fim de manter o ambiente limpo e atualizado sempre em tempo real. Banco de dados: O banco de dados é utilizado como armazenamento de todos os dados do Zabbix. Podemos dizer que o coração da ferramenta é o banco de dados e um simples backup da base é capaz de carregar absolutamente todos os itens e históricos já feitos na ferramenta. No banco de dados são inseridos todos os itens de configuração, usuários (quando local), hosts, itens, triggers, templates e todas as demais informações. Frontend O frontend é responsável pela comunicação entre o backend, o banco de dados e o administrador de sistemas, é nele que serão inseridos os dados que serão enviados ao banco de dados e posteriormente consumidos e processador pelo Zabbix Server. Nele também é possível visualizar os dados coletados, criar dashboards e visualizar os alertas. Visualização Gerenciamento de configuração Coleta de dados Detecção de problemas Eventos Notificações Armazenamento de dados GINEAD 2 Existem 5 formas de obter o Zabbix: 1 – Instalar a partir dos pacotes oficiais; 2 – Baixar a última versão do código fonte e compilar manualmente 3 – Instalar a partir de conteiners 4 – Baixar o appliance virtual 5 – Utilizar o Zabbix na nuvem (SaaS) Eles estão disponíveis em www.zabbix.com/download Nós vamos efetuar a instalação a partir do repositório oficial do Zabbix diretamente no CentOS. Após finalizar a instalação do CentOS 7 você deve atualiza-lo utilizando o comando abaixo como root: Ao final é necessário reiniciar o sistema. Após reiniciado vamos baixar os repositórios do Zabbix: https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix- release-4.4-1.el8.noarch.rpm Em seguida vamos efetuar a instalação do pacote baixado utilizando o rpm: Limpe o cache do repositório usando o comando: ~# yum update ~# wget https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4- 1.el8.noarch.rpm ~# rpm -ivh zabbix-release-4.4-1.el8.noarch.rpm ~# yum clean all GINEAD 3 Agora vamos realizar a instalação do banco de dados. Para esse curso vamos utilizar o MariaDB. Qualquer versão a partir da 5.6. A instalação pode levar alguns minutos. Em seguida vamos inicia-lo e adicionar junto a inicialização do sistema: Após finalizar o processo de instalação e subir o serviço, vamos acessar o banco de dados e configurá-lo, o MariaDB inicialmente não tem senha para o root, então após solicitada a senha, apenas aperte enter. Agora crie o banco de dados do Zabbix utilizando a query abaixo: Com a base de dados criada vamos criar o usuário que terá privilégio de acessá- la e que será utilizado pelo backend e frontend do zabbix: Com a query acima criamos um usuário chamado zabbix que terá grant total no banco de dados zabbix e em todas as suas tabelas, esse usuário será validade usado a senha zabbix. Vamos atualizar os grants do MariaDB antes de sair e continuar a instalação: Agora podemos seguir com o procedimento de instalação do Zabbix Server, utilizando o comando abaixo: ~# yum install mariadb-server ~# systemctl start maridb ˜# systemctl enable mariadb ~# mysql -u root -p Password: mysql(none)> create database zabbix; mysql(none)> grant all privileges on zabbix.* to localhost@localhost identified by ‘zabbix’; mysql(none)> flush privileges; mysql(none)> quit ˜# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent GINEAD 4 Ao final da instalação precisaremos popular o banco de dados utilizando o schema de mysql que está nos arquivos junto com o instalador do zabbix: Dependendo das configurações da máquina virtual utilizada essa etapa pode levar alguns minutos. Chegou a hora de configurar o Zabbix Server para se conectar com o banco de dados. Os arquivos de configurações do Zabbix Server e Zabbix Agent estão localizados no diretório /etc/zabbix. O arquivo que vamos editar é o zabbix_server.conf. Utilizando o vim ou o seu editor de texto favorito procure o parâmetro DBPassword para inserir a senha do banco de dados: Após editar o arquivo de configuração do zabbix server, vamos configurar o timezone do php. Edite o arquivo php.ini procurando pelo parâmetro date.timezone, o mesmo deverá ficar como abaixo: Por fim o zabbix server já está instalado e pronto para ser usado. Mas antes de inicia-lo certifique-se que o firewalld e o selinux estão desabilitados ou configurados adequadamente para o pleno funcionamento do Zabbix. Ao final da instalação vamos poder acessar o Zabbix pelo IP da maquina virtual através do navegador http://ip-da-maquina-virtual/zabbix ˜# zcat /usr/share/doc/Zabbix-server-mysql*/create.sql.gz| mysql -uzabbix -p zabbix DBPassword=zabbix date.timezone =”America/Sao_Paulo” ˜# systemctl start zabbix-server ˜# systemctl start httpd ˜# systemctl enable zabbix-server ˜# systemctl enable httpd GINEAD 5 A primeira tela que deve ser vista é a tela do instalador automático do frontend. Clique em Next step para avançar a instalação. A segunda tela tem o objetivo de checar se todos os pacotes e módulos do frontend estão instalador no apache. Se tudo estiver ok prossifa para a próxima etapa. GINEAD 6 A próxima parte da instalação tem o objetivo de configurar a conexão entre o frontend e o banco de dados. Lembrando que o banco de dados e o frontend estão instalados na mesma máquina, por isso usaremos o database host como localhost. O banco de dados, usuario e senha são zabbix. Na etapa de configuração final vamos inserir os detalhes do servidor Zabbix. Podemos apenas seguir. GINEAD 7 Na próxima tela veremos um resumo das configurações realizadas, onde podemos dar a ultima conferida nas informações para finaliza-las. Clique em Next Step. O Zabbix exibirá a tela de instalação bem sucedida: Ao clicar em Finish você será redirecionado para a tela de login do Zabbix, onde você utilizará o login Admin (com case sesitive) e senha zabbix GINEAD 8 Na primeira tela do Zabbix você verá o Dashboard principal onde haverá informaçõessobre o sistema e alguns alertas pré-configurados. Note que possuímos um servidor indisponível, se trata do próprio zabbix server, isso porque o zabbix server utiliza o zabbix agente para se auto monitorar e quando finalizamos a instalação do server, não iniciamos o agente, por isso ele é incapaz de realizar esse monitoramento. Na console do CentOS vamos inicializar o Zabbix Agent: Após alguns minutos o alerta deverá normalizar e não teremos mais nenhum incidente no dashboard e nenhum host indisponível. Criando um monitoramento: Vamos começar a criar nosso primeiro monitoramento. Acesso o menu Configuration > hosts e em seguida clique no botão Criar host no canto superior direito da tela: ˜# systemctl start zabbix-agent ˜# systemctl enable zabbix-agent GINEAD 9 Vamos chamar o host de Host_test para que a configuração seja concluída e necessário que este host esteja dentro de um grupo do Zabbix, adicionaremos ele no grupo Teste (novo), dessa forma o zabbix criará um novo grupo chamado teste para esse host: Ao finalizar clique em adicionar. Para testar um monitoramento real, vamos instalar no Centos o Net SNMP, um cliente simples que deverá ser iniciado: Ao terminar a instalação inicie o snmpd com o comando abaixo: Com isso um processo chamado snmpd estará executando no Linux. Vamos monitorá-lo. No Zabbix vá em Configuration > Hosts e clique em items do host_test. Em seguida clique em Criar item no canto superior direito da tela. Vamos configurar o item com a chave proc.num[], essa chamve é uma chave padrão do Agente do Zabbix para monitorar a presença de serviços rodando no sistema. Com isso poderemos saber se ele está disponível ou não. Nome: Processo SNMPD Tipo: Agente Zabbix Chave: proc.num[snmpd] Tipo de informação: Númerico (inteiro sem sinal) Intervalo de atualização: 30s Mostrar Valor: Service state Nova Aplicação: SNMPD Ao finalizar a configuração, poremos ver os dados coletados acessando: Monitoring Latest Data. ˜# yum install net-snmp.x86_64 ˜# snmpd GINEAD 10 Abaixo como os dados deverão ser exibidos. Agora que temos nossa primeira coleta, vamos criar um alerta para ele. Acesse Configuration > hosts e no host_test clique em Triggers. Trigger são os gatilhos parametrizados para emitir um alerta quando uma situação de anomalia for detectada. No nosso caso, ao encontrar a aplicação SNMPD executando, o Zabbix Agent retorna para o server o valor 1, em caso de falha ele retornará o valor 0, significando que não encontrou mais o SNMPD rodando. Vamos criar uma trigger que entenda quando o último valor coletado for igual 0 o zabbix alertará. Clique em Criar Trigger no canto superior direito da tela: Nome: Processo do SNMPD parou Severidade: Alta Expressão: {host_test:proc.num[snmpd].last()}=0 A expressão supracitada significa: {} = Objeto em questão Host_test = o host referenciado para o incidente proc.num[snmpd] = A chave do item que queremos sinalizar um incidente .last() = função que indica o último dado coletado =0 = quando o ultimo dado coletado for 0. Clique em adicionar. GINEAD 11 Após finalizar a configuração da trigger, pare o serviço do SNMPD. Para isso identifique o processo com o comando: os aux | grep snmpd e em seguida finalize o processo usando o comando kill e o PID do processo: Exemplo: kill 2766. Em poucos instantes o zabbix deverá exibir no dashboard o alerta: Acompanhe as vídeo aulas para mais detalhes GINEAD 12
Compartilhar