初めてのmakeserverTOP > サーバ運用/管理 > nagios-downtime

nagios-downtimeについて

 
Nagios downtimeとは

デフォルトで、ダウンタイムという機能があります。これはその時間帯を非監視にすることです。

監視はするけど通知はしないというところでしょうか。大体深夜3時頃はクーロンが作動しいろいろなジョブが動きますので、CPUやメモリの負荷が大きくなります。

その結果、毎日のように閾値を越えて、アラーム通知となります。このサイトは非力サーバなので毎日メモリーが夜中に閾値を超えます。

そういった、決まった時間帯や、作業などで、通知はしないけど非監視にしたい場合に「downtime」を使用しスケジュールを組みます。

が・・・デフォルトでは1回しか設定できません。今日の分は今日設定し、明日の分は明日設定なので、使い勝手がよくありません。

今回は追加プラグインとして、「Recurring Downtime」を使ってみます。
「Nagios EXCHANGE」にいろいろプラグインがありますので、そこからDLしましょう。

※旧バージョンで「Downtime」設定機能がない場合
















 


●Download

Nagios EXCHANGE」からダウンロード。から最新版をDL.。直接DLできなかったので、クライアント機にDLし、その後、FTPにてサーバへUPしました。

ダウンロードした「downtime-2.2.tar.gz」を/usr/local/binへ移動し展開します。

# cd /usr/local/bin
(「cd」コマンドを使ってディレクトリの移動をします。)

# tar zxvf downtime-2.2.tar.gz
(「tar」コマンドをオプション「zxvf」を使って展開)

# rm downtime-2.2.tar.gz
(「rm」コマンドを使って削除)

# cd downtime-2.2
(「cd」コマンドでディレクトリの移動をします。)

ディレクトリの中には「README」「crontab」「downtime.dat」「downtime_job.pl」「downtime_sched.cgi」「side.html」があります。「README」を見れば詳細が書いてあります。

 


●schedule.cfg 作成

「schedule.cfg」は「downtime」スケジュールを記入する設定ファイルです。とはいえ、何も記入はしません。
空のファイルを作ります。実際はウェブ画面から入力されます。

# touch /usr/local/nagios/etc/schedule.cfg
(「touch」コマンドを使って空のファイルを作成します。)

# chown apache:nagios /usr/local/nagios/etc/schedule.cfg
# chmod 664 /usr/local/nagios/etc/schedule.cfg
(「chown」「chmod」コマンドを使って権限変更します)






 


●downtime_job.pl 編集

「downtime_job.pl」によって設定が反映されるのでしょうか?パールは知らないのでゴメンナサイ・・・

# cp downtime_job.pl /usr/local/nagios/bin
(「cp」コマンドを使って設定ファイルをコピーします。)

# chown nagios:nagios /usr/local/nagios/bin/downtime_job.pl
# chmod 774 /usr/local/nagios/bin/downtime_job.pl
(「chown」「chmod」コマンドを使って権限変更します)





このままだと私の場合支障があったので、編集します。「README」にも編集してくださいと書いてありました。

# vi /usr/local/nagios/bin/downtime_job.pl
(「vi」エディタを使って編集します。)

#my($NAGDIR) = "/u02/nagios" ; # Nagios root directory

my($NAGDIR) = "/usr/local/nagios" ; # Nagios root directory
(各環境に合わせて変更してください。)

/log

/var
(各環境に合わせて変更してください。)
(編集が終わったら設定を保存して終了。)




















 


●downtime_sched.cgi 編集

「downtime_sched.cgi」はウエブ画面から設定できるようにする為のものです。
こちらも少々編集が必要です。

# cp downtime_sched.cgi /usr/local/nagios/sbin
(「cp」コマンドを使って設定ファイルをコピーします。)

# chown nagios:nagios /usr/local/nagios/sbin/downtime_sched.cgi
# chmod 775 /usr/local/nagios/sbin/downtime_sched.cgi
(「chown」「chmod」コマンドを使って権限変更します)


