SNMP + MRTG で Apache のプロセス数を監視する方法

2010-6-24 12:05
このエントリーをはてなブックマークに追加

以前、CentOS で SNMP と MRTG を使ったロードアベレージの監視方法をまとめましたが、今回はその仕組みを利用してさらに Apache のプロセス数を監視できるようにします。ついでにプロセス数が閾値を超えた場合にメールが飛ぶようにしてみます。

CentOS5 ですでに net-snmp と mrtg のパッケージは導入されている状態とします。

/etc/snmp/snmpd.conf を変更し、次の行を追加します。

  proc httpd

snmpd を再起動して、snmpwalk コマンドで動作確認をします。

# service  snmpd restart
# snmpwalk -v1 -c public localhost .1.3.6.1.4.1.2021.2.1
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1
UCD-SNMP-MIB::prNames.1 = STRING: httpd
UCD-SNMP-MIB::prMin.1 = INTEGER: 0
UCD-SNMP-MIB::prMax.1 = INTEGER: 0
UCD-SNMP-MIB::prCount.1 = INTEGER: 11
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: 0
UCD-SNMP-MIB::prErrMessage.1 = STRING:
UCD-SNMP-MIB::prErrFix.1 = INTEGER: 0
UCD-SNMP-MIB::prErrFixCmd.1 = STRING:

つぎに MRTG の設定をします。/etc/mrtg/mrtg.cfg に次の設定を追加します。

# Apache httpd Process Count 
Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.4.1:public@localhost
MaxBytes[httpd]:50
Unscaled[httpd]: dwmy
Options[httpd]: gauge,absolute,nopercent,noinfo
YLegend[httpd]: Count
ShortLegend[httpd]: proc(s).
Title[httpd]: Apache Process Count
PageTop[httpd]: <h1>Httpd Process Count</h1>

MaxBytes などは Apache の最大プロセス数の設定に合わせて適宜変更してください。設定ファイルを保存したら、コマンドラインで mrtg を実行してみます。

# env LANG=C mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok

この際、初回、2回目はRateup WARNING: /usr/bin/rateup could not read the primary log file for httpd のようなエラーがでますが、これは3回目以降は出なくなりますので気にしなくて構いません。

ブラウザで、http://(サーバ名)/mrtg/httpd.html にアクセスします。しばらくして次のようなグラフになっていれば成功です。

MRTG で httpd のプロセス数グラフを確認

一定の値を超えたらメールを送信する

ついでに、プロセス数が増えすぎた時に管理者にメールを送るように設定してみます。まず以下のようなメール送信スクリプトを用意します。/usr/local/bin/httpd-warning-mail とします。

#!/bin/bash
/usr/bin/snmpwalk -v1 -c public localhost .1.3.6.1.4.1.2021.2.1.5.1 | 
/bin/mail -s 'Apache Process Count Warning' admin@example.org

あえて簡単な内容にしていますが、実運用ではサーバ名を入れるとか適当に応用を効かせてください。chmod で実行可能な状態しておきます

次に mrtg.cfg に設定を追加します。

ThreshProgI[httpd]: /usr/local/bin/httpd-warning-mail
ThreshMaxI[httpd]: 25

これで mrtg が実行される際、プロセス数が 25 を超えると、指定したコマンドが実行され、管理者にメールが届きます。

コメントはまだありません

コメントはまだありません。

現在、コメントフォームは閉鎖中です。

67 queries. HTML convert time: 1.122 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン