Temporal OpenTelemetry Integration
| Version | 1.0.0 (View all) |
| Managed integration release status |
|
| Subscription level What's this? |
Basic |
| Developed by What's this? |
Elastic |
| Minimum Kibana version(s) | 9.5.0 |
You can use this integration as an Elastic Managed integration on Elastic Cloud Hosted deployments running this version or later.
Collect operational metrics from Temporal Cloud using the Temporal OpenTelemetry Integration.
This integration scrapes Temporal Cloud OpenMetrics using the Prometheus (OTel) Input Package into the Cloud Metrics data stream (temporal.cloud_metrics.otel): workflow lifecycle, task queues and polling, service latency and errors, namespace limits and throttles, schedules, and replication lag.
Metrics are stored with native OTel schema — no field renaming or custom mapping is applied.
Once data starts flowing, the Temporal OpenTelemetry Assets package provides a Cloud Metrics dashboard, alerting rule templates, and SLO templates.
| Requirement | Details |
|---|---|
| Temporal Cloud | Account with permission to create a Service Account |
| API key role | Service Account with Metrics Read-Only account-level role |
| Elastic Stack | 9.5.0+ |
| Input package | prometheus_input_otel (installed automatically as a dependency) |
| Content package | temporal_otel (installed automatically as a dependency) |
Create a Temporal Cloud API key:
- Sign in to Temporal Cloud as an Account Owner or Global Admin
- Go to Settings → Service Accounts → create a Service Account with the Metrics Read-Only role
- Generate an API key for that Service Account and store it securely
Add the integration in Kibana:
- Go to Management → Integrations → search for "Temporal(OpenTelemetry) Integration"
- Click Add Temporal(OpenTelemetry) Integration
- Fill in:
- Temporal Cloud Metrics Endpoint:
metrics.temporal.io:443(default) - Metrics Path:
/v1/metrics(default — set query parameters in Query Parameters, not here) - Temporal Cloud API Key: paste the Metrics Read-Only API key
- Temporal Cloud Metrics Endpoint:
Verify data:
- Discover filter
data_stream.dataset: "temporal.cloud_metrics.otel"
- Discover filter
Temporal Cloud's OpenMetrics endpoint accepts query parameters that scope the response — useful for reducing scrape size and staying within Temporal's per-scrape limits.
Set them in the Query Parameters field in the Fleet UI, as a YAML map of parameter name to a list of values:
<parameter-name>:
- <value>
- <value>
Do not append query parameters to the Metrics Path field.
For the parameters Temporal Cloud supports and their accepted values, see the Temporal Cloud OpenMetrics API reference.
Metrics are scraped from:
GET https://metrics.temporal.io/v1/metrics
Authorization: Bearer <API_KEY>
Temporal Cloud aggregates metrics in one-minute windows. Each scrape returns only the most recently completed window — configure Elastic to retain history. Honor scrape timestamps (honor_timestamps: true, enabled by default).
See the Temporal Cloud OpenMetrics documentation and metrics reference for the full catalog.
| Category | Prefix / examples |
|---|---|
| Workflow lifecycle | temporal_cloud_v1_workflow_success_count, *_failed_count, *_timeout_count, schedule-to-close latency percentiles |
| Activity lifecycle | temporal_cloud_v1_activity_success_count, *_fail_count, activity latency percentiles |
| Task queues / polling | temporal_cloud_v1_approximate_backlog_count, *_poll_success_count, *_poll_timeout_count, *_no_poller_tasks_count |
| Service / frontend | temporal_cloud_v1_service_request_count, *_service_error_count, *_service_latency_p99 |
| Limits / capacity | temporal_cloud_v1_action_limit, *_operations_limit, *_poller_limit, *_provisioned_capacity_tru_count |
| Schedules | temporal_cloud_v1_schedule_action_success_count, *_schedule_rate_limited_count |
| Replication | temporal_cloud_v1_replication_lag_p50, *_p95, *_p99 |
All metrics are stored under the metrics.* field namespace with their original OpenMetrics names.
Changelog
| Version | Details | Minimum Kibana version |
|---|---|---|
| 1.0.0 | Enhancement (View pull request) Make GA. |
9.5.0 |
| 0.4.1 | Enhancement (View pull request) Depend on temporal_otel 0.2.0 to install the updated Cloud Metrics dashboard. |
9.5.0 |
| 0.4.0 | Bug fix (View pull request) Fix metrics filtering: query parameters appended to Metrics Path were percent-encoded into the URL path ( %3F) and returned no data. Add a new Query Parameters field that correctly maps to the Prometheus scrape params block.Enhancement (View pull request) Add Query Parameters field to the Cloud Metrics stream, allowing Temporal Cloud query parameters to be set via the Fleet UI without editing the Metrics Path. Enhancement (View pull request) Change default scrape interval from 60s to 30s and scrape timeout from 30s to 10s, per Temporal's recommendation for their one-minute aggregation windows. |
9.5.0 |
| 0.3.1 | Enhancement (View pull request) Rename the integration display name in the README to Temporal OpenTelemetry Integration. |
9.5.0 |
| 0.3.0 | Enhancement (View pull request) Add the temporal_otel content package as a dependency and document it in the README. |
9.5.0 |
| 0.2.0 | Bug fix (View pull request) Stop overriding the OTel attributes passthrough mapping so all Temporal Cloud metric labels are indexed as time series dimensions. |
9.5.0 |
| 0.1.0 | Enhancement (View pull request) Initial release of the Temporal Cloud OTel integration (cloud_metrics data stream). |
9.5.0 |