web-dev-qa-db-ja.com

Nagiosはサービス状況に基づいてサービス頻度をチェックします

Siを監視することでディスクのスラッシングを検出しようとしているので、vmstatコマンドから。 nagiosを使用して他のサービスを監視しています。サービスチェックは5分ごとに行われます。このスラッシングサービスについては、nagiosが20分ごとにチェックするようにしてください。返されたステータスがOK(つまり、警告またはクリティカル)でない場合は、サービスから返されたステータスがOKになるまで3分ごとにスラッシングサービスをチェックする必要があります。他のすべてのサービスのサービスチェック時間は変更されません。

私はNagiosを初めて使用するので、これに関するどんな助けでも本当にありがたいです。

9
APZ

interval_lengthディレクティブがデフォルトで60に設定されていると仮定します。

$ grep interval_length /usr/local/nagios/etc/nagios.cfg 
# This value works of the interval_length you specify later.  If you leave
# actual seconds rather than a multiple of the interval_length variable.
interval_length=60

特別なサービスについては、/usr/local/nagios/etc/objects/templates.cfgでそのための別のテンプレートを定義する必要があります。

define service{
        name                            special-service    
        ...
        max_check_attempts              3           
        normal_check_interval           20         
        retry_check_interval            3           
        notification_interval           60   
        ...   
        }

以下に注意してください。

  • normal_check_interval:このサービスは、通常の状態で20分ごとにチェックされます
  • retry_check_interval:サービスがOK以外の状態に変化したときに再チェックをスケジュールする前に待機する分数。ステータスを変更せずにサービスをmax_attempts時間再試行した場合、サービスはcheck_intervalレートでのスケジュールに戻ります。

このテンプレートをサービスに使用します。

define service{
    use                     special-service
    Host_name               xx
    service_description     yy
    check_command           zz
    contact_groups          admins
    }

次のように、サービス状態に基づいてnotification_intervalを変更するために service escalation を定義する必要がある場合もあります。

define serviceescalation{
    Host_name               xx
    service_description     yy
    last_notification       0
    notification_interval   10
    escalation_options      [w,u,c]
    contact_groups          admins
    }

これは、サービスがWARNING、UNKNOWN、またはCRITICAL状態のときにこのサービスエスカレーションが使用されることを意味します。そして今、あなたは新しい通知間隔を持っています:10分。

15
quanta