# vi /usr/local/nagios/sbin/downtime_sched.cgi
(「vi」エディタを使って編集します。)

#my($NAGIOS) = "/u02/nagios";

my($NAGIOS) = "/usr/local/nagios";
(各環境に合わせて変更してください。)

/log

/var
(各環境に合わせて変更してください。)
(編集が終わったら設定を保存して終了。)












そして、少々中身も変更します。

・280行目程にある「#」を4箇所削除します。なぜコメントアウトしてあるのでしょうか?これ自体、3.x用では無いので何かあるのかな?
このまま削除をしないとエラーが出ました。この際との環境だけかもしれませんので、コメント削除をする前に手動にてチェックしてみて下さい。








# /usr/local/nagios/bin/downtime_job.pl
(手動にてチェック)
エラーがでなければそのままでいいでしょう。多分。上のようなエラーがでたならコメント削除してみて下さい。

# if( %hostsvc ) {
# print $q->popup_menu(-name=>'host',-v ・・・・・
# } else {
  print "<INPUT TYPE='TEXT' NAME='host' ・・・・・
# }

「#」コメント削除












ここを削除。う〜〜んよく分からない。けど使えているからいいや
(編集が終わったら設定を保存して終了。)

 


●side.html への追加

「downtime-2.2」の中に「side.html」があります。この中をのぞいてみます。

# view side.html
(「view」コマンドを使ってファイルを表示。)
--------------
<tr>
<td width=13><img src="images/greendot.gif" width="13" height="14" name="rdowntime-dot">
<td nowrap><a href="/nagios/cgi-bin/downtime_sched.cgi" target="main" onMouseOver="switchdot('rdowntime-dot',1)" onMouseOut="switchdot('rdowntime-dot
',0)" class="NavBarItem">Recurring Downtime</a></td>
</tr>
--------------

中にこんなのがあるので、これをコピペして、本体に貼り付けます。
(注意:途中で改行が入らないようにノートパッドに一度移してから貼り付けた方がいいです。)
不慣れな人はコピーを取ってください。
# cp /usr/local/nagios/share/side.html /usr/local/nagios/share/side.html.org
(「cp」コマンドを使って設定ファイルをコピーします。)

# vi /usr/local/nagios/share/side.html
(「vi」エディタを使って編集します。)
194行目辺りに貼り付けます。ここが、ちょうどいいと思います。















不要な改行にならないようにしてください。
(編集が終わったら設定を保存して終了。)
再度手動にてチェックして見ます。

# /usr/local/nagios/bin/downtime_job.pl





エラーがでていなければ問題ないでしょう。

 


●cron への登録

# /etc/init.d/nagios restart
(「nagios」再起動して設定を反映)

「downtime-2.2」の中にある「crontab」を見てみましょう。

# cat crontab
(「cat」コマンドを使ってファイルの中を表示)

# For your nagios crontabs

# Set the paths correct for wherever you installed this.

# This should run AT LEAST once per day. It will schedule any outages for
# the forthcoming week, or whatever the FREQUENCY option is set to in
# the script.
# Dont forget to change the paths to the correct values for your system!
01 * * * * /usr/local/nagios/bin/downtime_job.pl >/usr/local/nagios/logs/downtime.log 2>&1

とあるので、

# crontab -e

01 * * * * /usr/local/nagios/bin/downtime_job.pl > /usr/local/nagios/var/downtime.log 2>&1
(各環境に合わせて設定してください。)
(編集が終わったら設定を保存して終了。)

# /etc/init.d/crond restart
(「crond」再起動)

この「downtime_job.pl」はウェブで設定をして、「cron」でスケジュールするのです。実際便利ですよ。

仕事場で「nagios」を使ってる方はCPUやメモリーの閾値が上がる時間帯はこれで対応できるのではないでしょうか?

 


●設定





















モニタリングの「Recurring Downtime」をクリックして画面を表示させます。

