Template e Script para monitoração de performance de discoAdail Spinola | Adail Spinola
Após o post sobre tuning de mysql alguns leitores me questionaram sobre como eu fazia para monitorar a performance do disco e se eu poderia compartilhar o template.
Para monitorar a performance do disco de um servidor linux eu me utilizo de um script que trata as informações constantes no "arquivo" /proc/diskstats. Neste local conseguimos uma série de dados sobre performance de disco.
Para possibilitar a coleta destes dados é necessária a criação de parâmetros de usuário no agente do Zabbix instalado no servidor a ser monitorado. Os procedimentos aqui descritos importam a necessidade de um restart do agente de monitoração logo, se você vai aplicar isso em ambiente de produção certifique-se de possuir janela de manutenção autorizada (é claro que poder testar os procedimentos aqui descritos em um ambiente de laboratório é sempre recomendado).
Para a instalação deste template será preciso:
Download do pacote do template;
Instalar o script de coleta de dados;
Alterar o arquivo de configuração do Agente do Zabbix – no servidor a ser monitorado;
Copiar o arquivo de configuração específico para permitir a execução do script;
Reiniciar o agente do zabbix;
Importar o template (Clique aqui para tutorial sobre importação de templates);
Todos os caminhos referenciados neste tutorial se referem a localizações padrões do zabbix 2.0. Se seu ambiente tiver sido instalado em localizações personalizadas poderão ser necessários alguns ajustes.
Efetue download do template e dos scripts clicando aqui ou execute os comandos abaixo no seu servidor. Nas minhas instalações costumo utilizar o /install ou o /tmp/install para baixar arquivos temporários de instalação do ambiente. Caso seu ambiente adote outro padrão favor modificar as duas primeiras linhas.
wget https://github.com/SpawW/zabbix-templates/blob/master/104-disk-performance/104-disk-performance.zip?raw=true
unzip 104-disk-performance.zip
Caso prefira baixar os arquivos individualmente…
wget https://raw.github.com/SpawW/zabbix-templates/master/104-disk-performance/104-Disk-Performance-Linux.xml
wget https://raw.github.com/SpawW/zabbix-templates/master/104-disk-performance/zadiskio.conf
wget https://raw.github.com/SpawW/zabbix-templates/master/104-disk-performance/zadiskio.sh
O script deverá ser instalado na localização padrão para scripts externos e deveremos garantir que o usuário zabbix possui acesso a execução do mesmo.
cp zadiskio.sh /usr/local/share/zabbix/externalscripts/
chown zabbix: /usr/local/share/zabbix/externalscripts/zadiskio.sh
chmod +x /usr/local/share/zabbix/externalscripts/zadiskio.sh
O Zabbix possui suporte à definição de diretório de arquivos de configuração. Esta funcionalidade é muito útil quando se quer proceder com uma monitoração de melhor qualidade o que, normalmente, implica em utilização de recursos adicionais aos nativos da ferramenta (que já são muitos).
Para habilitar é necessária a alteração do arquivo de configuração do agente zabbix (processo feito apenas uma vez, mesmo que se tenha vários arquivos de configuração adicinais).
No meu caso a linha é a 217, mas isso pode variar de local para local. Você deve remover o comentário da linha abaixo:
#Include=/usr/local/etc/zabbix_agentd.conf.d/
Deixando conforme o exemplo abaixo e salvando o arquivo:
Eu usei o vi para editar o arquivo, sintam-se livres para utilizar o editor que mais lhe agradar.
Copie o arquivo de configuração que adiciona a referência ao script de coleta de performance do disco para a localização informada na tag Include do agente.
cp zadiskio.conf /usr/local/etc/zabbix_agentd.conf.d/
Neste momento está concluída a de configuração dos arquivos, sendo necessário agora reiniciar o agente de monitoração, importar o template no Zabbix e aplicar o mesmo para a monitoração do servidor que teve o agente alterado.
Para reiniciar o agente do Zabbix em um servidor "RedHat / CentOS":
Para reiniciar o agente do zabbix em um servidor "Debian":
Agora sairemos do modo shell para as configurações via interface web. Precisamos importar o arquivo 104_Disk_Monitor.xml. Observe que você precisará ter acesso ao arquivo XML, logo precisará que ele esteja na mesma estação de trabalho que você utilizar para acessar o Zabbix.
Observem que após a importação o zabbix alerta sobre o sucesso ou falha do processo, a tela deverá estar similar à imagem abaixo.
Após a importação do arquivo será criado um grupo chamado "100 – Linux" e, dentro deste grupo, um template chamado "104 – Disk Monitor". Costumo adotar um padrão específico de nomenclatura onde separo os templates e hosts em grupos diferentes e agrupo os templates conforme uma codificação específica, mas isso é assunto para outro post.
Este template não possui nenhum dos elementos normalmente encontrados nos templates padrão Zabbix 1.8. Todos os itens são criados dinamicamente através do processo de low level discovery – LLD. Por isso para ver os itens que o compõem você precisa olhar a parte de Autobusca do template.
Na lista de autobusca podemos observar que o template possui alguns itens, triggers e gráficos ;). Lembrando sempre que os quantitativos apresentados na imagem abaixo são expotenciais, para cada sistema de arquivos que ele localizar ele irá acrescer 12 itens, 1 trigger e dois gráficos.
O intervalo de varredura por modificações está configurado para 24 horas (86400 segundos). É provável que neste momento você esteja pensando: poxa, vou ter que esperar até 24 horas para saber se funciona este template ? Não, podemos fazer a alteração do tempo de varredura no escopo de um host (recomendo o host apontando para o próprio servidor do Zabbix) e ver rapidamente os resultados.
Para facilitar os testes e comprovação sobre o perfeito funcionamento do template crie um host e o associe ao template 104_Disk_Performance, em seguida edite as propriedades do LLD do host (observe… do host, não do template) modificando o intervalo de atualização de 86400 (24 horas) para 60 segundos (por isso a alteração em um host específico… senão o custo operacional pode ser muito alto).
Após a alteração para 60 segundos a lista dos processos de descoberta de baixo nível deverá estar conforme a imagem abaixo.
Vamos aos itens monitorados, temos 12 itens sendo que 10 são do tipo agente ativo e 2 calculados. Qual o motivo deles serem agente ativo ? Simples… os famosos "buracos" dos gráficos do Zabbix são praticamente eliminados quando utilizamos monitoração ativa uma vez que o agente de monitoração consegue continuar fazendo o seu trabalho mesmo que o servidor de monitoração não esteja conseguindo se comunicar com o agente (e vice versa). Em alguns cenários será necessária a alteração destes itens para agente passivo devido à restrições de projeto (por exemplo regras de firewall).
Exemplo de coleta de dados em um servidor com dois sistemas de arquivo instalados:
Além dos dados de performance de disco (principal motivador deste post) temos também informações sobre capacidade do disco. Exemplos de gráficos gerados:
Espero que este artigo auxilie seu ambiente e que as idéias aqui apresentadas auxiliem na organização de sua monitoração pois entendo que sem organização não adianta nada ter uma excelente ferramenta.
Posted in Customização, Templates, Tutoriais, ZabbixTagged configuração, Gerência de Capacidade, Gestão de Capacidade, Gestão de Continuidade, ITIL, Monitoração, Template, tutorial, Zabbix
← Aprendendo Zabbix – Tabelas de mapeamento de valores
Aprendendo Zabbix – Templates – Parte 2 →
19 thoughts on "Template e Script para monitoração de performance de disco"
Brother, só para avisar, o link do template esta quebrado, dando 404.
Elvis, tentei aqui agora e funcionou sem problemas. A tua rede permite o acesso ao github ?
Não ha compatibilidade com o zabbix 1.8 ?
14 de maio de 2013 às 16:40
Fiz o procedimento todo, provavelmente errei em algum ponto, porque no meu laboratório aparece apenas o item "Sistema de Arquivos – Capacidade" e não aparece "Sistema de Arquivos – Performance" como nas imagens do artigo. Alguma sugestão?
Observe se o seu agente está perfeitamente configurado para monitoração ativa, todos os itens gerados são deste tipo.
Em breve vou postar nova versão com melhorias (suporte a LVM) e duas versões do template (ativo e passivo).
30 de julho de 2013 às 8:47
Estou com o mesmo problema do Robson.
Aonde vejo está configuração do Agente passivo ou ativo.
30 de julho de 2013 às 9:10
No arquivo zabbix_agentd.conf (/usr/local/etc/zabbix_agentd.conf) você configura a permissão para o agente se reportar a um servidor zabbix de forma ativa (ActiveServer).
Quando você criar os itens você usa o tipo "Agente Zabbix (Ativo)".
Pode me orientar, pois sou novato no Zabbix.
Como faço está configuração?
Pessoal como faço para configurar um Roteador Cisco na Zabbix 2.0.6 no caso de servidores eu instalo o Agente ou Snmp e no Roteador?
1 de outubro de 2013 às 21:09
Em caso de servidores o normal é usar agente zabbix. Em roteadores SNMP.
Sobre auxilio acredito que um bom caminho seja este forum aqui: http://br.groups.yahoo.com/group/zabbix-brasil/
Onésimo Neto disse:
Boa tarde. Segui o passo-a-passo conforme acima, porem o meu consta como "Not supported by Zabbix Agent" no Zabbix 2.0. Sabe o que pode ser, pois está tudo conforme descrito por ti.
13 de novembro de 2013 às 9:43
Tente verificar a configuração do arquivo do agente (zabbix_agentd.conf) deve ser a configuração de monitoração ativa.
Pelo forum conseguimos interagir melhor: http://br.dir.groups.yahoo.com/group/zabbix-brasil/
29 de outubro de 2013 às 11:15
Adail boa tarde,
zabbix nao coleta dados para gerar graficos, instalamos o zabbix em uma máquina e esta rodando 100%, serviço do windowa ativo, snmp ativos nos equipamentos, fizemos um testes com o cact e coleta dados noemalmente mas o zabbix nao.
Criei host e usei os templates default mas sem sucesso.
13 de novembro de 2013 às 9:41
Sugiro levar a sua dúvida para o fórum no yahoo pois lá conseguiremos interagir melhor.
http://br.dir.groups.yahoo.com/group/zabbix-brasil/
Ele deveria conseguir coletar normalmente… tem que verificar a configuração provavelmente.
Na minha rede eu tenho o zabbix 2.2.2 e ja consigo monitorar maquinas linux. Os discos estão em LVM, só que não consigo monitorar o estado do disdo (espaço total, livre, essas coisas).
Tem que ver o tipo de disco que o SO apresenta… derrepente está num filtro do LLD.
Kaio Moura disse:
13 de outubro de 2015 às 12:51
sabes se essa configurações tem compatibilidade com o zabbix 2.4.6?
fiz as alterações em relação aos diretórios, mas não consigo coletar nenhum dado.
Não testei. Mas provavelmente é configuração do agente… veja se a configuração para monitoração ATIVA foi feita.