Trasis Inc.

渋谷拠点のシステム開発会社

snmpでtomcat メモリを監視 (Linux編)

概要

前回 は、Windows 上で起動した Java プロセスを snmp で監視する方法を説明した。

今回は Linux 上で起動した Tomcat プロセスのメモリを監視する方法について説明する。

動作環境

項目
OS CentOS 5
Java JDK 6 update 10
Tomcat 6.0.20

tomcat 起動時の設定

Tomcat を起動する時の CATALINA_OPTS 変数に次の記述を追加する。
例えば、/etc/tomcat6/tomcat6.conf で次のように記述する。

CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.snmp.port=1161 -Dcom.sun.management.snmp.acl.file=/etc/tomcat6/snmp.acl”

/etc/tomcat6/snmp.acl 作成

ファイルを作成する。

acl = {
{
communities = public
access = read-only
managers = localhost
}
}

さらに、snmp.acl のパーミッションを 600 に変更する。

# chown roo:root snmp.acl
# chmod 600 snmp.acl

ここまで設定が終わったら、Tomcat を起動する。

# service tomcat6 start

MIB ファイルを置く

/usr/share/snmp/mibs/JVM-MANAGEMENT-MIB.mib を作成する。

# cd /usr/share/snmp/mibs/
# lftpget http://java.sun.com/j2se/1.5.0/docs/guide/management/JVM-MANAGEMENT-MIB.mib

/etc/snmp/snmp.conf 設定

次に snmpd の設定。このファイルの最後へ記述を追加する。

proxy -m /usr/share/snmp/mibs/JVM-MANAGEMENT-MIB.txt -v 2c -c public localhost:1161 .1.3.6.1.4.1.42.2.145

記述を追加したら、snmpd を再起動する。

# service snmpd restart

動作確認

$ snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.42.2.145

出力結果をカスタマイズ

数字で構成される OID 値を文字列に変更できる。
上記の手順で mib ファイルを snmpwalk を実行するホストに置いた後、次のように環境変数を設定する。
.bashrc などに書いておくとよい。

$ export MIBS=ALL
$ snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.42.2.145

参考