Linux
Cacti 如何使用腳本收集數據?
我們知道 Cacti 使用 SNMP 來查詢和收集數據。據我所知,SNMP 管理器使用對象 ID (OID) 來查詢某個對象並從 SNMP 代理獲取有關該 OID 的響應。
讓我困惑的是 Cacti 如何使用 eg
perl
或python
腳本來收集數據?那麼它使用SNMP嗎?如果是這樣,那麼協議如何工作?
與
Cacti
您一起不僅限於 SNMP 查詢。您可以選擇執行您自己的任何腳本作為數據輸入法。它可以是
Perl
,PHP
,Python
或Bash
其他。只需選擇腳本/命令輸入類型:您的腳本必須至少輸出一個值。該值將附加到其中的輸出欄位
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"
您可以在此處找到進一步的解釋和範例: