Nagios:SMS通知
サーバーの数が増加したため、問題が発生したときにアラートを発する機能を使用してサーバーを監視する必要が生じました。 数年前、通信事業会社で働いていた彼は、彼と一緒に働いていたので、選択肢はNagiosに落ちました。
条件の1つは、SMSメッセージを介して警告する機能でした。
だから、私たちは何を持っていますか、それをすべて一緒に動作させる方法:
-NagiosがインストールされたLinux(Debian 5)サーバー(この記事ではNagios自体の初期インストールと構成のプロセスについては説明しません)
-USBケーブルで接続された携帯電話(この場合はNokia 3110)
-このすべてを一緒に機能させたいという願望:)
開始するには、Nagiosをインストールし、必要なホストを監視するように構成します。
次に、携帯電話で動作するようにシステムを構成します。 これを行うには多くの方法があるため、実装したこのステップについて説明します。
はじめに、gammuプログラムをインストールしました
apt-getインストールgammu
次のステップは、携帯電話で動作するようにgammuを構成することです。 これにはユーティリティを使用できます。
gammu-config。
gammuを構成すると、次の内容の.gammurcファイルがホームディレクトリに表示されます。
〜#cat〜/ .gammurc
[ガム]
ポート= / dev / ttyACM0
接続= at115200
名前= Nokia 3110c
モデル= nauto
操作性を確認するために、次のコマンドを使用します。
〜#echo "テストメッセージ" | gammu sendms TEXT + your_phone_number
そのため、「test msg」というテキストを含むSMSを電話「+ your_phone_number」に送信します。電話番号を国際形式で指定することをお勧めします。
SMSが到着した場合は読み進め、そうでない場合はgammuのセットアップに戻ります(このトピックをグーグルで検索すると、多くのドキュメントを見つけることができます)。
次のステップは、SMSを送信するようにNagiosを構成することです。
nagiosユーザーのホームディレクトリの場所を見つけるために、ファイル/ etc / passwdを調べます(私の場合:/ var / run / nagios3)。 .gammurcファイルをそこにコピーし、nagiosユーザーのアクセス許可を変更します。
〜#chown nagios:./.gammurc
次に、/ usr / bin / gammuファイルのアクセス許可を変更する必要がありました-実行時にUIDを割り当てるため、次のようになりました:
/ usr / bin#ls -la ./gammu
-rwsr-xr-x 1ルートルート360088 2008年5月11日./gammu
次に、Nagiosを構成します。 開始するには、新しいコマンドを追加します。 これは、Nagios構成ディレクトリ(for me / etc / nagios3)のcommands.cfg設定ファイルで行われます。 次の行を追加します。
#「notify-host-by-sms」コマンド定義
定義コマンド{
command_name notify-host-by-sms
command_line / usr / bin / printf "%b" "***** Nagios ***** \ n \ n通知タイプ:$ NOTIFICATIONTYPE $ \ nホスト:$ HOSTNAME $ \ nState:$ HOSTSTATE $ \ nAdd
ress:$ HOSTADDRESS $ \ nInfo:$ HOSTOUTPUT $ \ n \ nDate / Time:$ LONGDATETIME $ \ n "| / usr / bin / gammu sendms TEXT $ CONTACTADDRESS1 $
}
#「notify-service-by-sms」コマンド定義
定義コマンド{
command_name SMSによる通知サービス
command_line / usr / bin / printf "%b" "***** Nagios ***** \ n \ n通知タイプ:$ NOTIFICATIONTYPE $ \ n \ nサービス:$ SERVICEDESC $ \ nホスト:$ HOSTALIA
S $ \ nアドレス:$ HOSTADDRESS $ \ n州:$ SERVICESTATE $ \ n \ n日付/時刻:$ LONGDATETIME $ \ n \ n追加情報:\ n \ n $ SERVICEOUTPUT $ "| / usr / bin / gammu sendms TEXT
$ CONTACTADDRESS1 $
}
次に、連絡先(私の場合、/ etc / nagios3 / conf.dディレクトリ内のcontacts_nagios2.cfg)を使用してファイルを設定します。
address1パラメーターを追加する必要があります。このパラメーターでは、国際形式で携帯電話番号を示し、サービスまたはホストのステータスを変更する際の通知用のコマンドを追加します。
ここに私が以前に持っていた方法があります:
連絡先の定義{
contact_name vano
別名ヴァノ
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w、u、c、r
host_notification_options d、r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
電子メールvano@gde-to.tam
}
そしてその後になったように:
連絡先の定義{
contact_name vano
別名ヴァノ
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w、u、c、r
host_notification_options d、r
service_notification_commands電子メールによる通知サービス、SMSによる通知サービス
host_notification_commands電子メールによるホストへの通知、smsによるホストへの通知
電子メールvano@gde-to.tam
address1 +700000000000
}
次に、Nagiosを再起動して、着信メッセージを楽しんでください:)
少ないほうが良いですが:)
PS:これは私の最初の投稿ですので、あまり蹴らないでください:)質問がある場合-尋ねて、答えようとします:)
UPD:少なくとも私にとっては、別のニュアンスに気付きました。 nagiosユーザーの場合、ホームディレクトリは/ var / run / nagio3で指定されているため、再起動後に.gammurcファイルはそこから消えます。 /etc/rc.localに登録して、このファイルを/ var / run / nagios3ディレクトリにコピーし、所有者をnagiosに変更してサービスを再起動するように登録しました。
/ bin / cp /root/.gammurc / var / run / nagios3
/ bin / chown -R nagios:/ var / run / nagios3
/etc/init.d/nagios3 restart