6
5

More than 5 years have passed since last update.

munin を使って tomcat の状態を監視する

Posted at

munin-java-plugins を使って tomcat の監視をした際のメモ。簡単と思いきや、意外とハマった。

インストール

EPEL が有効になっている前提で、次のようにする:

$ sudo yum install munin-java-plugins
$ rpm -q munin-java-plugins
munin-java-plugins-2.0.19-1.el6.noarch

java, tomcat のバージョン:

jdk-1.7.0_45-fcs.x86_64
apache-tomcat-7.0.47

tomcat の設定

jmx 経由で値をとるので tomcat の起動時に以下の CATALINA_OPTS を渡す

CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=5600 \
               -Dcom.sun.management.jmxremote.authenticate=false \
               -Dcom.sun.management.jmxremote.ssl=false"

munin plugin の設定

$ cat /etc/munin/plugin-conf.d/jmx
[jmx_*]
env.ip 127.0.0.1
env.port 1616
env.JRE_HOME /usr/java/jdk1.7.0_45/jre
env.JAVA_OPTS -Xmx128m

$ sudo /sbin/service munin-node restart

plugin の指定

ググると jmx_MultigraphAll を指定すればいいような記述があって、最初はそれで運用していたけど、エラーになっていくつかのグラフしか描画されなかった。

$ sudo ln -s /usr/share/munin/plugins/jmx_ /etc/munin/plugins/jmx_MultigraphAll

でも munin-run jmx_MultigraphAll で見るとちゃんと値が取れているように見える。
小一時間、出力とログをにらめっこして間違い探しをしたけど、何が悪いのか分からない。

結局、multigraph ではなく、一つ一つグラフを指定すればちゃんとグラフが出来るので、手でリンクをはることにした。最初からこうすればよかった。

$ munin-run jmx_MultigraphAll | grep multigraph | cut -d' ' -f 2
jmx_memory
jmx_MemoryAllocatedHeap
jmx_MemoryAllocatedNonHeap
jmx_GCTime
jmx_GCCount
jmx_MemoryCode_CacheUsage
jmx_MemoryCode_CachePeak
jmx_MemoryCode_CacheUsagePostGC
jmx_MemoryEdenUsage
jmx_MemoryEdenPeak
jmx_MemoryEdenUsagePostGC
jmx_MemoryPermGenUsage
jmx_MemoryPermGenPeak
jmx_MemoryPermGenUsagePostGC
jmx_MemorySurvivorUsage
jmx_MemorySurvivorPeak
jmx_MemorySurvivorUsagePostGC
jmx_MemoryTenuredGenUsage
jmx_MemoryTenuredGenPeak
jmx_MemoryTenuredGenUsagePostGC
jmx_Threads
jmx_threads.historical
jmx_ThreadsDeadlocked
jmx_Uptime
jmx_ClassesLoaded
jmx_ClassesUnloaded
jmx_ClassesLoadedTotal
jmx_CompilationTimeTotal
jmx_ProcessorsAvailable
for g in `munin-run jmx_MultigraphAll | grep multigraph | cut -d' ' -f 2`; do
    sudo ln -s /usr/share/munin/plugins/jmx_ /etc/munin/plugins/$g
done

この後、jmx_Uptime とかあきらかに不要なプラグインを削除した。

各グラフの意味

名前からある程度推測はできるけど、実際それぞれのプラグインで何を取っているのかは、ソースコードから確認できる

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5