我是 Icinga 的初学者,我已经尝试过多次尝试来找到解决方案。在最终让 check_snmp_int.pl 为我提供性能数据后,我尝试将这些数据提供给 JasperReports 和 Graphite。我在 Google 上搜索了几个小时,但找不到任何答案。我似乎找不到 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"
...
您必须安装一个软件来处理您的 perf 数据。不是 check_snmp_int.pl,它不会保存您的 perfdata。它只会发送如下结果:
检查结果|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 发送检查结果中的 perfdatas,这些结果位于响应中管道的正确部分。
为此,您必须在 icinga 的 conf 中激活 perfdata,并向 icinga2 说明将使用哪个代理来处理 perfdata。
当 pnp4nagios 收到数据时,它会将数据写入默认存储在的文件中/usr/local/pnp4nagios/var/perfdata/
。每个主机都有一个目录,其中每个服务有两个文件:一个 xml 文件和一个 rrd 文件。
我应该安装哪种软件来处理我的性能数据?
pnp4nagios 就是为此而做的。
你是指 IDO2DB 或 FILE2SOCK 之类的东西吗?
IDO2DB 或 FILESOCK 是 icinga2 填充数据库的方式。
您知道我们如何重写上面提到的服务吗?因为它目前不起作用。默认情况下,脚本会以上面显示的格式发送结果。
您可以直接在控制台中测试您的 check_snmp_int.pl,看看管道后是否有数据。
此外,您必须在 icinga.conf 中激活 perfdata 并声明您的代理。