概要
前回 は、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
# 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
$ snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.42.2.145