当社の Temporal クラウドインテグレーションは、Temporal Cloud データのパフォーマンスを監視し、ワークフロー、ネームスペース、スケーラブルなアプリケーションの問題の診断に役立ちます。 当社の Temporal クラウドインテグレーションでは、最も重要な Temporal Cloud メトリックスが組み込まれた事前構築されたダッシュボードが提供されます。
New Relic との統合を設定したら、すぐにこのようなダッシュボードでデータを確認できます。
インフラストラクチャエージェントをインストールします
Temporal クラウド インテグレーションを使用するには、まず同じホストにインフラストラクチャ エージェントをインストールする必要があります。 インフラストラクチャエージェントはホスト自体を監視しますが、次のステップでインストールする統合は、データベースやインスタンス メトリクスなどの時間固有のデータを使用して監視を拡張します。
設定 nri-flex
Temporal Cloud メトリクスが Prometheus エンドポイントで公開され、 https://<account-id>.tmprl.cloud/prometheus
経由でアクセスできるようになったら、それに応じてセットアップを構成する必要があります。
注記
Flex にはNew Relicアカウントが必要で、次の OS/プラットフォームと互換性があります。
Linux
ウィンドウズ
Kubernetes
互換性のあるディストリビューションとバージョンの詳細については、 インフラストラクチャエージェントの互換性ページを参照してください。
次のパスに
nri-flex-temporal-cloud-config.yml
という名前のファイルを作成します。bash$touch /etc/newrelic-infra/integrations.d/以下は
nri-flex
設定ファイルです。 必ずその内容をコピーして、以前に作成したnri-flex-temporal-cloud-config.yml
ファイルに貼り付けてください。また、Prometheus エンドポイント URL のアカウント ID と証明書ファイルのパスも更新してください。integrations:- name: nri-flexconfig:name: temporalCloudIntegrationglobal:base_url: https://<your_account_id>.tmprl.cloud/prometheus/api/v1/headers:accept: application/jsontls_config:enable: truekey: /certs/client.keycert: /certs/client.peminterval: 60stimeout: 55sapis:- event_type: temporalCloudFrontendServiceError# sum(increase(temporal_cloud_v0_frontend_service_error_count[1m])) by (temporal_namespace,operation)url: query?query=sum%28increase%28temporal_cloud_v0_frontend_service_error_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%29split_array: trueleaf_array: true- event_type: temporalCloudFrontendServiceRequest# sum(increase(temporal_cloud_v0_frontend_service_request_count[1m])) by (temporal_namespace,operation)url: query?query=sum%28increase%28temporal_cloud_v0_frontend_service_request_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%29split_array: trueleaf_array: true- event_type: temporalCloudPollSuccess# sum(increase(temporal_cloud_v0_poll_success_count[1m])) by (temporal_namespace,operation,task_type)url: query?query=sum%28increase%28temporal_cloud_v0_poll_success_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%2Ctask_type%29split_array: trueleaf_array: true- event_type: temporalCloudPollSuccessSync# sum(increase(temporal_cloud_v0_poll_success_sync_count[1m])) by (temporal_namespace,operation,task_type)url: query?query=sum%28increase%28temporal_cloud_v0_poll_success_sync_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%2Ctask_type%29split_array: trueleaf_array: true- event_type: temporalCloudPollTimeout# sum(increase(temporal_cloud_v0_poll_timeout_count[1m])) by (temporal_namespace,operation,task_type)url: query?query=sum%28increase%28temporal_cloud_v0_poll_timeout_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%2Ctask_type%29split_array: trueleaf_array: true- event_type: temporalCloudResourceExhaustedErrors# sum(increase(temporal_cloud_v0_resource_exhausted_error_count[1m])) by (temporal_namespace,resource_exhausted_cause)url: query?query=sum%28increase%28temporal_cloud_v0_resource_exhausted_error_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Cresource_exhausted_cause%29split_array: trueleaf_array: true- event_type: temporalCloudScheduleActionSuccess# sum(increase(temporal_cloud_v0_schedule_action_success_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_schedule_action_success_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudScheduleBufferOverruns# sum(increase(temporal_cloud_v0_schedule_buffer_overruns_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_schedule_buffer_overruns_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudScheduleMissedCatchupWindow# sum(increase(temporal_cloud_v0_schedule_missed_catchup_window_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_schedule_missed_catchup_window_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudScheduleRateLimited# sum(increase(temporal_cloud_v0_schedule_rate_limited_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_schedule_rate_limited_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudStateTransition# sum(increase(temporal_cloud_v0_state_transition_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_state_transition_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudTotalAction# sum(increase(temporal_cloud_v0_total_action_count[1m])) by (temporal_namespace, namespace_mode)url: query?query=sum%28increase%28temporal_cloud_v0_total_action_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20namespace_mode%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowCancel# sum(increase(temporal_cloud_v0_workflow_cancel_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_cancel_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowContinued# sum(increase(temporal_cloud_v0_workflow_continued_as_new_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_continued_as_new_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowFailed# sum(increase(temporal_cloud_v0_workflow_failed_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_failed_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowSuccess# sum(increase(temporal_cloud_v0_workflow_success_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_success_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowTerminate# sum(increase(temporal_cloud_v0_workflow_terminate_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_terminate_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowTimeout# sum(increase(temporal_cloud_v0_workflow_timeout_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_timeout_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowExecutionLatencySecP95# histogram_quantile(0.95, sum(rate(temporal_cloud_v0_service_latency_bucket[1m] offset 1m)) by (temporal_namespace, operation, le))url: query?query=histogram_quantile%280.95%2C%20sum%28rate%28temporal_cloud_v0_service_latency_bucket%5B1m%5D%20offset%201m%29%29%20by%20%28temporal_namespace%2C%20operation%2C%20le%29%29split_array: trueleaf_array: true- event_type: temporalCloudReplicationLagSecP95# histogram_quantile(0.95, sum(rate(temporal_cloud_v0_replication_lag_bucket[1m] offset 1m)) by (temporal_namespace, le))url: query?query=histogram_quantile%280.95%2C%20sum%28rate%28temporal_cloud_v0_replication_lag_bucket%5B1m%5D%20offset%201m%29%29%20by%20%28temporal_namespace%2C%20le%29%29split_array: trueleaf_array: true以下の手順に従って、インフラストラクチャ エージェントを再起動してください。
bash$sudo systemctl restart newrelic-infra.serviceデータがNew Relic アカウントに流れ始めるまで数分間お待ちください。
データを検索する
Temporal Cloud メトリックを監視するために、Temporal Cloud という事前に構築されたダッシュボード テンプレートを選択できます。 事前に構築されたダッシュボード テンプレートを使用するには、次の手順に従ってください。
one.newrelic.comより、 + Integrations & Agentsページに移動します。
[ダッシュボード]をクリックします。
検索バーにTemporal Cloudと入力します。
Temporal Cloud ダッシュボードが表示されます。 クリックしてインストールしてください。
Temporal Cloud ダッシュボードはカスタムダッシュボードとみなされ、ダッシュボードUIに表示されます。 ダッシュボードの使用と編集に関するドキュメントについては、ダッシュボードのドキュメントを参照してください。
以下は、Temporal Cloud フロントエンド サービスのリクエスト数を確認するための NRQL クエリです。
FROM temporalCloudFrontendServiceRequest SELECT latest(`data.result-value1`) FACET `data.result-metric-__name__`
次は何ですか?
NRQL クエリの作成とダッシュボードの生成の詳細については、次のドキュメントをご覧ください。
- 基本的なクエリと高度なクエリを作成するためのクエリ ビルダーの概要。
- ダッシュボードをカスタマイズしてさまざまなアクションを実行するためのダッシュボードの概要。
- ダッシュボードを管理して、ダッシュボードの表示モードを調整したり、ダッシュボードにコンテンツを追加したりします。