Departamento de Ciencia da Computac ao Laborat orio de Software Livre 29 de junho de 2009 1 Sumario 1 Introducao 3 2 Objetivos 3 3 Pre-requisitos 3 3.1 Instalac ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.1 Criando o Bando de Dados . . . . . . . . . . . . . . . . 4 3.1.2 Congurando . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.3 Agentes . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4 Interface WEB 6 5 Monitorando 7 5.1 Adicionando Usu ario . . . . . . . . . . . . . . . . . . . . . . . 7 5.2 Adicionando Host . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.3 Itens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.4 Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.5 Gr acos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.6 SLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6 Creditos 13 2 1 Introducao O ZABBIX e uma ferramenta criada para monitorar a perfomance e a disponibilidade dos ativos de uma rede, ele possui funcionalidades herdadas do Nagios e do Cacti tornando-o uma das mais completas opc oes para obter informac oes sobre servidores e dispositivos de rede. 2 Objetivos O objetivo deste documento e prover uma vis ao geral sobre a ferramenta ZABBIX, sua arquitetura, os recursos por ela oferecidas e suas funcoes, para uma administrac ao do ZABBIX com ecacia. 3 Pre-requisitos As seguintes dependencias, nestas ou em vers oes mais recentes, s ao ne- cess arias para o correto funcionamento da ferramenta: Apache 1.3.12 PHP 4.3 modulos PHP 4.3: php-gd, php-bcmath MySQL 3.22, php-mysql ou Oracle 9.2.0.4, php-sqlora8 ou PostgreSQL 7.0.2, php-pgsql ou SQLite 3.3.5, php-sqlite3 NET-SNMP (Opcional) biblioteca lksemel (Opcional) biblioteca libcurl (Opcional) 3 3.1 Instalacao Para instalar o ZABBIX faca o download da versao mais recente no link http://www.zabbix.com. Nesse documento foi utilizado zabbix-1.6.4 como exemplo. Descompacte o arquivo do diret orio de sua escolha. # tar xvf zabbix-1.6.4.tar.gz 3.1.1 Criando o Bando de Dados Para a criac ao do Bando de Dados do ZABBIX podemos utilizar MySQL, Oracle, PostgreSQL ou SQLite. Nesta subsec ao sera explicitado somente o procedimento utilizando o MySQL, para os demais vide documenta cao em http://www.zabbix.com. No diretorio em que o arquivo foi descompactado: $ mysql -u<username> -p<password> mysql> create database zabbix mysql> quit $ cd create/schema $ cat mysql.sql mysql -u<username> -p<password> zabbix $ cd ../data $ cat data.sql mysql -u<username> -p<password> zabbix $ cat images mysql.sql mysql -u<username> -p<password> zabbix 3.1.2 Congurando O codigo-fonte precisa ser compilado tanto para o servidor como para os clientes. Para congurar o c odigo para o servidor, e necessario especicar qual banco de dados sera usado. No caso estamos usando o MySQL. $ ./congure enable-server with-mysql with-net-snmp with-jabber with-libcurl Caso queira compilar o cliente bin ario juntamente com o server, adicione o parametro enable-agent. $ make install Para instalar todos os arquivos. 4
E recomendado adicionar as seguintes linhas ao arquivo /etc/services:
zabbix_agent 10050/tcp Zabbix Agent zabbix_agent 10050/udp Zabbix Agent zabbix_trapper 10051/tcp Zabbix Trapper zabbix_trapper 10051/udp Zabbix Trapper Crie um diret orio com nome zabbixno /etc. Para dentro dele e pre- ciso copiar 2 arquivos, estes estao em misc/conf/ e sao zabbix server.confe zabbix agentd.conf. Para todo host e necess ario colocar o IP do servidor ZABBIX dentro do arquivo zabbix agentd.conf. Feito isto podemos executar o servidor: $ zabbix server e os agentes quando necess ario: $ zabbix agentd 3.1.3 Agentes Para utilizar o agente do ZABBIX e aconselh avel criar um usuario es- pecco, normalmente denominado de zabbix. Descompacte o arquivo: # tar xvf zabbix-1.6.4.tar.gz Congure apenas para o cliente: # ./congure enable-agent e compile: # make
E recomendado adicionar as seguintes linhas ao arquivo /etc/services:
zabbix_agent 10050/tcp zabbix_trapper 10051/tcp 5 Crie um diretorio com nome zabbixno /etc. Para dentro dele e preciso copiar o arquivo misc/conf/zabbix agentd.conf. Neste e necessario colocar o IP do servidor ZABBIX. Feito isto podemos executar o agente: $ zabbix agentd 4 Interface WEB O ZABBIX possui uma interface WEB e para ativ a-la, e necess ario seguir os seguintes passos: # mkdir /var/www/zabbix # cd frontends/php # cp * -R /var/www/zabbix/ Agora acesse o utilit ario para a instalac ao da interface WEB usando o en- dereco http://localhost/zabbix/ e siga as instruc oes. 6 5 Monitorando Abaixo ser a explicado algumas funcoes para um ecaz funcionamento do ZABBIX. 5.1 Adicionando Usuario Uma vez logado na interface WEB como Administrador, podemos adi- cionar novos usu arios na aba Administration -> Users. Ao adiciona-lo, e possvel denir o tipo de usu ario e a qual grupo ele pertence, denindo suas permissoes. 5.2 Adicionando Host Com o agente sendo executado nas maquinas, e necessario cadastr a-lo como host no ZABBIX Server para possamos monitor a-lo. Para tal, v a na aba Conguration -> Hosts e na parte superior direita clique na opc ao Create Host. 7 Preencher os campos de acordo com o host e, por motivos de simplicac ao, foi usado o template Template Linuxcomo exemplo na gura. Caso n ao queira usar um template pronto, ser a mostrado em subsec ao futura como adicionar items e triggers. Ap os adicionado o Host, verique se ele sendo monitorado. 5.3 Itens Os itens s ao valores retornados de consultas especcas atraves do agente nas maquinas. Eles podem retornar valores inteiros, strings, texto ou valores 8 de log .Atraves da aba Conguratiom -> Items e possvel vericar todos os itens que vem denidos no ZABBIX. A insercao de novos itens se faz clicando em Create Item, na parte superior direita, costumizando as opcoes de acordo com as preferencias. A cada item ativado, ou mesmo item criado, e gerado um trigger para este. o qual sera explicado adiante. 5.4 Triggers Os triggers s ao gatilhosque disparamde acordo com as informa coes lidas pelo agente, atraves dos itens denidos. Estes disparos geram eventos, a cada vez que e lido uma informacao a qual nao e esperada. 9 Alem da opc ao de criar um novo trigger, como e feito com os itens, pode- se tambem fazer dependencias entre eles. Isto e possvel editando um trigger j a existente ou quando um novo for criado. 5.5 Gracos Os Gracos s ao uma parte muito importante do monitoramento, pois fa- cilita o entendimento das coletas de dados que s ao feitos pelos itens, aumen- tando a abrangencia dos recursos, uma vez que varios itens(dados) podem ser relacionados no mesmo graco. Na aba Monitoring -> Graphs podemos ver todos os gracos criados. Como padr ao, o ZABBIX oferece 4 tipos de gr acos prontos para serem utilizados. 10 Para criar um novo graco, va ate a aba Conguration -> e clique em Create Graph, na parte superior direita. Adicione um nome ao gr aco, suas dimensoes e seus itens, aos quais e necessario um parametro e sua con- gurac ao. 5.6 SLA O SLA e uma ferramenta que verica a frac ao do tempo que um servico est a funcionando, e dependendo do valor(%) atribudo a ele, cria um evento indicando a ocorrencia ao qual ele esta ligado. Para criar um SLA, adicione um servico na aba Conguration -> IT Servi- ces. Na janela da adic ao e possvel ligar o servico ` a outro, com relacao de pai e/ou relacao de dependencia. Tambem e possvel ativar o servi co atraves de um trigger. Marque a op cao SLA e insira o valor(%) desejado que o servico aceite para o c alculo. 11 Adicionando o perodo de operac ao do SLA, podemos salvar. O status dos servicos SLA podem ser encontrados em Monitoring -> IT Services. Voltando para a pagina de monitoramento, podemos observar os eventos ocorridos: 12 6 Creditos ZABBIX Manual v1.6 Direito Autorais Reservados R Universidade Federal de Minas Gerais Departamento de Ciencia da Computac ao Jo ao Victor dos Anjos B arbara Israel Guerra de Moura Douglas de Almeida Ferreira Esta documentacao e livre; voce pode redistribu-la e/ou modica-la sob os termos da Licenca P ublica Geral GNU conforme publicada pela Free Soft- ware Foundation; tanto na sua versao 2, como qualquer versao posterior (a seu criterio). A distribui cao desta documentac ao e feita na expectativa de que ela seja util, porem, sem nenhuma garantia; nem mesmo a garantia implcita de comerciabilidade ou adequacao a uma nalidade especca. Consulte a Licen ca P ublica Geral do GNU para mais detalhes. http://creativecommons.org/licenses/GPL/2.0/ http://creativecommons.org/licenses/GPL/2.0/legalcode.pt 13