Our Temporal Cloud integration monitors the performance of your Temporal Cloud data, helping you diagnose issues in your workflows, namespaces and scalable applications. Our Temporal Cloud integration gives you a pre-built dashboard with your most important Temporal Cloud metrics.
After setting up the integration with New Relic, see your data in dashboards like these, right out of the box.
Install the infrastructure agent
To use the Temporal Cloud integration, you need to first install the infrastructure agent on the same host. The infrastructure agent monitors the host itself, while the integration you'll install in the next step extends your monitoring with Temporal-specific data such as database and instance metrics.
Configure nri-flex
for Temporal Cloud
Once the Temporal Cloud metrics are exposed on the Prometheus endpoint, accessible via https://<account-id>.tmprl.cloud/prometheus
, you will need to configure your setup accordingly.
Note
Flex requires a New Relic account and is compatible with the following operating systems/platforms:
Linux
Windows
Kubernetes
For more information on compatible distros and versions, see the Infrastructure agent compatibility page.
Create file with named
nri-flex-temporal-cloud-config.yml
in this path:bash$touch /etc/newrelic-infra/integrations.d/Below is a
nri-flex
configuration file. Be sure to copy and paste its contents into your previously creatednri-flex-temporal-cloud-config.yml
file, and remember to update your account ID in the Prometheus endpoint URL, as well as the paths for the certificate files:integrations:- name: nri-flexconfig:name: temporalCloudIntegrationapis:- event_type: temporalCloudFrontendServiceErrorurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_frontend_service_error_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudFrontendServiceRequesturl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_frontend_service_request_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudPollSuccessurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_poll_success_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudPollSuccessSyncurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_poll_success_sync_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudPollTimeouturl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_poll_timeout_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudResourceExhaustedErrorsurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_resource_exhausted_error_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudScheduleActionSuccessurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_schedule_action_success_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudScheduleBufferOverrunsurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_schedule_buffer_overruns_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudScheduleMissedCatchupWindowurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_schedule_missed_catchup_window_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudScheduleRateLimitedurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_schedule_rate_limited_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudServiceLatencyBucketurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_service_latency_bucketheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudServiceLatencyCounturl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_service_latency_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudServiceLatencySumurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_service_latency_sumheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudStateTransitionurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_state_transition_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudTotalActionurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_total_action_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudWorkflowCancelurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_workflow_cancel_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudWorkflowContinuedurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_workflow_continued_as_new_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudWorkflowFailedurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_workflow_failed_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudWorkflowSuccessurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_workflow_success_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudWorkflowTerminateurl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_workflow_terminate_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pem- event_type: temporalCloudWorkflowTimeouturl: https://<your_account>.tmprl.cloud/prometheus/api/v1/query?query=temporal_cloud_v0_workflow_timeout_countheaders:accept: application/jsonsplit_array: trueleaf_array: truetls_config:enable: trueca: <your_file_path>/ca-certificates.crtkey: <your_file_path>/ca.keycert: <your_file_path>/ca.pemUse our instructions to restart your infrastructure agent:
bash$sudo systemctl restart newrelic-infra.serviceWait a few minutes until data starts folowing into your New Relic account.
Find your data
You can choose our pre-built dashboard template named Temporal Cloud to monitor your Temporal Cloud metrics. Follow these steps to use our pre-built dashboard template:
From one.newrelic.com, go to the + Integrations & Agents page.
Click on Dashboards.
In the search bar, type Temporal Cloud.
The Temporal Cloud dashboard should appear. Click on it to install it.
Your Temporal Cloud dashboard is considered a custom dashboard and can be found in the Dashboards UI. For docs on using and editing dashboards, see our dashboard docs.
Here is a NRQL query to check the Temporal Cloud frontend service requests count:
FROM temporalCloudFrontendServiceRequest SELECT latest(`data.result-value1`) FACET `data.result-metric-__name__`
What's next?
To learn more about building NRQL queries and generating dashboards, check out these docs:
- Introduction to the query builder to create basic and advanced queries.
- Introduction to dashboards to customize your dashboard and carry out different actions.
- Manage your dashboard to adjust your dashboards display mode, or to add more content to your dashboard.