IMPLEMENTAÇÃO DE MÉTRICAS DE REDE NO ZABBIX Universidade Federal de Minas Gerais Departamento de Ciência da Computação Laboratório de Software Livre 22 de janeiro de 2010 1
Sumário 1 Introdução 3 2 Pré-requisitos 3 2.1 Implementação.......................... 3 2.2 Configuração........................... 4 2.2.1 Template......................... 4 2.2.2 Itens............................ 4 2.2.3 Triggers.......................... 8 2.2.4 SLA............................ 11 3 Monitorando 14 4 Créditos 15 2
1 Introdução Este documento apresenta a implementação das métricas de gerenciamento de rede da PRF através da ferramenta ZABBIX. O documento será dividido em implementação, onde será mostrado passo a passo como implementar as métricas na ferramenta e no monitoramento, onde será mostrado os resultado desta. O objetivo final é obter um perfeito monitoramento dos serviços da rede atual da PRF, solucionando seus principais problemas. 2 Pré-requisitos É necessária a instalação da ferramenta ZABBIX com este funcionando e um agente na máquina à qual está instalado. 2.1 Implementação Com o servidor ZABBIX instalado, iremos agora configurá-lo para executar os scripts necessários para o monitoramento. Primeiramente, iremos criar o diretório externalscripts na pasta /etc/zabbix e logo depois extrair o pacote de scripts para este local. # mkdir /etc/zabbix/externalscripts $ tar zvf scripts-zabbix.tar.gz /etc/zabbix/externalscripts Após criado o diretório e extraído os scripts é necessário dar permissão ao usuário do ZABBIX e execução aos scripts. # chown -r zabbix-teste.zabbix-teste /etc/zabbix/ # chmod +x /etc/zabbix/externalscripts/* Agora é necessário informar ao servidor o diretório em que os scripts se encontram, fazemos isso retirando o comentário da seguinte linha no arquivo /etc/zabbix/zabbix server.conf: ExternalScripts=/etc/zabbix/externalscripts 3
Com os arquivos dispostos e as permissões setadas podemos configurá-lo para utilizar os scripts na monitoração. 2.2 Configuração 2.2.1 Template A ferramenta ZABBIX possui vários templates prontos, cada qual com sua finalidade. No nosso caso iremos criar um específico onde serão colocados os itens que utilizarão os scripts. Para tal, iremos na aba Configuration -> Hosts, onde na parte superior direita selecionaremos Templates, e logo após Create Template. Criando um novo template, o ambiente de monitoramento ficará mais visualizável. Preenchemos os campos como mostrado na figura, para facilitar a configuração, e após esta etapa salvamos as alterações. 2.2.2 Itens É necessário criar um item para cada script, esses itens serão responsáveis por informar ao ZABBIX como executá-los e o tratamento dos dados que serão retornados. Na aba Configuration -> Items iremos selecionar na primeira caixa o valor 4
Templates e na segunda Template Scripts, que é o nosso template dos scripts e clique em Create Item. Cada item tem uma configuração diferente, para tal iremos mostrar as configurações de todos os itens, nas seguintes figuras: Perda de Pacotes 5
Retardo de Rede Disponibilidade de Internet 6
Disponibilidade de Link Obs.: O parâmetro entre colchetes no campo key deve ser alterado para o link que deseja ser monitorado. Disponibilidade do Controlador de Chamadas Obs.: O parâmetro entre colchetes no campo key deve ser alterado para o controlador que deseja ser monitorado. 7
Uma observação importante, no primeiro item a ser criado é necessário o preenchimento do campo New application com a palavra Script, já que esta aplicação é nova e será criada para o monitoramento. Com todos os itens criados, podemos passar para a próxima etapa, a criação dos triggers. 2.2.3 Triggers Os triggers funcionam como gatilhos que são ativados quando os itens à que estão ligados retornam valores que tornam a sua expressão verdadeira, assim eles emitem tickets avisando o problema ocorrido, ou apenas os dados lidos. Para adicionarmos um trigger vamos na aba Configuration -> Triggers e na área superior direita selecionamos Templates na parte de Group e Template Scripts na parte de Host, em seguida clicamos em Create Trigger. Clicando em insert na caixa da expressão, podemos ver que o trigger funciona a partir de um item e de uma expressão. Para cada trigger que criaremos é necessário um item diferente, e para este uma expressão. 8
Abaixo, podemos ver como serão configurados os nossos triggers: Retardo de Rede Perda de Pacotes Disponibilidade de Link 9
Disponibilidade de Internet Disponibilidade do Controlador de Chamadas Com os itens e triggers adicionados ao Template Scripts, podemos adicionar o template ao servidor ao qual o ZABBIX está funcionando, para começar o monitoramento dos serviços. Na aba Configuration-> Hosts, clique em ZABBIX Server, ou o nome que foi dado para seu servidor e na parte inferior adicione na área Link with Template o template Template Scripts e salve a alteração. 10
2.2.4 SLA Iremos criar os IT Services para calcular a qualidade dos serviços monitorados. Para isto iremos na aba Configuration -> IT Services clicamos em root e adicionamos o serviço. Para cada item monitorado, também iremos atribuir um serviço SLA, para que possa ser feito o cálculo do tempo em que o serviço ficou disponível. Assim iremos configurar os SLAs de acordo com as seguintes imagens: Retardo de Rede 11
Perda de Pacotes Disponibilidade de Link Disponibilidade de Internet 12
Disponibilidade de Controlador de Chamadas 13
3 Monitorando Para monitorar a qualidade dos serviços entre na aba Monitoring -> IT Services e verificar os gráficos e indicadores de serviços, como mostra a seguinte figura: Serviços É possível ver um gráfico de cada cálculo do serviço SLA, clicando na parte esquerda das descrições, também podemos ver o cálculo de SLA nos últimos 7 dias. Na aba Monitoring -> Latest Data podemos ver os últimos valores lidos de cada item, na seção Scripts, onde cada item possui um gráfico único: Valores lidos pelos itens. 14
4 Créditos Direito Autorais Reservados R Universidade Federal de Minas Gerais Departamento de Ciência da Computação João Victor dos Anjos Bárbara Israel Guerra de Moura Douglas de Almeida Ferreira Esta documentação é livre; você pode redistribuí-la e/ou modificá-la sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; tanto na sua versão 2, como qualquer versão posterior (a seu critério). A distribuição desta documentação é feita na expectativa de que ela seja útil, porém, sem nenhuma garantia; nem mesmo a garantia implícita de comerciabilidade ou adequação a uma finalidade específica. Consulte a Licença Pública Geral do GNU para mais detalhes. http://creativecommons.org/licenses/gpl/2.0/ http://creativecommons.org/licenses/gpl/2.0/legalcode.pt 15