Criando um template customizado para o CACTI

Alguma vez precisou configurar um novo dispositivo no CACTI e descobriu que não existe template em lugar nenhum da internet? Bom, a solução é criar um template do zero, mãos a obra!

[ Hits: 23.172 ]

Por: Sergei Martao em 02/10/2015


Introdução



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.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Criando o arquivo XML
   3. Criando um Data Template
   4. Criando um Graph Templates
   5. Criando o Data Query Template
   6. Adicionando em um Host
   7. Considerações e referências
Outros artigos deste autor

Configurando o segundo default gateway para um link de entrada específico

Planejando e migrando softwares do Windows para o Linux

Simulando redes com o GNS

Utilizando o script vpnautomatica

Openswan - Configurando uma conexão VPN Site-to-Site e simulando com GNS3

Leitura recomendada

Conexões Wireless com DHCP no Slackware - Configuração à moda antiga

Configurando Zabbix 3.4 no CentOS 7

Asterisk - Configuração de conferência com PIN

SNMPv3 no Debian/Ubuntu - Configurando para consultas externas

Sincronizando Bases OpenLDAP e Active Directory

  
Comentários
[1] Comentário enviado por fabio_cirino em 02/10/2015 - 17:44h

Muito bom este artigo. Ha muito tempo que venho procurando esse tipo de informação. Obrigado

[2] Comentário enviado por leandro.leal em 06/10/2015 - 11:43h


Perfeito artigo. Também venho procurando a muito tempo sobre isso

[3] Comentário enviado por ramonpereira em 16/01/2017 - 13:50h

Parabéns pelo artigo, muita informação boa aqui.

Segui os passos conforme explicado, porém não consigo adicionar o gráfico ao host. Ao adicionar a relativa data query ao host, retorna "Success [0 Items, 0 Rows]". E ao executar uma verbose query, retorna o seguinte:
+ Running data query [24].
+ Found type = '3' [SNMP Query].
+ Found data query XML file at '/usr/share/cacti/resource/snmp_queries/ups_mib.xml'
+ Error parsing XML file into an array.
+ Found data query XML file at '/usr/share/cacti/resource/snmp_queries/ups_mib.xml'
+ Found data query XML file at '/usr/share/cacti/resource/snmp_queries/ups_mib.xml'
+ Found data query XML file at '/usr/share/cacti/resource/snmp_queries/ups_mib.xml'

Já passei um tempo pesquisando sobre o assunto mas até agora não cosegui resolver. Alguém saberia indicar o meu erro?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts