Nagios を利用して時刻同期の監視を行う場合にプラグインが複数有り、ヘルプのみだと腑に落ちなかったので簡単にまとめます。
公式プラグイン集をベースに確認します。
目次
Nagios ntp plugins
公式プラグインとして用意されているのは以下です。
- check_ntp
- check_ntp_peer
- check_ntp_time
check_ntp は現在は非推奨となっており、 check_ntp_peer または check_ntp_time を利用します。
check_ntp_peer = ntpサーバの正常性チェック
check_ntp_time = ntpプロトコルを利用して時刻同期のチェック
となります。
check_time というプラグインもありますが、こちらは timeプロトコルを利用して時刻同期のチェックを行うようです。
(timeサービスでの時刻同期を行っている環境に出会ったことが無いので今回は割愛)
check_ntp_peer
- nagios-plugins/check_ntp_peer.c at master · nagios-plugins/nagios-plugins
- NTPサーバの正常性をチェック
- localhost(監視対象ホスト)とNTPサーバ間の時刻はチェックしない
/usr/lib64/nagios/plugins/check_ntp_peer -H localhost -w 1 -c 2
-H
には監視対象のntpdが動作しているホストを指定します。
上記の場合 localhost 上で動作している ntpd の同期状態をチェックします。
ntpd が動作していること が前提です。ntpdが同期対象としているNTPサーバとの比較になります。
独自NTPサーバを参照している等で不正な値(実際の時刻とはずれている)を返してきている場合でも、参照しているNTPサーバとの同期が取れている状態であれば正常と判断されます。
chrony 未サポート
chrony は未サポートです。
check_ntp_peer は mode 6 で実装されており、 chronyd は mode 6 をサポートしません。
現在公式プラグインでは chronyd の正常性チェックプラグインは無いようです。
- check_ntp_peer with Chrony
- check_ntp_peer relies on insecure NTPd implementation · Issue #57 · nagios-plugins/nagios-plugins
- check_ntp_peer make use of ntp mode 6, supported only ntpd daemon · Issue #1526 · monitoring-plugins/monitoring-plugins
- RFCでのmode定義
+-------------------+-------------------+------------------+ | Association Mode | Assoc. Mode Value | Packet Mode Value| +-------------------+-------------------+------------------+ | Symmetric Active | 1 | 1 or 2 | | Symmetric Passive | 2 | 1 | | Client | 3 | 4 | | Server | 4 | 3 | | Broadcast Server | 5 | 5 | | Broadcast Client | 6 | N/A | +-------------------+-------------------+------------------+
check_ntp_time (check_ntp)
nagios-plugins/check_ntp_time.c at master · nagios-plugins/nagios-plugins
- localhost(監視対象ホスト)とNTPサーバ間の時刻差をチェック
/usr/lib64/nagios/plugins/check_ntp_time -H ntp.nict.jp -w 1 -c 2
-H
には監視対象ホストと比較するNTPサーバを指定します。
localhost を指定した場合は自分自身のNTPサーバとの比較となるため、殆ど意味を成しません。
監視対象ホスト上で時刻同期サービス(ntpd、chronyd、etc...)の起動有無は問いません。