私は 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 データを処理するソフトウェアをインストールする必要があります。perf データを保存するのは check_snmp_int.pl ではありません。次のように結果を送信するだけです。
チェックの結果|グラフ1=... グラフ2=...
例 :
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 ファイルの 2 つのファイルがあります。
パフォーマンスデータを処理するためにどのソフトウェアをインストールする必要がありますか?
pnp4nagios はそのために作られました。
IDO2DB や FILE2SOCK のようなものを意味しますか?
IDO2DB または FILESOCK は、icinga2 がデータベースにデータを入力する方法です。
上記のサービスは現時点では機能しないので、これを書き直す方法をご存知ですか。デフォルトでは、スクリプトは上記の形式で結果を含む perfadtas を送信します。
check_snmp_int.pl をコンソールで直接テストし、パイプの後にデータがあるかどうかを確認できます。
さらに、icinga.conf で perfdata を有効にし、ブローカーを宣言する必要があります。