Temporal プラットフォームにおける OpenMetrics サポートは、現在 Public Preview 段階で提供されています。詳細については Temporal のドキュメント を参照してください。
Temporal は、シンプルかつ高度で高い耐障害性を備えたアプリケーションを構築するための抽象化を提供します。
ClickStack を使用した Temporal Cloud メトリクスの監視
このガイドでは、OpenTelemetry collector の Prometheus レシーバーを設定して、ClickStack で Temporal Cloud を監視する方法を説明します。以下の内容を学びます:
- Temporal Cloud メトリクスを収集するように OTel collector を設定する
- カスタム設定を使用して ClickStack をデプロイする
- 事前作成済みのダッシュボードを使用して Temporal Cloud のパフォーマンスを可視化する(open workflows、actions/sec、アクティブなネームスペース、タスクバックログ)
所要時間: 約 5〜10 分
既存の Temporal Cloud との統合
このセクションでは、Prometheus receiver を使用するように ClickStack の OTel collector を設定することで、ClickStack を構成する方法について説明します。
前提条件
- 稼働中の ClickStack インスタンス
- 既存の Temporal Cloud アカウント
- ClickStack から Temporal Cloud への HTTP 経由のネットワークアクセス
カスタムOTel collectorの設定を作成する
ClickStackでは、カスタム設定ファイルをマウントして環境変数を設定することで、OpenTelemetryコレクターの基本設定を拡張できます。カスタム設定は、HyperDXがOpAMP経由で管理している基本設定とマージされます。
以下の設定で temporal-metrics.yaml という名前のファイルを作成してください:
この設定:
- Temporal Cloud(
metrics.temporal.io)に接続します - 60秒ごとにメトリクスを収集します
- 主要なパフォーマンスメトリクスを収集します
- OpenTelemetry semantic conventions に従って、必須の
service.nameリソース属性を設定します - 専用パイプライン経由でメトリクスを ClickHouse エクスポーターにルーティングします
- カスタム構成では、新しい receiver、processor、pipeline のみを定義します
memory_limiterとbatchプロセッサおよびclickhouseエクスポーターは、ClickStack のベース設定内ですでに定義されているため、名前を指定して参照するだけでかまいません。resourceprocessor は、OpenTelemetry のセマンティック規約に基づいて、必須のservice.name属性を設定します- 複数の Temporal Cloud アカウントを利用する場合は、
service.nameをカスタマイズして区別できるようにします(例:"temporal-prod"、"temporal-dev")。
ClickStackにカスタム設定を読み込ませる構成
既存のClickStackデプロイメントでカスタムコレクター設定を有効にするには、次の手順を実行してください:
- カスタム設定ファイルを
/etc/otelcol-contrib/custom.config.yamlにマウントします - 環境変数
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yamlを設定します temporal.keyファイルを/etc/otelcol-contrib/temporal.keyパスにマウントします- ClickStack と Temporal 間でネットワーク接続が確立されていること
すべてのコマンドは、temporal-metrics.yaml および temporal.key が格納されているサンプルディレクトリから実行することを前提としています。
オプション1:Docker Compose
ClickStackのデプロイメント設定を更新します:
オプション2:Docker run(オールインワンイメージ)
docker runでオールインワンイメージを使用する場合:
HyperDXでメトリクスを検証する
設定完了後、HyperDXにログインしてメトリクスが送信されていることを確認します:
- Metrics Explorer に移動します
temporalで始まるメトリクス(例:temporal_cloud_v1_workflow_success_count、temporal_cloud_v1_poll_timeout_count)を検索します。- 設定した収集間隔ごとにメトリクスのデータポイントが表示されるはずです

ダッシュボードと可視化
ClickStack を使って Temporal Cloud の監視を始めやすくするために、Temporal Metrics 向けのサンプル可視化をいくつか用意しています。
あらかじめ用意されたダッシュボードをインポートする
- HyperDX を開き、Dashboards セクションに移動します
- 右上の三点リーダー(…)アイコンから Import Dashboard をクリックします

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

トラブルシューティング
カスタム構成が読み込まれない
環境変数 CUSTOM_OTELCOL_CONFIG_FILE が正しく設定されているか確認してください:
カスタム設定ファイルが /etc/otelcol-contrib/custom.config.yaml にマウントされていることを確認してください。
カスタム設定の内容を表示し、正しく読み取れることを確認します:
temporal.key がコンテナ内にマウントされていることを確認してください:
HyperDX にメトリクスが表示されない
コレクターから Temporal Cloud にアクセスできることを確認してください。
一連の Prometheus メトリクスが、たとえば次のように出力されているはずです。
実際に有効になっている設定に Prometheus receiver が含まれていることを確認します。
コレクターエージェントのログにエラーがないか確認します:
コレクターのログを確認します:
認証エラー
ログで認証エラーが発生している場合は、API キーを確認してください。
ネットワーク接続の問題
ClickStack が Temporal Cloud に到達できない場合は、Docker Compose ファイルまたは docker run コマンドで外部ネットワークへの接続が許可されていることを確認してください。
次のステップ
さらに詳しく試してみたい場合は、監視環境で次のようなことに取り組んでみてください。
- 重要なメトリクス(メモリ使用量の閾値、接続上限、キャッシュヒット率の低下)向けに alerts を設定する
- 特定のユースケース(レプリケーション遅延、永続化パフォーマンスなど)向けに追加のダッシュボードを作成する
- エンドポイントとサービス名を変えて receiver の設定を複製し、複数の Temporal Cloud アカウントを監視する
