Amazon Linux on EC2へnagiosをインストールしたときのハマりポイント
nagiosって何
Nagios(ナギオス)は、オープンソースのコンピュータシステムおよびネットワークの監視のためのアプリケーションソフトウェアである。Nagios は指定されたノードとサービスを監視し、問題が発生したり解決したりした時にユーザーに通知する。
ってことなんですが、分かりやすい例でいうと、HTTPDが落ちたときにメールで通知してくれたりします。
なんでnagios
「ウェブオペレーション ―サイト運用管理の実践テクニック」を読んで、インフラ寄りにも興味を持たなければいけないと思ったから。
本を読むことも、nagiosをインストールしてみることも、このブログエントリを書くことも、全てYAGNI原則に反するわけですが、面白かったからヨシとする。
ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)
- 作者: John Allspaw,Jesse Robbins,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/05/14
- メディア: 大型本
- 購入: 10人 クリック: 923回
- この商品を含むブログ (50件) を見る
インストール手順
Fedora Quickstart
これの通りにやれば、http://example.com/nagios が表示されるまでは、スムーズにいくはず。
僕は、yum install phpやり忘れていたので、トップページがぐちゃぐちゃに表示されるというワナ?にかかりました。
続いて、僕がハマったポイントをいくつか。
ハマりポイントその1
事象
SWAP CRITICAL - 100% free (0 MB out of 0 MB)
が表示される。
原因
スワップ領域がないから
swapon -sで調べられるそうです。
[root@example.com ~]# swapon -s Filename Type Size Used Priority [root@example.com ~]#
対策
監視サービスから除外しました。
(参考)【nagios構築】ローカルサーバ監視でCRITICALが表示される件 - nagios構築
■/usr/local/nagios/etc/objects/localhost.cfgの該当部分をコメントアウト
# Define a service to check the swap usage the local machine. # Critical if less than 10% of swap is free, warning if less than 20% is free #define service{ # use local-service ; Name of service template to use # host_name localhost # service_description Swap Usage # check_command check_local_swap!20!10 # }
ハマりポイントその2
事象
localhost;HTTP;WARNING;HARD;4;HTTP WARNING: HTTP/1.1 403 Forbidden - 4037 bytes in 0.001 second response time
が表示される。
原因
check_httpは、デフォルトでは/(http://example.com/index.html)をチェックしにいくが、ファイルが存在しないため。
対策
単純に/var/www/html/index.htmlを置いてもよいが、監視対象uriを変更することで対応した。
(参考)質問BBS - Fedoraで自宅サーバー構築
■(変更前)/usr/local/nagios/etc/objects/localhost.cfg
check_command check_http
■(変更後)/usr/local/nagios/etc/objects/localhost.cfg
check_command check_http! -u /hoge.php
ちなみに、
/usr/local/nagios/libexec/check_http -h
で、他のオプションも見ることができる。(別のポートを指定したりとか)
ハマりポイントその3
事象
メールが送られない
原因
メールを送る設定をしていなかった
対策
設定を追加。
(参考)Nagiosの最初の設定
■(変更前)/usr/local/nagios/etc/objects/contacts.cfg
define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit defaul t values from generic-contact template (defined above) alias Nagios Admin ; Full name of u ser email root@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** }
■(変更後)/usr/local/nagios/etc/objects/contacts.cfg
define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit defaul t values from generic-contact template (defined above) alias Nagios Admin ; Full name of u ser service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_commands notify-service-by-email host_notification_commands notify-host-by-email email root@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** }
ハマりポイントその4
原因
use generic-contactで、標準設定を引き継ぐようになっていた。
対策
use generic-contactをコメントアウト
# use generic-contact ; Inherit defaul t values from generic-contact template (defined above)
ようやく
ハマりポイントその1をワザと起こして、メール通知されたの図。
地味だ。。
ここまでやって、ようやく自分のGmailにアラートが配信されるようになりました。
初期設定さえ済んでしまえば、あとはカスタマイズなので、色々遊べると思います。