こんにちは、SCSK株式会社の小寺崇仁です。
今回は「Java(JMX)監視」について設定方法を紹介します。
Java(JMX)監視とは
Javaのプロセス内部は複雑で、独自のメモリ管理や、様々な処理が行われています。ZabbixではJavaのプロセスを監視することができ、テンプレートも準備されています。
しかし、設定が難しくあまり使われていないように思います。今回は、Zabbixサーバ側の設定とプロセス側の設定についてご紹介します。
Zabbixサーバーの設定
Javaを監視するには、「zabbix-java-gateway」といパッケージをインストールする必要があります。
「zabbix-java-gateway」サービスを起動して、「zabbix-server」から接続する設定をします。
インストール
# dnf install zabbix-java-gateway # systemctl start zabbix-java-gateway # systemctl enable zabbix-java-gateway
設定
# vi /etc/zabbix/zabbix_server.conf JavaGateway=127.0.0.1 StartJavaPollers=1 # systemctl restart zabbix-server
Javaプロセス側の設定
Javaのプロセス側ではJMXでリモート接続できるようにする必要があります。
設定を有効にするには起動時に以下のオプションを設定します。
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
次に設定方法の例をご紹介します。
単純なJavaプロセス
起動時の引数に設定します。先日のSeleniumサーバの場合、次のように設定します。
java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar selenium-server-4.21.0.jar standalone --selenium-manager true
Tomcatの場合
次の手順で確認しました。Tomcatではsetenv.shを作成すればオプションを読み込みます。
# mkdir /opt/tomcat # cd /opt/tomcat/ # wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.25/bin/apache-tomcat-10.1.25.tar.gz # tar zxvf apache-tomcat-10.1.25.tar.gz # vi /opt/tomcat/apache-tomcat-10.1.25/bin/setenv.sh #!/bin/sh CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" export CATALINA_OPTS # /opt/tomcat/apache-tomcat-10.1.25/bin/startup.sh
Zabbixのホスト作成
ホスト | 任意 | |
テンプレート | Generic Java JMX Apache Tomcat by JMX |
単純なプロセス用 Tomcat用 |
ホストグループ | 任意 | |
インターフェース | JMX | |
IPアドレス | プロセスが起動しているサーバのIP | |
ポート | 引数で指定したポート |
値の取得
最後に
弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。
SCSK Plus サポート for Zabbix
★YouTubeに、SCSK Zabbixチャンネルを開設しました!★
★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★