MuninでJMX経由でJVMを監視する
MuninでJMX経由でJava VMを監視する方法のメモ。
前提
- muninが正しく動いていること。
- 監視対象サーバでmunin-nodeが正しく動いていること。
- 監視対象サーバでJMXが正しく設定されていること。jconsoleでヒープ状況などが表示されるか確認しておきます。
方法
https://github.com/munin-monitoring/contrib/ を /usr/share/munin/contrib に配置します。
/usr/share/munin/contrib/plugins/java/jmx/examples/java: -rw-r--r-- 1 root root 714 java_cpu.conf -rw-r--r-- 1 root root 1946 java_process_memory.conf -rw-r--r-- 1 root root 428 java_threads.conf /usr/share/munin/contrib/plugins/java/jmx/plugin: -rwxr-xr-x 1 root root 1820 jmx_ -rw-r--r-- 1 root root 8977 jmxquery.jar
/etc/munin/plugins: lrwxrwxrwx 1 root root 53 jmx_hogejvm_memory -> /usr/share/munin/contrib/plugins/java/jmx/plugin/jmx_ lrwxrwxrwx 1 root root 53 jmx_fugajvm_memory -> /usr/share/munin/contrib/plugins/java/jmx/plugin/jmx_
examplesから設定ファイルをコピーします。
sudo cp -a /usr/share/munin/contrib/plugins/java/jmx/examples/java/java_process_memory.conf /usr/share/munin/contrib/plugins/java/jmx/plugin/hogejvm_memory.conf sudo cp -a /usr/share/munin/contrib/plugins/java/jmx/examples/java/java_process_memory.conf /usr/share/munin/contrib/plugins/java/jmx/plugin/fugajvm_memory.conf
必要に応じてタイトルやカテゴリを編集します。
graph_title JVM Memory (Hoge App) graph_vlabel Bytes graph_category Java
/etc/munin/plugin-conf.d/jmx を編集します。
[jmx_hogejvm_*] env.jmxurl service:jmx:rmi:///jndi/rmi://localhost:20001/jmxrmi [jmx_fugajvm_*] env.jmxurl service:jmx:rmi:///jndi/rmi://localhost:20002/jmxrmi
munin-nodeを再起動して、ログにエラーが出ていないか確認します。