9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Nagiosメモ - 時間帯定義

Posted at

     Nagios logo.jpg

■はじめに

Nagiosでは監視項目毎に監視時間帯を設定出来ます。

例えば、コスト管理のため深夜帯(0:00-6:00)はサーバを停止する運用としていた場合、該当時間帯は監視しないよう設定することが可能です。

これまでシンプルな時間帯設定はやったことがあったのですが、便利な定義方法がドキュメントに記載されていましたため、試してみました。

■検証環境

# nagios --version
Nagios Core 3.4.1

■参考ドキュメント

・Nagios 3 ドキュメント - 時間帯定義

・設定例

■基本的な設定

・まずは基本的な定義方法を記載します。

○基本的な時間帯の定義

  1. 時間帯定義 - フォーマット
vi ./timeperiods.cfg (ファイル名は任意)
------
define timeperiod{
    timeperiod_name 	timeperiod_name
    alias 	            alias
    [weekday] 	        timeranges ;平日の設定
    [exception]         timeranges ;例外の設定
    exclude             [timeperiod1,timeperiod2,...,timeperiodn]
}
  1. 時間帯定義 - 設定例
define timeperiod{
    timeperiod_name     timeperiod_mitzi
	alias               Non-Work Hours
    sunday              00:00-24:00
    monday              00:00-09:00,17:00-24:00
    tuesday             00:00-09:00,17:00-24:00
    wednesday           00:00-09:00,17:00-24:00
    thursday            00:00-09:00,17:00-24:00
    friday              00:00-09:00,17:00-24:00
    saturday            00:00-24:00
}
→ 月〜金の9:00-17:00は監視対象外
→ 土日は、24時間監視

・補足
※指定書式は24時間制でHH:MM-HH:MM
※特定の曜日の時間範囲を空欄にすると、それはその日は"有効"ではない時間帯として扱われる

  1. サービスへ定義反映
    ・各監視項目に下記ディレクティブを追加する
define service{
    (省略)
	check_period			<timeperiod_name>
	notification_period		<timeperiod_name>
}

・補足
※check_period チェックする時間帯(デフォルト: 24x7)
※notification_period 通知時間帯(デフォルト: 24x7)

■検証

○共通手順

  1. 設定が完了したら構文チェック
# nagios -v /etc/nagios/nagios.cfg
    1. で問題ないことを確認したら反映のため再起動
# service nagios restart
  1. 確認
    NagiosGUIの表示に反映されることをもって今回は確認としています。

○利用したサービス

・監視時間帯の定義をCPU監視に設定しました

define service {
    use                         mitzi_cloudpack.jp-service
    host_name                   mitzi_cloudpack.jp_develop-ec2
    service_description         cpu_ec2
    service_groups              cpu_ec2
    check_command               check-cloudwatch-cpu_ec2-cloudpack!60!80!<インスタンスID>
    check_period                timeperiod_mitzi
    notification_period         timeperiod_mitzi
}

○ 01. 基本的な設定ができる事を確認

※ dateコマンドにて確認時点の日時を記載しています(以下略)。

# date
2015年  9月  1日 火曜日 21:40:36 JST

define timeperiod{
    timeperiod_name     timeperiod_mitzi
    alias               Non-Work Hours
    tuesday             00:00-09:00,23:00-24:00
}

20150901_時間帯設定検証01.png

○ 02-1. 指定日付を毎月チェック

・毎月2日は監視するよう指定

# date
2015年  9月  2日 水曜日 18:55:23 JST

define timeperiod{
    timeperiod_name     timeperiod_mitzi
    alias               Non-Work Hours
    day 2               00:00-19:10
}
→ 次の監視タイミングが 10-02-2015 00:00:00 となっており設定は有効なようだ。

20150901_時間帯設定検証02_指定日付を毎月チェック01.png

・9/2以降の表示結果
20150901_時間帯設定検証02_指定日付を毎月チェック02.png

○ 02-2. 指定日付(範囲)を毎月チェック

・毎月15日から月末まで監視

# date
2015年  9月  4日 金曜日 06:41:22 JST

define timeperiod{
    timeperiod_name     timeperiod_mitzi
    alias               Non-Work Hours
    day 15 - -1          00:00-09:00,17:00-24:00
}
→ 反映されている模様。月末まで監視出来ていなかった場合は追ってご報告します。

20150904_時間帯設定検証02-2_指定日付_範囲_を毎月チェック.png

○ 03. 特定日をチェック

・指定日付(2015/09/05)の指定時間をピンポイントで監視

# date
2015年  9月  4日 金曜日 06:41:22 JST

define timeperiod{
    timeperiod_name     timeperiod_mitzi
    alias               Non-Work Hours
    2015-09-05          00:00-09:00,17:00-24:00 
}
→ 指定日に監視するよう反映されていました。

20150904_時間帯設定検証03_指定日01.png

■まとめ

ドキュメント記載どおりの定義にて、監視時間帯を設定できることが確認出来ました。
因みにその他にも定義方法があるようですが、上記を応用することでほぼ網羅出来るかと思います。

以上、シンプルで簡単に時間指定が出来ますというご報告でした。

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?