Sabemos que Cacti utiliza SNMP para consultar y recopilar datos. Hasta donde yo sé, el administrador SNMP usa ID de objeto (OID) para consultar sobre un determinado objeto y obtener la respuesta de un agente SNMP con respecto a ese OID.
Lo que me confunde es cómo Cacti utiliza, por ejemplo, perl
un python
script para recopilar datos. ¿Utiliza SNMP entonces? Si es así, ¿cómo funciona el protocolo?
Respuesta1
Con Cacti
usted no está limitado sólo a consultas SNMP.
Puede optar por ejecutar cualquier script propio como método de entrada de datos. Podría ser Perl
, PHP
, o lo que sea Python
. Bash
Simplemente elija el tipo de entrada Script/Comando:
Su secuencia de comandos debe generar al menos un valor. Este valor se adjuntará a un campo de salida Cacti
y se utilizará más adelante para crear el gráfico final.
Si solo necesita un campo de salida, simplemente imprima el valor tal como está (p. ej. 12
) sin nada más (p. ej ms
., %
):
#!/bin/sh
ping -c1 host | grep rtt | cut -d"=" -f2 | cut -d"/" -f2
En caso de que tenga que recuperar varios valores, el formato de salida debe ser:
field1:value1 field2:value2 field3:value3
Luego, cada campo se adjuntará a un campo de salida.
#!/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"
Puede encontrar más explicaciones y ejemplos aquí:
- http://www.cacti.net/downloads/docs/html/making_scripts_work_with_cacti.html
- http://forums.cacti.net/viewtopic.php?t=11288(Ya no lo mantiene el autor, pero aún no está obsoleto).