Monitoring Temporal Cloud metrics with ClickStack

```
docker exec <container-name> ls -lh /etc/otelcol-contrib/custom.config.yaml
# usually, docker exec clickstack ls -lh /etc/otelcol-contrib/custom.config.yaml
```

View the custom config content to verify it's readable:

```
docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yaml
# usually, docker exec clickstack cat /etc/otelcol-contrib/custom.config.yaml
```

Confirm the `temporal.key` is mounted into the container:

```
docker exec <container-name> cat /etc/otelcol-contrib/temporal.key
# usually, docker exec clickstack cat /etc/otelcol-contrib/temporal.key
# This should output your temporal.key
```

### No metrics appearing in HyperDX[​](#no-metrics "Direct link to No metrics appearing in HyperDX")

Verify Temporal Cloud is accessible from the collector:

```
# From the ClickStack container
docker exec <container-name> curl -H "Authorization: Bearer <API_KEY>" https://metrics.temporal.io/v1/metrics
```

You should see a series of Prometheus metrics printed e.g.

```
temporal_cloud_v1_workflow_success_count{operation="CompletionStats",region="aws-us-east-2",temporal_account="l2c4n",temporal_namespace="clickpipes-aws-prd-apps-us-east-2.l2c4n",temporal_task_queue="clickpipes-svc-dc118d12-b397-4975-a33e-c2888ac12ac4-peer-flow-task-queue",temporal_workflow_type="QRepPartitionWorkflow"} 0.067 1765894320
```

Verify the effective config includes your Prometheus receiver:

```
docker exec <container> cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 "Prometheus:"
## usually, docker exec clickstack cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 "prometheus:"
```

Check for errors in the collector agent logs:

```
docker exec <container> cat /etc/otel/supervisor-data/agent.log | grep -i Prometheus
# Look for connection errors or authentication failures
# docker exec clickstack cat /etc/otel/supervisor-data/agent.log | grep -i Prometheus
```

Check in the collector logs:

```
docker exec <container> cat /var/log/otel-collector.log | grep -i error
# Look for config parsing errors - early supervisor.opamp-client can be ignored 
# docker exec clickstack cat /var/log/otel-collector.log | grep -i error
```

### Authentication errors[​](#auth-errors "Direct link to Authentication errors")

If you see authentication errors in the logs check your API key.

### Network connectivity issues[​](#network-issues "Direct link to Network connectivity issues")

If ClickStack can't reach Temporal Cloud ensure your Docker Compose file or `docker run` commands allow [external networking](https://docs.docker.com/engine/network/#drivers).

## Next steps[​](#next-steps "Direct link to Next steps")

- Set up [alerts](/docs/use-cases/observability/clickstack/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

## Going to production[​](#going-to-production "Direct link to Going to production")

This guide extends ClickStack's built-in OpenTelemetry Collector for quick setup. For production deployments, we recommend running your own OTel Collector and sending data to ClickStack's OTLP endpoint. See [Sending OpenTelemetry data](/docs/use-cases/observability/clickstack/ingesting-data/opentelemetry) for production configuration.

- [Integration with existing Temporal Cloud](#existing-temporal)- [Prerequisites](#prerequisites)- [Dashboards and visualization](#dashboards)- [Troubleshooting](#troubleshooting)
        - [Custom config not loading](#troubleshooting-not-loading)- [No metrics appearing in HyperDX](#no-metrics)- [Authentication errors](#auth-errors)- [Network connectivity issues](#network-issues)- [Next steps](#next-steps)- [Going to production](#going-to-production)

Was this page helpful?