雑記録 - Nagios NSCA PNP Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

@@ -19,38 +19,37 @@

!!!Nagiosの設定
/usr/local/etc/pnp/nagios.cfg-sampleにサンプルがあるので、これを参考にNagiosの設定ファイル(/usr/local/etc/nagios/nagios.cfg)を修正する。
+
+PNPの動作モードにはSynchronous Mode(イベントを受信するたびにグラフを更新)、Bulk Mode(受信したイベントのデータを一時ファイルに保存して指定時間間隔でグラフを更新)、Bulk Mode with NPCD(グラフの更新を別デーモン化)などがあるが、ここではSynchronous ModeとBulk Modeの設定について記述する。
+
<<<p
--process_performance_data=0
-+process_performance_data=1
+process_performance_data=1

--#host_perfdata_command=process-host-perfdata
--#service_perfdata_command=process-service-perfdata
-+host_perfdata_command=process-host-perfdata
-+service_perfdata_command=process-service-perfdata
+# Synchronous Mode 用(Bulk Mode設定時は記述しない)
+host_perfdata_command=process-host-perfdata
+service_perfdata_command=process-service-perfdata

--#host_perfdata_file=/tmp/host-perfdata
--#service_perfdata_file=/tmp/service-perfdata
-+host_perfdata_file=/var/spool/nagios/pnp/perfspool/host-perfdata
-+service_perfdata_file=/var/spool/nagios/pnp/perfspool/service-perfdata
+# Bulk Mode 用(Synchronous Mode設定時は記述しない)
+host_perfdata_file=/var/spool/nagios/pnp/perfspool/host-perfdata
+service_perfdata_file=/var/spool/nagios/pnp/perfspool/service-perfdata

--#host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$
--#service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$
-+host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$
-+service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$
+host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
+service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$

--#host_perfdata_file_mode=a
--#service_perfdata_file_mode=a
-+host_perfdata_file_mode=a
-+service_perfdata_file_mode=a
+host_perfdata_file_mode=a
+service_perfdata_file_mode=a

--#host_perfdata_file_processing_interval=0
--#service_perfdata_file_processing_interval=0
-+host_perfdata_file_processing_interval=0
-+service_perfdata_file_processing_interval=0
+# 実行間隔(秒)、グラフの更新処理中はチェックも止まるので、あまり長くしない(もしくはNPCDモードにする)
+host_perfdata_file_processing_interval=180
+service_perfdata_file_processing_interval=60
+
+host_perfdata_file_processing_command=process-host-perfdata-file
+service_perfdata_file_processing_command=process-service-perfdata-file
>>>

コマンド定義ファイル(/usr/local/etc/nagios/commands.cfg)に以下の定義を追加する
<<<p
+# Synchronous Mode 用
define command {
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/libexec/process_perfdata.pl
@@ -59,6 +58,16 @@
define command {
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/libexec/process_perfdata.pl -d HOSTPERFDATA
+}
+
+# Bulk Mode 用
+define command {
+ command_name process-host-perfdata-file
+ command_line /usr/local/bin/perl /usr/local/libexec/process_perfdata.pl --bulk=/var/spool/nagios/pnp/perfspool/host-perfdata
+}
+
+define command {
+ command_name process-service-perfdata-file
+ command_line /usr/local/bin/perl /usr/local/libexec/process_perfdata.pl --bulk=/var/spool/nagios/pnp/perfspool/service-perfdata
}
>>>