0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JolokiaでTomcatの性能情報を取得する①

Last updated at Posted at 2025-10-25

GitLab の使い方を学習中だが、Tomcat+Jolokiaで性能情報を取得する必要性が生じた。
そのため、実際に試してみる。

環境
 - VirtualBox 7.1.4
  → OS:RockyLinux 9.6
   MW:Tomcat11

RockyLinuxのインストールまで完了している状態から始める。
まずTomcatのインストールを行うために、tomcatユーザーを作成する。

useraddコマンドに指定するオプション
 -U:ユーザーと同じお名前のグループを作成
 -s:ログイン不可とするため、ログインシェルに /bin/flase を指定

① tomcatユーザーの作成
[root@tfapk001 ~]# useradd -U -s /bin/false tomcat

 ~~ パスワード設定 ~~

[root@tfapk001 ~]# id tomcat
uid=1001(tomcat) gid=1001(tomcat) groups=1001(tomcat)

ユーザーの作成が完了したので、tomcatの配置・解凍。
(WinSCP等で事前に/opt配下に配置しておく)

② tomcatの配置・解凍
[root@tfapk001 ~]# ls -ltr /opt/
合計 12732
-rw-r--r--. 1 root   root   14137719 10月 26 19:34 apache-tomcat-11.0.13.tar.gz
[root@tfapk001 ~]# tar -xzvf /opt/apache-tomcat-11.0.13.tar.gz -C /opt/
apache-tomcat-11.0.13/conf/
apache-tomcat-11.0.13/conf/catalina.properties
 ~~ 中略 ~~
apache-tomcat-11.0.13/bin/tool-wrapper.sh
apache-tomcat-11.0.13/bin/version.sh
[root@tfapk001 ~]#
[root@tfapk001 ~]# ls -ltr /opt/
合計 12736
-rw-r--r--. 1 root   root   14137719 10月 26 19:34 apache-tomcat-11.0.13.tar.gz
drwxr-xr-x. 9 root   root       4096 10月 26 19:36 apache-tomcat-11.0.13
[root@tfapk001 ~]# ls -ltr /opt/apache-tomcat-11.0.13
合計 136
drwxr-x---. 2 root root     6 10月 10 22:57 work
drwxr-x---. 7 root root    81 10月 10 22:57 webapps
drwxr-x---. 2 root root     6 10月 10 22:57 logs
drwx------. 2 root root  4096 10月 10 22:57 conf
-rw-r-----. 1 root root 16114 10月 10 22:57 RUNNING.txt
-rw-r-----. 1 root root  6470 10月 10 22:57 RELEASE-NOTES
-rw-r-----. 1 root root  3291 10月 10 22:57 README.md
-rw-r-----. 1 root root  2333 10月 10 22:57 NOTICE
-rw-r-----. 1 root root 60517 10月 10 22:57 LICENSE
-rw-r-----. 1 root root  6096 10月 10 22:57 CONTRIBUTING.md
-rw-r-----. 1 root root 24262 10月 10 22:57 BUILDING.txt
drwxr-x---. 2 root root  4096 10月 26 19:36 lib
drwxr-x---. 2 root root    30 10月 26 19:36 temp
drwxr-x---. 2 root root  4096 10月 26 19:36 bin

rootユーザで解凍しているので所有者・権限を変更する。

③ 所有者・権限の変更
[root@tfapk001 ~]# chown -R tomcat:tomcat /opt/apache-tomcat-11.0.13
[root@tfapk001 ~]# ls -ld /opt/apache-tomcat-11.0.13
drwxr-xr-x. 9 tomcat tomcat 4096 10月 26 19:36 /opt/apache-tomcat-11.0.13
[root@tfapk001 ~]# ls -ltr /opt/apache-tomcat-11.0.13
合計 136
drwxr-x---. 2 tomcat tomcat     6 10月 10 22:57 work
drwxr-x---. 7 tomcat tomcat    81 10月 10 22:57 webapps
drwxr-x---. 2 tomcat tomcat     6 10月 10 22:57 logs
drwx------. 2 tomcat tomcat  4096 10月 10 22:57 conf
-rw-r-----. 1 tomcat tomcat 16114 10月 10 22:57 RUNNING.txt
-rw-r-----. 1 tomcat tomcat  6470 10月 10 22:57 RELEASE-NOTES
-rw-r-----. 1 tomcat tomcat  3291 10月 10 22:57 README.md
-rw-r-----. 1 tomcat tomcat  2333 10月 10 22:57 NOTICE
-rw-r-----. 1 tomcat tomcat 60517 10月 10 22:57 LICENSE
-rw-r-----. 1 tomcat tomcat  6096 10月 10 22:57 CONTRIBUTING.md
-rw-r-----. 1 tomcat tomcat 24262 10月 10 22:57 BUILDING.txt
drwxr-x---. 2 tomcat tomcat  4096 10月 26 19:36 lib
drwxr-x---. 2 tomcat tomcat    30 10月 26 19:36 temp
drwxr-x---. 2 tomcat tomcat  4096 10月 26 19:36 bin

