0. Features
提供されているエリアの一覧 (GET /api/features)。
1. JVM
Runtime / VM 引数 / メモリ / GC。CATALINA_OPTS/JAVA_OPTS の効果はここの inputArguments で確認。
2. Environment
CATALINA_OPTS / JAVA_OPTS / JAVA_TOOL_OPTIONS / CATALINA_HOME / CATALINA_BASE 等。SECRET/KEY/PASSWORD/TOKEN を含む変数はマスク表示。
3. Tomcat Conf Viewer
App Service Linux Tomcat の active な conf/*.xml を生表示。
4. Connectors / Thread Pools (MBean)
Catalina:type=Connector,* / ThreadPool,* / GlobalRequestProcessor,* から実行時統計を取得。
5. Tuning Presets + az CLI Snippet
プリセット (G1GC / Parallel / ZGC / GC logging / OOM heapdump 等) と、それを適用する az webapp config appsettings set snippet を生成。
6. Heap Dump
HotSpotDiagnosticMXBean.dumpHeap で /home/LogFiles/ に hprof を吐く。Kudu でダウンロード可。
7. DiagLab — 意図的障害
CPU spin / メモリリーク / hang を発生させて、ダンプ・JFR・スレッドダンプ採取を練習する。
採取コマンド cheat sheet
# Kudu (Bash) で java プロセスにアタッチして heap dump ps -ef | grep java jcmd <pid> GC.heap_dump /home/LogFiles/manual-$(date +%Y%m%d-%H%M%S).hprof # スレッドダンプ jcmd <pid> Thread.print > /home/LogFiles/thread-$(date +%Y%m%d-%H%M%S).txt # JFR (Java Flight Recorder) jcmd <pid> JFR.start name=lab duration=120s filename=/home/LogFiles/jfr-$(date +%Y%m%d-%H%M%S).jfr settings=profile # /home/LogFiles を Kudu の FTP / Bash でダウンロード