GNU/Linux >> Linux の 問題 >  >> Linux

電子メールとポケットベル通知を使用して Nagios 連絡先を定義する 4 つの手順

Nagios は、利用可能なオープン ソース サーバーおよびネットワーク監視ソリューションの中で最高のものの 1 つです。柔軟な nagios フレームワークを使用すると、ほぼすべてのもの (データベースやカスタム アプリケーションを含む) を監視できます。この記事では、4 つの簡単な手順を使用して、ホストまたはサービスに問題が発生したときに通知を受け取る連絡先の定義を設定する方法について説明します。
 
Nagios をセットアップして Windows サーバーを監視する方法、Linux サーバーを監視する方法、VPN セッションを監視する方法、およびネットワーク スイッチを監視する方法についても説明しました。

1. templates.cfg で汎用連絡先テンプレートを定義

Nagios をインストールすると、連絡先を作成するための参照として使用できるデフォルトの汎用連絡先テンプレートが提供されます。以下の一般的な連絡先テンプレートに記載されているすべてのディレクティブは必須であることに注意してください。そのため、連絡先でジェネリック連絡先テンプレート定義を使用しないことにした場合は、連絡先内でこれらすべての必須定義を自分で定義する必要があります。
 
次の汎用連絡先は、/usr/local/nagios/etc/objects/templates.cfg で既に利用可能です。また、以下に示すように、templates.cfg はデフォルトで nagios.cfg に含まれています。
 
このジェネリック テンプレートを使用して実際の連絡先を定義すると、templates.cfg に記載されているこれらのディレクティブのいずれかが上書きされる可能性があることに注意してください。

# grep templates /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg

Note: generic-contact is available under
      /usr/local/nagios/etc/objects/templates.cfg

define contact{
        name                            generic-contact
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        register                        0
        }

 

  • 名前 – これは、連絡先テンプレートの名前を定義します (generic-contact)。
  • service_notification_period – これは、nagios がサービスの問題 (Apache のダウンなど) に関する通知をいつ送信できるかを定義します。デフォルトでは、これは /usr/local/nagios/etc/objects/timeperiods.cfg で定義されている 24×7 の期間です。
  • host_notification_period – これは、nagios がホストの問題 (サーバーのクラッシュなど) に関する通知をいつ送信できるかを定義します。デフォルトでは、これは 24 時間 365 日です。
  • service_notification_options – これは、送信できるサービス通知のタイプを定義します。デフォルトでは、これはフラッピング イベントを含むすべての可能なサービス状態を定義します。これには、予定されているサービス ダウンタイム アクティビティも含まれます。
  • host_notification_options – これは、送信できるホスト通知のタイプを定義します。デフォルトでは、これはフラッピング イベントを含むすべての可能なホスト状態を定義します。これには、スケジュールされたホストのダウンタイム アクティビティも含まれます。
  • service_notification_commands – デフォルトでは、連絡先がサービスの問題 (データベースのダウンなど) に関する通知を電子メールで受け取る必要があることを定義します。追加のコマンドを定義して、このディレクティブに追加することもできます。たとえば、独自の notify-service-by-sms コマンドを定義できます。
  • host_notification_commands – デフォルトでは、連絡先がホストの問題 (ホストのダウンなど) に関する通知を電子メールで受け取る必要があることを定義します。追加のコマンドを定義して、このディレクティブに追加することもできます。たとえば、独自の notify-host-by-sms コマンドを定義できます。

2. contacts.cfg で個々の連絡先を定義

一般的な連絡先テンプレートが適切に定義されていることを確認したら、nagios からの通知を受け取る組織内のすべての人に対して、個々の連絡先の定義を開始できます。連絡先を定義したからといって、その連絡先が通知を受け取るわけではないことに注意してください。後で、この連絡先をサービスまたはホスト定義のいずれかに関連付ける必要があります (以降のセクションで説明します)。したがって、ここで考えられるすべての連絡先を自由に定義してください。 (たとえば、開発者、DBA、システム管理者、IT マネージャー、カスタマー サービス マネージャー、トップ マネジメントなど)
 

Note: Define these contacts in /usr/local/nagios/etc/objects/contacts.cfg
define contact{
        contact_name                    sgupta
        use                             generic-contact
        alias                           Sanjay Gupta (Developer)
        email                           [email protected]
        pager                           [email protected]
        }
define contact{
        contact_name                    jbourne
        use                             generic-contact
        alias                           Jason Bourne (Sysadmin)
        email                           [email protected]
        }

3. contacts.cfg で複数の連絡先を持つ連絡先グループを定義する

個々の連絡先を定義したら、それらをグループ化して適切な通知を送信することもできます。たとえば、DBA だけがデータベース ダウン サービス定義について通知される必要があります。そのため、db-admins グループが必要になる場合があります。また、Apache がダウンしたときに通知を受ける必要があるのは Unix システム管理者だけかもしれません。そのため、unix-admins グループが必要になる場合があります。必要と思われる数のグループを自由に定義してください。後で、個々のサービスとホストの定義でこれらのグループを使用できます。
 

Note: Define contact groups in /usr/local/nagios/etc/objects/contacts.cfg

define contactgroup{
contactgroup_name          db-admins
alias                      Database Administrators
members                    jsmith, jdoe, mraj
}

define contactgroup{
contactgroup_name          unix-admins
alias                      Linux System Administrator
members                    jbourne, dpatel, mshankar
}

4.連絡先グループまたは個々の連絡先をサービスおよびホスト定義に添付

個々の連絡先と連絡先グ​​ループを定義したら、次に示すように、それらを特定のホストまたはサービス定義に関連付ける作業を開始します。
 

Note: Following host is defined under
     /usr/local/nagios/etc/objects/servers/email-server.cfg.
     This can be any host definition file.

define host{
use                     linux-server
host_name               email-server
alias                   Corporate Email Server
address                 192.168.1.14
contact_groups          unix-admins
}

Note: Following is defined under
      /usr/local/nagios/etc/objects/servers/db-server.cfg.
      This can be any host definition file.

define service{
use                             generic-service
host_name                       prod-db
service_description             CPU Load
contact_groups                  unix-admins
check_command                   check_nrpe!check_load
}

define service{
use                             generic-service
host_name                       prod-db
service_description             MySQL Database Status
contact_groups                  db-admins
check_command                   check_mysql_db
}

Linux
  1. Vim Edit を使用した電子メール クライアント

  2. mtime - と + で違いを見つける

  3. Nagios を使用してデフォルト以外のポートで ssh を監視する

  1. awkを使用したデータの抽出と表示

  2. LvmとDm-cryptでトリミングしますか?

  3. Nagiosサーバーのベストプラクティス?

  1. 「でスクリプトを実行します。 」と「ソース」で?

  2. cPanelでのメールフィルターとグローバルメールフィルターの操作

  3. Linux から添付ファイルと本文を含むメールを送信する方法