Nagios Core/XI で設定されたさまざまなアラートのパフォーマンス データを取得しようとしています。RRDに保存されていると思います。アクセスする方法はありますか?
1 に答える
Nagios XI を使用している場合、このデータをいくつかの異なる方法で取得できます。
XI 5 以降を使用している場合、思い浮かぶ最も簡単な方法は API です。管理者として XI サーバーにログインし、[ヘルプ] メニューに移動して、左側のナビゲーションで [オブジェクト リファレンス] を選択し、[オブジェクト リファレンス] ナビゲーション ボックスから [GET objects/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"
]
}
]
}
}
しかし、待ってください、別の方法があります
この方法は、使用しているバージョンに関係なく機能し、Core システムで 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 documentation
これが役に立ったことを願っています!