tomcatの起動中の統計情報をsnmpで監視する設定と監視しておくと良いかもしれないoid

tomcatsnmp応答をさせる設定

CATALINA_OPTSに追加

tomcat 7.0はsnmp.acl.fileではなくてsnmp.aclの模様。listen するinterfaceやfile, acl file は適当に設定。

tomcat 7.0

 -Dcom.sun.management.snmp.interface=0.0.0.0 \
 -Dcom.sun.management.snmp.port=8161 \
 -Dcom.sun.management.snmp.acl=/usr/local/tomcat/conf/snmp.acl

tomcat 7.0以前

 -Dcom.sun.management.snmp.interface=0.0.0.0 \
 -Dcom.sun.management.snmp.port=8161 \
 -Dcom.sun.management.snmp.acl.file=/usr/local/tomcat/conf/snmp.acl
snmp.acl
# cat snmp.acl
acl = {
    {
        communities = public
        access           = read-only
        managers      = 127.0.0.1,192.168.0.1
        }
    }
}
# chown tomcat:tomcat snmp.acl
# chmod 600 snmp.acl
JVM-MANAGEMENT mib fileの取得

用途によっては必須ではないが、やっておくと良い。
snmpをpollingするserverに置いておく。

# cd /usr/share/snmp/mibs
# wget http://docs.oracle.com/javase/1.5.0/docs/guide/management/JVM-MANAGEMENT-MIB.mib

oid

cactiのplugin

これを参考にしたもの+α。

1.3.6.1.4.1.42.2.145.3.163.1.1.4.11.0 JVM-MANAGEMENT-MIB::jvmRTUptimeMs.0
1.3.6.1.4.1.42.2.145.3.163.1.1.4.12.0 JVM-MANAGEMENT-MIB::jvmRTStartTimeMs.0
1.3.6.1.4.1.42.2.145.3.163.1.1.4.20.1.2.* JVM-MANAGEMENT-MIB::jvmRTInputArgsItem # CATALINA_OPTS の引数
1.3.6.1.4.1.42.2.145.3.163.1.1.2.11.0 JVM-MANAGEMENT-MIB::jvmMemoryHeapUsed.0
1.3.6.1.4.1.42.2.145.3.163.1.1.2.12.0 JVM-MANAGEMENT-MIB::jvmMemoryHeapCommitted.0
1.3.6.1.4.1.42.2.145.3.163.1.1.2.13.0 JVM-MANAGEMENT-MIB::jvmMemoryHeapMaxSize.0
1.3.6.1.4.1.42.2.145.3.163.1.1.3.1.0 JVM-MANAGEMENT-MIB::jvmThreadCount.0
1.3.6.1.4.1.42.2.145.3.163.1.1.2.21.0 JVM-MANAGEMENT-MIB::jvmMemoryNonHeapUsed.0
1.3.6.1.4.1.42.2.145.3.163.1.1.2.22.0 JVM-MANAGEMENT-MIB::jvmMemoryNonHeapCommitted.0
1.3.6.1.4.1.42.2.145.3.163.1.1.2.23.0 JVM-MANAGEMENT-MIB::jvmMemoryNonHeapMaxSize.0
1.3.6.1.4.1.42.2.145.3.163.1.1.2.101.1.2.2 JVM-MANAGEMENT-MIB::jvmMemGCCount.2 # Young GCの実行回数
1.3.6.1.4.1.42.2.145.3.163.1.1.2.101.1.3.2 JVM-MANAGEMENT-MIB::jvmMemGCTimeMs.2 # Young GCの実行時間
1.3.6.1.4.1.42.2.145.3.163.1.1.2.101.1.2.3 JVM-MANAGEMENT-MIB::jvmMemGCCount.3 # Full GCの実行回数
1.3.6.1.4.1.42.2.145.3.163.1.1.2.101.1.3.3 JVM-MANAGEMENT-MIB::jvmMemGCTimeMs.3 # Full GCの実行時間

YGC、YGCT、FGC、FGCTは

# jstat -gcutil -h10 <jsvc pid> 1000

で表示される値と同じ。