ログってなんぼ

日々のメモです

Zabbix:JMX経由でjava(tomcat)を監視する

zabbixでjavaの監視を。 zabbix-serverが動いているサーバーにjava-gatewayというサービスを追加インスコして動かす。

当然ですが監視対象のサーバーでJMXが動作していることが前提。

yumでさくっと入れちゃう

# yum install --enablerepo=zabbix zabbix-java-gateway

起動スクリプトと設定ファイルの位置

# rpm -ql zabbix-java-gateway
/etc/init.d/zabbix-java-gateway
/etc/zabbix/zabbix_java_gateway.conf
/usr/sbin/zabbix_java
/usr/sbin/zabbix_java/bin
/usr/sbin/zabbix_java/bin/zabbix-java-gateway-2.0.9.jar
/usr/sbin/zabbix_java/lib
/usr/sbin/zabbix_java/lib/logback-classic-0.9.27.jar
/usr/sbin/zabbix_java/lib/logback-console.xml
/usr/sbin/zabbix_java/lib/logback-core-0.9.27.jar
/usr/sbin/zabbix_java/lib/logback.xml
/usr/sbin/zabbix_java/lib/org-json-2010-12-28.jar
/usr/sbin/zabbix_java/lib/slf4j-api-1.6.1.jar

設定ファイル

# vi /etc/zabbix/zabbix_java_gateway.conf

一応開いてみたけど取り敢えず何もいじらずにおいた。

zabbix-serverの設定

# vi /etc/zabbix/zabbix_server.conf
JavaGateway= HOSTNAME
JavaGatewayPort=10052
StartJavaPollers=2

java-gatewayを使うための設定。HOSTNAMEのところは適宜。IPアドレスでもOK。

zabbix-serverとgateway間は10052番ポートで通信します。もちろん変更可能。

gatewayを起動して、serverも再起動

# /sbin/chkconfig zabbix-java-gateway on
# /etc/init.d/zabbix-java-gateway start
# /etc/init.d/zabbix-server restart

zabbix管理画面での設定

JMX経由の監視を追加

f:id:Okisanjp:20160712160743p:plain

監視対象にしたいホストの設定画面でJMXインターフェースを追加。JMXのデフォルトだと7777番ポートかな。設定変えてる方は適宜。

テンプレ追加

jmx_tomcatのテンプレートを追加。jmx関連のテンプレートはデフォルトのものが2種類あるみたいなので必要な物を使う。tomcatを監視したかったので自分は取り敢えずtomcatのテンプレートを入れました。今後色々追加すると思う。

f:id:Okisanjp:20160712160750p:plain

グラフ確認

f:id:Okisanjp:20160712160801p:plain

あとはコツコツグラフ作成とトリガーの調整。

おまけ:heap memory usageをアイテムに追加

標準のJMX_TOMCATテンプレだとヒープメモリに関するアイテムが無いのでアイテムに追加しておいた。

jmx["java.lang:type=Memory","HeapMemoryUsage.used"]

で取得可能。