我絕對是 Icinga 的初學者,並且我已經嘗試了幾次絕望的嘗試來尋找解決方案。最終使用 check_snmp_int.pl 為我提供效能資料後,我嘗試將此資料提供給 JasperReports 和 Graphite。我在谷歌上搜尋了幾個小時,但找不到任何答案。我似乎找不到 check_snmp_int.pl 保存效能檢查資料的位置。
我正在嘗試: Ubuntu 14.04 Icinga2版本:r2.5.4-1 IcingaWeb2版本2.3.4
我已經安裝了插件 check_snmp_int.pl。
object CheckCommand "check_snmp_int" {
import "plugin-check-command"
command = [PluginDir + "/check_snmp_int.pl"]
arguments = {
"-H" = "$snmp_address$"
"-C" = "$snmp_community$"
"-p" = "$snmp_port$"
"-2" = {set_if = "$snmp_v2$"}
"-o" = "$snmp_oid$"
"-f" = {set_if = "$snmp_perf$"}
"-w" = "$snmp_warn$"
"-c" = "$snmp_crit$"
}
}
這是我用插件實現的服務。
apply Service "bandbreitenueberwachung" {
check(unknown) at 12:40 ..._int"
check_interval = 5m
assign where host.vars.os == "Switch"
}
總而言之:check_snmp_int.pl 在哪裡保存資料以及在哪裡檢索數據,以便我可以在 IcingaWeb 中使用它們。
謝謝大衛。
答案1
在您的 icinga2 配置中,您必須啟動效能資料並選擇代理程式(將處理您的支票發送的效能資料的軟體)。
icinga2.conf 例如:
...
process_performance_data = 1
broker_module = "/usr/local/pnp4nagios/lib/npcdmod.o config_file=/usr/local/pnp4nagios/etc/npcd.cfg"
...
您必須安裝一個軟體來處理您的效能數據。 check_snmp_int.pl 不會保存您的效能資料。它只發送他的結果,如下所示:
檢查結果|graph1=... graph2=...
例 :
4 disks OK. Disk #1: ok, Disk #2: ok, Disk #3: ok, Disk #4: ok, |Disk #1=1 Disk #2=1 Disk #3=1 Disk #4=1
管道的左側部分是您的服務的回應,右側部分用於在您的圖表中進行軟處理。
編輯1:
pnp4nagios 是否可以與 Graphite 一起使用,如果可以,如何運作?
我從未使用過石墨,但從網路上的教學來看,pnp 似乎適用於石墨。
pnp4nagios 將等待 icinga 從檢查結果中發送效能數據,這些檢查結果位於回應中管道的右側部分。
為此,您必須在 icingaconf 中啟動 perfdata,並向 icinga2 解釋它將使用哪個代理來處理 perfdata。
當 pnp4nagios 接收到資料時,它將它們寫入預設儲存在/usr/local/pnp4nagios/var/perfdata/
.每個主機都有一個目錄,其中每個服務有兩個檔案:一個 xml 和一個 rrd 檔案。
我應該安裝哪個軟體來處理我的效能數據?
pnp4nagios 就是為此而做的。
您是指 IDO2DB 或 FILE2SOCK 之類的東西嗎?
IDO2DB 或 FILESOCK 是 icinga2 填入資料庫的方式。
您知道我們如何重寫上面提到的服務嗎,因為它目前不起作用。預設情況下,腳本會發送 perfattas,結果的格式如上所示。
您可以直接在控制台中測試 check_snmp_int.pl 並查看管道後是否有資料。
此外,您必須啟動 icinga.conf 中的 perfdata 並聲明您的代理程式。