FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

zabbix-java-gatewayでtomcat7を監視する

こんにちは、貴子です。

zabbix_java_gatewayを使って、zabbixでtomcat7の監視を行います。
zabbix-serverとtomcat7はインストール済みとし、
zabbix-java-gateway・zabbix-server・tomcatは全て同じEC2インスタンスにインストールします。


hostnameの確認

127.0.0.1でなく、複数IPではないことを確認します。

hostname -i
10.0.10.39

zabbix_java_gatewayのインストールと設定

zabbix_java_gatewayyumでインストールします。

yum install zabbix-java-gateway

zabbix_java_gatewayを起動させ、Daemonに登録します

/etc/init.d/zabbix-java-gateway start
chkconfig zabbix-java-gateway on

zabbix-server側の設定を行います。

JavaGateway=10.0.10.39 [zabbix java gateway ip]
JavaGatewayPort=10052  [zabbix java gateway default port]
StartJavaPollers=1

設定を反映させるために、zabbix-serverの再起動を行います。

/etc/init.d/zabbix-server restart

tomcat側設定

起動ファイルにJVMの設定を追加記載します。

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

設定反映のために、tomcatを再起動します。

/etc/init.d/tomcat restart

zabbixの管理画面のJMX設定

  • zabbixの管理画面にログインし、「設定> ホスト > Zabbix server」をクリックします
    スクリーンショット 2014-12-17 13.09.06.png

  • JMXのインタフェースを追加します
    スクリーンショット 2014-12-17 13.30.58.png

  • テンプレートの追加を行います
     zabbixにはデフォルトでJMX tomcatテンプレートとJMX Genericテンプレートがあるので、追加します。
    スクリーンショット 2014-12-17 13.14.19.png
    「更新ボタン」を押せば、登録は完了です。

テンプレートの書き換え

tomcat7ではmanagerのステータスを取るxmlが変わっています。
デフォルトのテンプレートにあるname=http-8080では、ステータスが取れません。
なので、テンプレートのname=http-8080を「name="http-bio-8080""」に
書き換えてあげる必要があります。

jmx["Catalina:type=ThreadPool,name=\"http-bio-8080\"",maxThreads]

あとは、プロジェクトごとに必要なトリガーやグラフを作成すれば、設定完了です!

Qiitaにも投稿しました!
http://qiita.com/takako/items/274467551d38650f3aae