Tomcatの配置が完了したので、サービスへ登録。

④ サービスの作成と登録
[root@tfapk001 ~]# vi /usr/lib/systemd/system/tomcat11.service
[Unit]
Description=Apache Tomcat 11
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/apache-tomcat-11.0.13/tomcat.pid
RemainAfterExit=yes

ExecStart=/opt/apache-tomcat-11.0.13/bin/startup.sh
ExecStop=/opt/apache-tomcat-11.0.13/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat-11.0.13/bin/shutdown.sh;/opt/apache-tomcat-11.0.13/bin/startup.sh

[Install]
WantedBy=multi-user.target
[root@tfapk001 ~]# chmod 644 /usr/lib/systemd/system/tomcat11.service
[root@tfapk001 ~]# ls -ltr /usr/lib/systemd/system/*service
 ~~ 中略 ~~
-rw-r--r--. 1 root root  368  5月 24 08:04 /usr/lib/systemd/system/kvm_stat.service
-rw-r--r--. 1 root root  412 10月 26 19:44 /usr/lib/systemd/system/tomcat11.service

サービスの有効化。

⑤ サービスの有効化
[root@tfapk001 ~]# systemctl enable tomcat11.service
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat11.service → /usr/lib/systemd/system/tomcat11.service.

Tomcatの起動を試みる。

