zabbix_java_gatewayを使って、zabbixでtomcat7の監視を行います。
zabbix-serverとtomcat7はインストール済みとし、
zabbix-java-gateway・zabbix-server・tomcatは全て同じEC2インスタンスにインストールします。
#hostnameの確認
hostname -i
10.0.10.39
127.0.0.1でなく、複数IPではないことを確認します。
#zabbix_java_gatewayのインストールと設定
yum install zabbix-java-gateway
zabbix_java_gatewayを起動させます。
/etc/init.d/zabbix-java-gateway start
zabbix_java_gatewayをDaemonに登録します。
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設定
-
JMXのインタフェースを追加します
tomcat7をインストールしているサーバーのipアドレスと、
CATALINA_OPTSで指定したポート(jmxremote.port=12345)を入力して下さい。
-
テンプレートの追加を行います
zabbixにはデフォルトでJMX tomcatテンプレートとJMX Genericテンプレートがあるので、追加します。
「更新ボタン」を押せば、登録は完了です。
#テンプレートの書き換え
tomcat7ではmanagerのステータスを取るxmlが変わっています。
デフォルトのテンプレートにあるname=http-8080では、ステータスが取れません。
なので、テンプレートのname=http-8080を「name="http-bio-8080""」に
書き換えてあげる必要があります。
jmx["Catalina:type=ThreadPool,name=\"http-bio-8080\"",maxThreads]
あとは、プロジェクトごとに必要なトリガーやグラフを作成すれば、設定完了です!