パッシブチェックのアラートを freshness で自動で解除する

snmptrap などによる通知を Nagios のパッシブチェックで受けるとき、アラートになったあと手動で解除するまでずっとアラート状態のままになります。解除(OK)もパッシブで受けるようになっていれば別ですけど・・・

なんとなくずっとアラート状態のままなのも気持ち悪いので Freshness チェックを用いて一定時間後に自動で解除されるようにしてみます。

define service{
    use                     generic-service
    host_name               hoge-server
    service_description     Passive check

    # パッシブチェックのためのオマジナイ
    active_checks_enabled   0
    passive_checks_enabled  1
    is_volatile             1
    max_check_attempts      1

    # 通知は1回だけ&復旧は通知しない(お好みで)
    notification_interval   0
    notification_options    w,u,c

    # 3600 秒でアラートを解除する
    check_freshness         1
    freshness_threshold     3600
    check_command           check_dummy!0 "Passive check cleared automatically over 60 minutes"
}

# ↑で使っている check_dummy の定義
define command {
    command_name    check_dummy
    command_line    /usr/lib64/nagios/plugins/check_dummy $ARG1$
}

アラート状態になったあと、1時間何もなければ自動的にアラートが解除されます。