⑥ Tomcatの起動
[root@tfapk001 ~]# systemctl start tomcat11
Job for tomcat11.service failed because the control process exited with error code.
See "systemctl status tomcat11.service" and "journalctl -xeu tomcat11.service" for details.
[root@tfapk001 ~]#
[root@tfapk001 ~]# systemctl status tomcat11
× tomcat11.service - Apache Tomcat 11
     Loaded: loaded (/usr/lib/systemd/system/tomcat11.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Sun 2025-10-26 19:48:34 JST; 28s ago
   Duration: 53.137s
    Process: 2763 ExecStart=/opt/apache-tomcat-11.0.13/bin/startup.sh (code=exited, status=1/FAILURE)
   Main PID: 2763 (code=exited, status=1/FAILURE)
        CPU: 57ms

10月 26 19:48:34 tfapk001 systemd[1]: Starting Apache Tomcat 11...
10月 26 19:48:34 tfapk001 startup.sh[2763]: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
10月 26 19:48:34 tfapk001 startup.sh[2763]: At least one of these environment variable is needed to run this program
10月 26 19:48:34 tfapk001 systemd[1]: tomcat11.service: Main process exited, code=exited, status=1/FAILURE
10月 26 19:48:34 tfapk001 systemd[1]: tomcat11.service: Failed with result 'exit-code'.
10月 26 19:48:34 tfapk001 systemd[1]: Failed to start Apache Tomcat 11.

起動しない。
どうやら、環境変数に JAVA_HOME、または JRE_HOME がないので、エラーになっているようだ。

仕方がないので、Javaをインストールする。
Tomcat9に対応するJavaのバージョンを確認する。17以降であれば良いようだ。

Apache Tomcat と Java の対応バージョン
※ 最新の情報は、上記リンクを参照

TomcatとJava.png

今回はTomcat11なので、Java21をインストールする。

⑦ パッケージの確認
[root@tfapk001 ~]# dnf search java-21
========================================================= 名前 一致: java-21 ==========================================================
java-21-openjdk.x86_64 : OpenJDK 21 Runtime Environment
java-21-openjdk-demo.x86_64 : OpenJDK 21 Demos
java-21-openjdk-devel.x86_64 : OpenJDK 21 Development Environment
java-21-openjdk-headless.x86_64 : OpenJDK 21 Headless Runtime Environment
java-21-openjdk-javadoc.x86_64 : OpenJDK 21 API documentation
java-21-openjdk-javadoc-zip.x86_64 : OpenJDK 21 API documentation compressed in a single archive
java-21-openjdk-jmods.x86_64 : JMods for OpenJDK 21
java-21-openjdk-src.x86_64 : OpenJDK 21 Source Bundle
java-21-openjdk-static-libs.x86_64 : OpenJDK 21 libraries for static linking

JREでも良いのだが、JDKにする。

⑧ Javaのインストール
[root@tfapk001 ~]# dnf install java-21-openjdk-devel.x86_64
メタデータの期限切れの最終確認: 0:00:06 前の 2025年10月26日 19時56分13秒 に実施しました。
依存関係が解決しました。
=============================================================================================================================================================================================
 パッケージ                                             アーキテクチャー                     バージョン                                        リポジトリー                            サイズ
=============================================================================================================================================================================================
インストール:
 java-21-openjdk-devel                                  x86_64                               1:21.0.8.0.9-1.el9                                appstream                               5.0 M
依存関係のインストール:
 copy-jdk-configs                                       noarch                               4.0-3.el9                                         appstream                                27 k
 java-21-openjdk                                        x86_64                               1:21.0.8.0.9-1.el9                                appstream                               428 k
 java-21-openjdk-headless                               x86_64                               1:21.0.8.0.9-1.el9                                appstream                                47 M
 
  ~~ 中略 ~~
 
インストール済み:
  copy-jdk-configs-4.0-3.el9.noarch           java-21-openjdk-1:21.0.8.0.9-1.el9.x86_64  java-21-openjdk-devel-1:21.0.8.0.9-1.el9.x86_64  java-21-openjdk-headless-1:21.0.8.0.9-1.el9.x86_64
  javapackages-filesystem-6.4.0-1.el9.noarch  lksctp-tools-1.0.19-3.el9_4.x86_64         lua-5.4.4-4.el9.x86_64                           lua-posix-35.0-8.el9.x86_64
  mkfontscale-1.2.1-3.el9.x86_64              ttmkfdir-3.0.9-65.el9.x86_64               tzdata-java-2025b-1.el9.noarch                   xorg-x11-fonts-Type1-7.5-33.el9.noarch

完了しました!
[root@tfapk001 ~]#
[root@tfapk001 ~]# java -version
openjdk version "21.0.8" 2025-07-15 LTS
OpenJDK Runtime Environment (Red_Hat-21.0.8.0.9-1) (build 21.0.8+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-21.0.8.0.9-1) (build 21.0.8+9-LTS, mixed mode, sharing)

JAVA_HOMEを設定するために、インストール先を確認する。

⑨ インストール先の確認
[root@tfapk001 ~]# export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which java)))))
[root@tfapk001 ~]# echo ${JAVA_HOME}
/usr/lib/jvm/java-21-openjdk-21.0.8.0.9-1.el9.x86_64

Tomcatを起動するために、setenv.shにJAVA_HOMEを記載する。

⑩ setenv.shの作成
[root@tfapk001 ~]# ls -ltr /opt/apache-tomcat-11.0.13/bin/setenv.sh
ls: '/opt/apache-tomcat-11.0.13/bin/setenv.sh' にアクセスできません: そのようなファイルやディレクトリはありません
[root@tfapk001 ~]# vi /opt/apache-tomcat-11.0.13/bin/setenv.sh
#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-21.0.8.0.9-1.el9.x86_64
[root@tfapk001 ~]# ls -ltr /opt/apache-tomcat-11.0.13/bin/
合計 932
-rwxr-x---. 1 tomcat tomcat   1908 10月 10 22:57 version.sh
-rw-r-----. 1 tomcat tomcat   2026 10月 10 22:57 version.bat
-rwxr-x---. 1 tomcat tomcat   4600 10月 10 22:57 tool-wrapper.sh
-rw-r-----. 1 tomcat tomcat   3623 10月 10 22:57 tool-wrapper.bat
-rw-r-----. 1 tomcat tomcat 474706 10月 10 22:57 tomcat-native.tar.gz
-rw-r-----. 1 tomcat tomcat  51028 10月 10 22:57 tomcat-juli.jar
-rwxr-x---. 1 tomcat tomcat   1904 10月 10 22:57 startup.sh
-rw-r-----. 1 tomcat tomcat   2022 10月 10 22:57 startup.bat
-rwxr-x---. 1 tomcat tomcat   1902 10月 10 22:57 shutdown.sh
-rw-r-----. 1 tomcat tomcat   2020 10月 10 22:57 shutdown.bat
-rwxr-x---. 1 tomcat tomcat   3941 10月 10 22:57 setclasspath.sh
-rw-r-----. 1 tomcat tomcat   3382 10月 10 22:57 setclasspath.bat
-rwxr-x---. 1 tomcat tomcat   1970 10月 10 22:57 migrate.sh
-rw-r-----. 1 tomcat tomcat   2096 10月 10 22:57 migrate.bat
-rwxr-x---. 1 tomcat tomcat   3382 10月 10 22:57 makebase.sh
-rw-r-----. 1 tomcat tomcat   3606 10月 10 22:57 makebase.bat
-rwxr-x---. 1 tomcat tomcat   1965 10月 10 22:57 digest.sh
-rw-r-----. 1 tomcat tomcat   2091 10月 10 22:57 digest.bat
-rwxr-x---. 1 tomcat tomcat   8319 10月 10 22:57 daemon.sh
-rwxr-x---. 1 tomcat tomcat   1922 10月 10 22:57 configtest.sh
-rw-r-----. 1 tomcat tomcat   2040 10月 10 22:57 configtest.bat
-rw-r-----. 1 tomcat tomcat  26670 10月 10 22:57 commons-daemon.jar
-rw-r-----. 1 tomcat tomcat 215448 10月 10 22:57 commons-daemon-native.tar.gz
-rwxr-x---. 1 tomcat tomcat   1997 10月 10 22:57 ciphers.sh
-rw-r-----. 1 tomcat tomcat   2123 10月 10 22:57 ciphers.bat
-rwxr-x---. 1 tomcat tomcat  21169 10月 10 22:57 catalina.sh
-rw-r-----. 1 tomcat tomcat  13557 10月 10 22:57 catalina.bat
-rw-r-----. 1 tomcat tomcat   1664 10月 10 22:57 catalina-tasks.xml
-rw-r-----. 1 tomcat tomcat  32198 10月 10 22:57 bootstrap.jar
-rw-r--r--. 1 root   root       82 10月 26 19:59 setenv.sh
[root@tfapk001 ~]# chown tomcat:tomcat /opt/apache-tomcat-11.0.13/bin/setenv.sh
[root@tfapk001 ~]# chmod 750 /opt/apache-tomcat-11.0.13/bin/setenv.sh
[root@tfapk001 ~]# ls -la /opt/apache-tomcat-11.0.13/bin/setenv.sh
-rwxr-x---. 1 tomcat tomcat 82 10月 26 19:59 /opt/apache-tomcat-11.0.13/bin/setenv.sh

ここまで来たら、Tomcatを起動する。

⑪ Tomcatの起動
[root@tfapk001 ~]# systemctl start tomcat11
[root@tfapk001 ~]# systemctl status tomcat11
● tomcat11.service - Apache Tomcat 11
     Loaded: loaded (/usr/lib/systemd/system/tomcat11.service; enabled; preset: disabled)
     Active: active (exited) since Sun 2025-10-26 20:01:35 JST; 3s ago
    Process: 3325 ExecStart=/opt/apache-tomcat-11.0.13/bin/startup.sh (code=exited, status=0/SUCCESS)
   Main PID: 3325 (code=exited, status=0/SUCCESS)
      Tasks: 21 (limit: 22977)
     Memory: 82.1M
        CPU: 6.793s
     CGroup: /system.slice/tomcat11.service
             mq3333 /usr/lib/jvm/java-21-openjdk-21.0.8.0.9-1.el9.x86_64/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-11.0.13/conf/logging.properties -Djava.util.logging.man>

10月 26 20:01:35 tfapk001 systemd[1]: Starting Apache Tomcat 11...
10月 26 20:01:35 tfapk001 startup.sh[3325]: Tomcat started.
10月 26 20:01:35 tfapk001 systemd[1]: Finished Apache Tomcat 11.

起動できた。

Tomcat11の起動画面.png

次回は、TomcatにJolokiaをかませていく。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?