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: 22.543 ]

Por: Sergei Martao em 02/10/2015


Criando o arquivo XML



Para criar o arquivo XML utilizado pelo de Dataquery Remplate, é necessário seguir algumas regras.

<query>

Sempre começa com query.

<name>Fortigate - System Info</name>

Nome que deseja colocar na consulta XML, não é utilizado pelo CACTI, apenas para identificação.

<description>Fortigate - System Info</description>

Descrição do XML, também não é utilizado pelo CACTI, apenas para identificação.

<oid_index>.1.3.6.1.4.1.12356.101.4.1.2</oid_index>

Essa é a parte mais critica do script aqui deve ser inserido o OID de identificação dos índices dos objetos.

Objetos que estamos utilizando:

1.3.6.1.4.1.12356.101.4.1.3 - fgSysCpuUsage
1.3.6.1.4.1.12356.101.4.1.4 - fgSysMemUsage
1.3.6.1.4.1.12356.101.4.1.5 - fgSysMemCapacity
1.3.6.1.4.1.12356.101.4.1.6 - fgSysDiskUsage
1.3.6.1.4.1.12356.101.4.1.7 - fgSysDiskCapacity
1.3.6.1.4.1.12356.101.4.1.8 - fgSysSesCount

Voltando no mibdepot e pesquisando pelo OID 1.3.6.1.4.1.12356.101.4.1.2
Esse OID é o índice dos objetos que estamos utilizando, normalmente cada categoria tem um objeto que serve de índice apenas, normalmente é o primeiro o segundo número da categoria, nesse caso é o segundo.

<index_order_type>numeric</index_order_type>

Usado para fins de classificação:
  • numeric: os índices da consulta vão ser classificados numericamente (ex: 1,2,3,4,10,11,20,21,30).
  • alphabetic: os índices da consulta SNMP serão classificados por ordem alfabética (ex: 1,10,2,21,22,3,33,343,4,40).

<index_title_format>|chosen_order_field|</index_title_format>

Para facilitar mantenha o valor como |chosen_order_field|.

<fields>

Aqui começa a definir os campos que vão ser usados pelo CACTI.

<Index>

O primeiro campo sempre deve ser o index.

<name>Index</name>

Definir o nome do campo, não é necessário se chamar index, apenas boas práticas.

<method>walk</method>

O método de busca da informação.
  • get: executa um snmpget para um OID especifico, mais rápido porem funciona apenas para um OID.
  • walk: corre uma parte da árvore de OID, funciona como o snmpwalk, mais lento pois pesquisa vários OIDs do grupo, contudo mais utilizado, devido a flexibilidade.

<source>value</source>

Como o CACTI vai obter o valor, utilizando value será assumido o valor que o OID ira trazer, porém podemos usar REGEX para buscar um IP na árvore.

<direction>input</direction>

Direção, outra parte muito importante!
  • Input: esses valores são conhecidos, exemplo, nome do host, versão e etc. (não são valores para criar o gráfico.)
  • Outut: Valores para criar gráfico, porcentagem de CPU, Memoria, Disco e etc...

<oid>.1.3.6.1.4.1.12356.101.4.1.2</oid>

OID gerenciador de índice, o bendito do final .2 que vimos anteriormente.

</Index>

Fechando o campo index, a partir daqui podemos criar quantos campos quiser.

</fields>

Fechando a consulta de campo.

</query>

Fechando o arquivo XML.

Sabendo o básico podemos criar o template, segue exemplo para monitorar CPU, Memoria RAM, Disco e Numero de sessões.

<query>
        <name>Fortigate - System Info</name>
        <description>Fortigate - System Info</description>
        <oid_index>.1.3.6.1.4.1.12356.101.4.1.2</oid_index>
        <index_order_type>numeric</index_order_type>
        <index_title_format>|chosen_order_field|</index_title_format>
        <fields>
                <Index>
                        <name>Index</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>input</direction>
                        <oid>.1.3.6.1.4.1.12356.101.4.1.2</oid>
                </Index>
                <SysVersion>
                        <name>Firmware Version</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>input</direction>
                        <oid>.1.3.6.1.4.1.12356.101.4.1.1</oid>
                </SysVersion>
                <SysCpuUsage>
                        <name>CPU Usage Porcent</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.4.1.12356.101.4.1.3</oid>
                </SysCpuUsage>
                <SysMemUsage>
                        <name>Mem Usage Porcent</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.4.1.12356.101.4.1.4</oid>
                </SysMemUsage>
<SysMemCapacity>
                        <name>Mem Capacity KB</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.4.1.12356.101.4.1.5</oid>
                </SysMemCapacity>
                <SysDiskUsage>
                        <name>Disk Usage MB</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.4.1.12356.101.4.1.6</oid>
                </SysDiskUsage>
                <SysDiskCapacity>
                        <name>Disk Capacity MB</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.4.1.12356.101.4.1.7</oid>
                </SysDiskCapacity>
<SysSesCount>
                        <name>Active Sessions</name>
                        <method>walk</method>
                        <source>value</source>
                        <direction>output</direction>
                        <oid>.1.3.6.1.4.1.12356.101.4.1.8</oid>
                </SysSesCount>
        </fields>
</query>

Diretório onde o script foi salvo:

<path_cacti>/resource/snmp_queries

Para quem tem dúvida path_cacti aqui esta como: /usr/share/cacti/

Nome do script: fortigate_system_info.xml

Agora precisamos preparar o CACTI para utilizar esse Data Query Template.

Página anterior     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

Utilizando o script vpnautomatica

Planejando e migrando softwares do Windows para o Linux

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

Simulando redes com o GNS

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

Leitura recomendada

Site Survey Plan

Problemas encontrados na adoção do IPv6

Servidor de logs para Routers e Switches Cisco

Emulador de Redes Mininet

Zoneminder: Substituindo um Unifi NVR

  
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