我希望在我的 Nagios Core/XI 中获取各种警报设置的性能数据。我认为它存储在 RRD 中。有什么方法可以访问它吗?
问问题
1160 次
1 回答
3
如果您使用的是 Nagios XI,您可以通过几种不同的方式获取此数据。
如果您使用的是 XI 5 或更高版本,那么最容易想到的方法就是 API。以管理员身份登录到您的 XI 服务器,导航到“帮助”菜单,然后在左侧导航中选择“对象引用”并从“对象引用”导航框中找到“获取对象/rrdexport”(或向下滚动到附近底部)。
curl 示例可能如下所示:
curl -XGET "http://nagiosxi/nagiosxi/api/v1/objects/rrdexport?apikey=YOURAPIKEY&pretty=1&host_name=localhost"
您的回复应类似于:
{
"meta": {
"start": "1453838100",
"step": "300",
"end": "1453838400",
"rows": "2",
"columns": "4",
"legend": {
"entry": [
"rta",
"pl",
"rtmax",
"rtmin"
]
}
},
"data": {
"row": [
{
"t": "1453838100",
"v": [
"6.0373333333e-03",
"0.0000000000e+00",
"1.7536000000e-02",
"3.0000000000e-03"
]
},
{
"t": "1453838400",
"v": [
"6.0000000000e-03",
"0.0000000000e+00",
"1.7037333333e-02",
"3.0000000000e-03"
]
}
]
}
}
但是等等,还有另一种方法
无论您使用的是什么版本,这种方式都可以使用,并且如果您在核心系统上使用 NPCD 处理性能数据,它实际上也可以使用。
通过 ssh 或控制台登录到您的服务器,然后将您的屁股转移到该/usr/local/nagios/share/perfdata
目录。从这里我们将使用localhost对象作为示例。
$ cd /usr/local/nagios/share/perfdata/
$ ls
localhost
$ cd localhost/
$ ls
Current_Load.rrd Current_Users.xml HTTP.rrd PING.xml SSH.rrd Swap_Usage.xml
Current_Load.xml _HOST_.rrd HTTP.xml Root_Partition.rrd SSH.xml Total_Processes.rrd
Current_Users.rrd _HOST_.xml PING.rrd Root_Partition.xml Swap_Usage.rrd Total_Processes.xml
$ rrdtool dump _HOST_.rrd
一旦你运行rrdtool dump
命令,就会有大量的输出,所以我把它作为练习留给你,读者;)
如果您尝试自动化某种类型的东西,那么您应该注意 xml 文件包含 rrd 文件的元数据,并且可能对首先进行解析很有用。
另外,如果你和我一样,你喜欢阅读技术手册。这是一个很好的阅读:RRDTool 文档
希望这有帮助!
于 2017-01-06T17:39:50.580 回答