TL;DRMonitor Temporal Cloud metrics in ClickHouse Observability using the OTel Prometheus receiver. Includes a pre-built dashboard.
Prerequisites
- A ClickHouse Observability service
- Existing Temporal Cloud account
- Docker on a host with HTTPS access to Temporal Cloud and your OTLP endpoint
Connection details
- Fully managed
- Self-managed
Open ClickHouse Observability and go to Team Settings → Data → Managed Telemetry. Copy your OTLP HTTP endpoint and API key. You can use Copy connection details to copy the configuration, or Reveal key to view the masked key.For the OTLP exporter examples below, set these variables in the terminal where you will run the collector:Replace the placeholders with the exact endpoint, including its port, and API key from your service. Use the base HTTP endpoint without a
/v1/metrics suffix; the exporter appends the signal path.http://host.docker.internal:4318. The Docker commands below include the host mapping.
Integration with existing Temporal Cloud
1
Create Temporal Cloud key
Create a Temporal Cloud service account with the Metrics Read-Only role and generate an API key, following the Authentication guide. An Account Owner or Global Admin must create the service account and key.
2
Configure the OTel collector
Run a standalone OpenTelemetry Collector with the Prometheus receiver to scrape Temporal Cloud and forward metrics to your service.Create a file named This configuration:
temporal-metrics.yaml with the following configuration:temporal-metrics.yaml
- Connects to Temporal Cloud at
metrics.temporal.io - Collects metrics every 60 seconds
- Collects key performance metrics
- Sets the required
service.nameresource attribute per OpenTelemetry semantic conventions - Sends metrics to your OTLP endpoint via a dedicated pipeline
service.name to distinguish them (for example, temporal-prod and temporal-dev).3
Run the collector
From the directory containing Leave the terminal open and check for scrape or export errors. Allow a few minutes for Temporal Cloud metrics to appear. Stop the collector with Ctrl+C when finished testing.
temporal-metrics.yaml and temporal.key, set the connection variables and run:4
Verify metrics in ClickHouse Observability
Once configured, log into ClickHouse Observability and verify metrics are flowing:
- Open Chart Explorer and select your Metrics source
- Filter for
ServiceName:temporal, select Last 15 minutes, and search for metrics starting withtemporal(e.g.,temporal_cloud_v1_workflow_success_count,temporal_cloud_v1_poll_timeout_count) - You should see metric data points appearing at your configured collection interval
Dashboards and visualization
To help you get started monitoring Temporal Cloud with ClickHouse Observability, we provide some example visualizations for Temporal Metrics.1
2
Import the pre-built dashboard
- Open Dashboards and click Import in the upper-right corner.
- Upload
temporal-metrics-dashboard.json. - Map the charts to your Metrics source and click Finish Import.
3
View the dashboard
The dashboard will be created with all visualizations pre-configured:
Troubleshooting
Collector fails to start
Check the terminal output for configuration errors. Confirm both mounted files exist and the collector can readtemporal.key. Ensure the OTLP connection variables are set in the terminal where Docker runs.
No metrics appearing
Check collector logs:https://metrics.temporal.io/v1/metrics and your OTLP endpoint. In Chart Explorer, check the Metrics source, ServiceName:temporal filter, and time range. Temporal metrics can take a few minutes to become available and depend on activity in your account.
Authentication errors
For Temporal scrape errors, confirmtemporal.key contains a valid API key for a service account with the Metrics Read-Only role. For OTLP export errors, check your ClickHouse Observability endpoint and authorization value. These are separate credentials.
Next steps
- Set up alerts for critical metrics (workflow failure rates, task backlog growth, schedule-to-start latency)
- Create additional dashboards for specific use cases (namespace-level monitoring, workflow type performance)
- Monitor multiple Temporal Cloud accounts by duplicating the receiver configuration with different endpoints and service names