Recurring Hostgroup Downtime・・・ホストグループのダウンタイム設定
Recurring Host Downtime・・・・・・・ホストのダウンタイム設定
Recurring Service Downtime・・・・・サービスのダウンタイム設定

上からこのような感じになっています。とりあえず、サービスのダウンタイム設定についてやってみます。
ホストグループや、ホストのダウンタイムも基本的に同じだと思います。使わないので分かりませんが・・・
ご自身で確認してみて下さい。























「Recurring Service Downtime」をクリックすると、このような画面になります。


Host Name:  localhost(対象のホスト名)
Service Name:  「memory」や「Current Load」などの対象サービス名
Author (Your Name):  何でもいいです。担当者の名前でも、自分の名前でも(デフォルトで「nagios」)
Comment:  何でもいいです。(デフォルトで「Recurring schedule」)
Time:  「Downtime」開始時間24時間表記 (hh:mm)
Duration:  ダウンタイム時間(分単位)
Days of week:  曜日を指定(mon,tue,wed,thu,fri,sat,sunもしくは、1,2,3,4,5,6,0)
Dates of month:  日付を指定(無記入なら毎日のようです。多分??)






「downtime_job.pl」に曜日ついて記載があります。
(この辺りもご自身で確認してください。)
また、記載は、半角でないと文字化けします。

入力が終わったら、「Commit」ボタンをクリックして、設定をします。
あとは、「cron」に設定した時間になったら、反映され、登録されます。















このように設定されます。
(1,2,3,4,5,6,0なので、毎日3時から60分間となります。)

「Action」
ゴミ箱は削除
雲マークは編集
 

サーバ運用/管理記事一覧

NET-SNMP

SNMPとはルータやコンピュータ、端末など、ネットワークに接続された通信機器を監視・制御するためのプロトコル。制御の対象となる機器はMIBと呼ばれる管理情報データベース...

Tripwire

Tripwireとはファイルやディレクトリが追加された場合や、削除された場合などを監視するためのツールで、ファイル改ざん検知として定番なので導入します。&nbs...

Denyhosts

DenyHostsとはこれはSSHブルートフォース対策に使います。辞書攻撃とかで、適当なユーザ名・パスワードを使って、侵入をしようとします。1分間に10回以上は...

Fail2ban

Fail2banとはこれも、「denyhosts」同様にログをチェックして、設定以上に認証に失敗していたら失敗したIPアドレスからの接続を拒否するよくあるブルートフ...

munin

muninとは設定が簡単で、システムを監視していろいろな値を取得してグラフ化してくれるものです。ディスク使用量・MySQL・IOstat・トラフィック・プロセス数・VM...

nagios

Nagios(3系 日本語版)とは指定されたホストやサービスを監視し、障害や復旧時にアラートをメール通知するなどの機能があるオープンソースで作られた総合監視ツール。...

nagios-Plugin

Nagios Pluginとは監視ツール「Nagios」はプラグインを追加することで監視する項目を増やすことができます。デフォルトでの監視項目では少し足りない部分が...

nagios-downtime

Nagios downtimeとはデフォルトで、ダウンタイムという機能があります。これはその時間帯を非監視にすることです。監視はするけど通知はしないというところでし...

nagios cheker

Nagios Chekerとは自宅ではFireFoxをブラウザとして使用しています。nagios関連で面白いものを見つけたので、アップしてみました。FireFoxの...

Snort

Snortとはネットワーク型IDS(Intrusion Detection System)です。ネットワークを流れるパケットをキャプチャーし、不審なパケットを検出する機能が...

Clam Antivirus

Clam AntiVirusとはLINUX用のフリーのアンチウイルスソフト ●Clam AntiVirusインストール# yum -y --e...

amavisd-new

amavisd-new送受信されるメールに対してウィルスチェックをするように設定をする。「postfix」「Clam AntiVirus」が設定済みであることが前提...

awstats

AWStatsとはAWStats (awstats6.95 日本語)アクセス解析・ログ解析「awstats」とは、アクセスを解析して、グラフィカルに表示するツールです。...