ClickStack を使用した JVM メトリクスの監視
このガイドでは、OpenTelemetry Java エージェントを使用してメトリクスを収集し、ClickStack で JVM アプリケーションを監視する方法を説明します。次の内容を学びます:
- OpenTelemetry Java エージェントを JVM アプリケーションにアタッチする
- エージェントを設定し、OTLP 経由で ClickStack にメトリクスを送信する
- あらかじめ用意されたダッシュボードを使用して、ヒープメモリ、ガーベジコレクション、スレッド、CPU を可視化する
本番アプリケーションにインストルメンテーションを行う前に統合をテストしたい場合は、サンプルメトリクスを含むデモデータセットを利用できます。
所要時間: 5〜10 分
既存の JVM アプリケーションとの統合
このセクションでは、既存の JVM アプリケーションを設定し、OpenTelemetry Java エージェントを使用して ClickStack にメトリクスを送信する方法について説明します。
本番環境を設定する前に統合をテストしたい場合は、「デモデータセット」セクションで提供しているデモデータセットを使用してテストできます。
前提条件
- 稼働中の ClickStack インスタンス
- 既存の Java アプリケーション(Java 8 以上)
- JVM 起動引数を変更するためのアクセス権
ClickStack API key を取得する
OpenTelemetry Java agent は ClickStack の OTLP エンドポイントにデータを送信します。このエンドポイントには認証が必要です。
- ClickStack の URL(例: http://localhost:8080 )で HyperDX を開きます
- 必要に応じてアカウントを作成するかログインします
- Team Settings → API Keys に移動します
- Ingestion API Key をコピーします

OpenTelemetry Java agent をダウンロードする
OpenTelemetry Java agent の JAR ファイルをダウンロードします:
これにより、エージェントが現在のディレクトリにダウンロードされます。デプロイ環境に応じて、任意の場所(例: /opt/opentelemetry/ やアプリケーション JAR と同じ場所)に配置できます。
JVM 起動引数を設定する
JVM の起動コマンドに Java agent を追加します。エージェントは JVM メトリクスを自動的に収集し、ClickStack に送信します。
オプション 1: コマンドラインフラグ
次の値を置き換えてください:
opentelemetry-javaagent.jar→ エージェント JAR へのフルパス(例:/opt/opentelemetry/opentelemetry-javaagent.jar)my-java-app→ サービスを識別しやすい名前(例:payment-service,user-api)YOUR_API_KEY→ 上記の手順で取得した ClickStack の API keymy-application.jar→ アプリケーションの JAR ファイル名http://localhost:4318→ ClickStack のエンドポイント(ClickStack が同一マシン上で動作している場合はlocalhost:4318を使用し、それ以外の場合はhttp://your-clickstack-host:4318を使用)
オプション 2: 環境変数
別の方法としては、環境変数を使用します:
次の値を置き換えてください:
opentelemetry-javaagent.jar→ エージェント JAR へのフルパスmy-java-app→ サービス名YOUR_API_KEY→ ClickStack の API keyhttp://localhost:4318→ ClickStack のエンドポイントmy-application.jar→ アプリケーションの JAR ファイル名
OpenTelemetry Java agent は次の JVM メトリクスを自動的に収集します:
- メモリ:
jvm.memory.used,jvm.memory.limit,jvm.memory.committed,jvm.memory.used_after_last_gc - ガーベジコレクション:
jvm.gc.duration - スレッド:
jvm.thread.count - クラス:
jvm.class.count,jvm.class.loaded,jvm.class.unloaded - CPU:
jvm.cpu.time,jvm.cpu.count
HyperDX でメトリクスを確認する
アプリケーションをエージェント付きで起動したら、メトリクスが ClickStack に送信されていることを確認します。
- http://localhost:8080 (または ClickStack の URL)で HyperDX を開きます
- Chart Explorer に移動します
jvm.で始まるメトリクスを検索します(例:jvm.memory.used,jvm.gc.duration,jvm.thread.count)
デモ用データセット
アプリケーションを計測する前に JVM メトリクス統合を試したいユーザー向けに、現実的な JVM の挙動を示す、あらかじめ生成したメトリクスを含むサンプルデータセットを提供します。このデータセットは、適度な一定トラフィックを持つ中規模マイクロサービスを想定しています。
サンプルデータセットをダウンロードする
このデータセットには、以下を示す 24 時間分の JVM メトリクスが含まれます:
- 定期的なガーベジコレクションイベントを伴うヒープメモリの増加
- スレッド数の変動
- 現実的な GC ポーズ時間
- クラスロードのアクティビティ
- CPU 使用率パターン
デモデータを検証する
インポートが完了したら:
- http://localhost:8080 で HyperDX を開き、ログインします(必要に応じてアカウントを作成)
- Search ビューに移動し、source を Metrics に設定します
- タイムレンジを 2025-12-06 14:00:00 - 2025-12-09 14:00:00 に設定します
jvm.memory.usedまたはjvm.gc.durationを検索します
デモサービスのメトリクスが表示されるはずです。
HyperDX はタイムスタンプをブラウザのローカルタイムゾーンで表示します。デモデータは 2025-12-07 14:00:00 - 2025-12-08 14:00:00 (UTC) の期間をカバーしています。場所に関係なくデモメトリクスを確認できるよう、タイムレンジを 2025-12-06 14:00:00 - 2025-12-09 14:00:00 に設定してください。メトリクスが表示されることを確認したら、可視化を見やすくするためにタイムレンジを 24 時間に絞り込むことができます。
ダッシュボードと可視化
ClickStack で JVM アプリケーションを監視しやすくするために、JVM メトリクス向けの主要な可視化を備えたあらかじめ用意されたダッシュボードを提供しています。
あらかじめ用意されたダッシュボードをインポートする
- HyperDX を開き、[Dashboards]セクションに移動します
- 右上の省略記号アイコン(⋯)の下にある Import Dashboard をクリックします

jvm-metrics-dashboard.jsonファイルをアップロードし、Finish Import をクリックします

ダッシュボードを表示する
ダッシュボードは、すべての可視化があらかじめ構成された状態で作成されます。

デモデータセットを使用する場合、時間範囲を 2025-12-07 14:00:00 - 2025-12-08 14:00:00 (UTC) に設定してください。ローカルタイムゾーンに応じて調整してください。
トラブルシューティング
エージェントが起動しない
エージェントの JAR ファイルが存在することを確認する:
Java バージョンの互換性を確認(Java 8 以上が必要です):
エージェント起動ログメッセージを確認する: アプリケーションの起動時に、次のようなメッセージが出力されていることを確認してください。
HyperDX にメトリクスが表示されない
ClickStack が稼働しており、アクセス可能であることを確認してください:
メトリクスエクスポーターの設定を確認する:
OpenTelemetry に関するエラーについてアプリケーションログを確認する: アプリケーションログ内で、OpenTelemetry や OTLP エクスポートの失敗に関連するエラーメッセージが出力されていないか確認します。
ネットワーク接続を確認する: ClickStack がリモートホスト上にある場合、ポート 4318 にアプリケーションサーバーからアクセスできることを確認します。
エージェントのバージョンを確認する: 最新の安定版エージェントバージョン(現在は 2.22.0)を使用していることを確認します。新しいバージョンにはパフォーマンス改善が含まれていることが多いためです。
次のステップ
JVM メトリクスが ClickStack に取り込まれるようになったので、次のことを検討してください:
- ヒープ使用率の増加、GC 一時停止の頻発、スレッド枯渇などの重要なメトリクスに対して アラート を設定する
- オブザーバビリティデータを統合するために、他の ClickStack 連携機能 を活用する
本番環境への移行
このガイドでは、ローカルテスト向けの OpenTelemetry Java エージェントの設定方法を説明しました。本番デプロイメントでは、エージェント JAR をコンテナイメージに含め、環境変数で設定することで管理を容易にしてください。多数の JVM インスタンスが存在する大規模な環境では、各アプリケーションから ClickStack に直接送信するのではなく、集中型の OpenTelemetry Collector をデプロイし、複数アプリケーションからのメトリクスをバッチ処理して転送するようにします。
本番デプロイメントパターンや Collector の設定例については、OpenTelemetry を使用した取り込み を参照してください。