Como o Cacti coleta dados usando scripts?

Como o Cacti coleta dados usando scripts?

Sabemos que o Cacti usa SNMP para consultar e coletar dados. Até onde eu sei, o gerenciador SNMP usa Object ID (OID) para consultar um determinado objeto e obter a resposta de um agente SNMP em relação a esse OID.

O que me confunde é como o Cacti usa, por exemplo, perlou pythonscript para coletar dados? Ele usa SNMP então? Se sim, como funciona o protocolo?

Responder1

Com Cactivocê não está limitado apenas a consultas SNMP.

Você pode optar por executar qualquer script de sua preferência como método de entrada de dados. Pode ser Perl, PHP, ou qualquer outra coisa Python. BashBasta escolher o tipo de entrada Script/Comando:

insira a descrição da imagem aqui

Seu script deve gerar pelo menos um valor. Este valor será anexado a um campo de saída Cactie usado posteriormente para criar o gráfico final.

Se você precisar apenas de um campo de saída, basta imprimir o valor como está (por exemplo, 12) sem mais nada (por exemplo ms, , %):

#!/bin/sh
ping -c1 host | grep rtt | cut -d"=" -f2 | cut -d"/" -f2

Caso você precise recuperar vários valores, o formato de saída deve ser:

field1:value1 field2:value2 field3:value3

Então cada campo será anexado a um campo de saída.

#!/bin/sh
result=$(ping -c1 host | grep rtt | cut -d"=" -f2)
min=$(echo $result | cut -d"/" -f1)
avg=$(echo $result | cut -d"/" -f2)
max=$(echo $result | cut -d"/" -f3)
echo "min:$min avg:$avg max:$max"

Você pode encontrar mais explicações e exemplos aqui:

informação relacionada