O objetivo desse artigo é mostrar como criar um template completo para utilização no
CACTI (Data Query XML, Data Template, Graph template), assim permitindo a coleta de informações via SNMP e gerar gráficos.
Quem utiliza o CACTI sabe que ele uma
gigantesca biblioteca de templates no fórum e às vezes, os próprios fabricantes fornecem os templates para facilitar a vida dos usuários, porém algumas raras ocasiões precisamos coletar informações via SNMP que o equipamento fornece, mas não existe template em lugar lugar nenhum.
Caso esteja com esse problema, seja bem vindo e mãos a obra!
Obs.: estarei utilizando como exemplo um firewall
Fortigate, porém o conceito pode ser aplicado a qualquer outro equipamento que esteja com o SNMP ativado.
Ambiente utilizado:
- Distribuição: Ubuntu Server 12.04.5 LTS x64
- Kernel: 3.2.0-23-generic
- CACTI: 0.8.7i
Encontrando OIDs interessantes
A primeira coisa a se fazer é saber quais são as informações que o equipamento pode retornar via SNMP, normalmente pesquiso primeiro no
oidview e depois no
mibdepot .
O primeiro mostra um overview da MIB, o segundo vai mais a fundo, mostrando os detalhes de cada OID.
Fazendo um pesquisa simples no oidview por Fortigate podemos encontrar várias informações importantes que o SNMP pode retornar, entre elas.
- fgSysCpuUsage - 1.3.6.1.4.1.12356.101.4.1.3 # Utilização de CPU
- fgSysMemUsage - 1.3.6.1.4.1.12356.101.4.1.4 # Utilização de Memoria RAM
- fgSysMemCapacity - 1.3.6.1.4.1.12356.101.4.1.5 # Capacidade de Memoria RAM
- fgSysDiskUsage - 1.3.6.1.4.1.12356.101.4.1.6 # Utilização do disco
- fgSysDiskCapacity - 1.3.6.1.4.1.12356.101.4.1.7 # Capacidade do disco
- fgSysSesCount - 1.3.6.1.4.1.12356.101.4.1.8 # Número de sessões abertas
No entanto não é mostrado os detalhes de como essa informação é trazida. Ex.: o objeto "fgSysMemUsage" vai trazer a memoria utilizada em porcentagem ou em megabytes?
Para descobrir acesse o mibdepot:
Repare que a MIB FORTINET-FORTIGATE-MIB corresponde com o prefixo dos OIDs que estamos pesquisando, 1.3.6.1.4.1.12356.101.
Na próxima página basta fazer um pesquisa no browser utilizando o objeto ou OIDs, usando o exemplo fgSysMemUsage ou 1.3.6.1.4.1.12356.101.4.1.4 e abrir o link.
A informação trazida:
SYNTAX Gauge32 ( 0..100 )
O retorno desse OID será de 0 a 100, 99% dos caso isso significado que é porcentagem.
MAX-ACCESS read-only
Esse objeto é apenas leitura, ou seja não tem como alterar a informação.
DESCRIPTION "Current memory utilization (percentage)"
A descrição, confirmando que o retorno da memoria utilizada sera em porcentagem.
Após descobrir o retorno de todos os objetos podemos começar a fazer o script.