Cacti 如何使用腳本收集資料?

Cacti 如何使用腳本收集資料?

我們知道Cacti使用SNMP來查詢和收集資料。據我所知,SNMP 管理器使用對象 ID (OID) 來查詢某個對象,並從 SNMP 代理程式取得有關該 OID 的回應。

讓我困惑的是Cacti如何使用egperlpython腳本來收集資料?那麼它使用SNMP嗎?如果是的話,協議如何運作?

答案1

Cacti您一起,您不僅限於 SNMP 查詢。

您可以選擇執行您自己的任何腳本作為資料輸入方法。可以是、、、Perl或其他。只需選擇腳本/命令輸入類型:PHPPythonBash

在此輸入影像描述

您的腳本必須輸出至少一個值。該值將附加到其中的輸出字段Cacti,並在稍後用於建立最終圖表。

如果您只需要一個輸出字段,只需按原樣列印該值(例如12),而不需要任何其他內容(例如ms, %):

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

如果您必須檢索多個值,則輸出格式必須為:

field1:value1 field2:value2 field3:value3

然後每個欄位將附加到一個輸出欄位。

#!/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"

您可以在這裡找到進一步的解釋和範例:

相關內容