Temporal 平台中的 OpenMetrics 支持目前处于公开预览阶段。更多信息请参考Temporal 官方文档。
Temporal 提供了一种抽象,用于构建简单、精巧且具备高弹性的应用程序。
使用 ClickStack 监控 Temporal Cloud 指标
本指南演示如何通过配置 OpenTelemetry collector 的 Prometheus receiver,使用 ClickStack 监控 Temporal Cloud。您将学习如何:
- 配置 OTel collector 以收集 Temporal Cloud 指标
- 使用自定义配置部署 ClickStack
- 使用预构建仪表板可视化 Temporal Cloud 性能(未完成工作流数、每秒操作次数、活动命名空间、任务积压情况)
所需时间:5–10 分钟
与现有 Temporal Cloud 的集成
本节说明如何通过为 ClickStack 的 OTel collector 配置 Prometheus receiver 来配置 ClickStack。
前提条件
- 正在运行的 ClickStack 实例
- 现有的 Temporal Cloud 账户
- 从 ClickStack 到 Temporal Cloud 的 HTTP 网络连通性
创建自定义 OTel collector 配置
ClickStack 允许您通过挂载自定义配置文件并设置环境变量来扩展基础 OpenTelemetry 收集器配置。自定义配置会与 HyperDX 通过 OpAMP 管理的基础配置进行合并。
创建名为 temporal-metrics.yaml 的文件,包含以下配置:
此配置:
- 连接到
metrics.temporal.io上的 Temporal Cloud - 每 60 秒采集一次指标
- 收集关键性能指标
- 按照 OpenTelemetry 语义约定 设置必需的
service.name资源属性 - 通过专用的 pipeline 将指标转发到 ClickHouse exporter
- 只需在自定义配置中定义新的 receiver、processor 和 pipeline 即可
memory_limiter和batch处理器以及clickhouseexporter 已在基础 ClickStack 配置中定义完毕——只需按名称引用它们即可resource处理器按照 OpenTelemetry 语义约定设置必需的service.name属性- 对于多个 Temporal Cloud 账户,请自定义
service.name以区分它们(例如"temporal-prod"、"temporal-dev")
配置 ClickStack 加载自定义配置
要在现有的 ClickStack 部署中启用自定义采集器配置,您必须:
- 将自定义配置文件挂载至
/etc/otelcol-contrib/custom.config.yaml - 设置环境变量
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - 将
temporal.key文件挂载到/etc/otelcol-contrib/temporal.key路径 - 确保 ClickStack 与 Temporal 之间网络互通
所有命令均假定在存储 temporal-metrics.yaml 和 temporal.key 文件的示例目录下执行。
选项 1:Docker Compose
更新您的 ClickStack 部署配置:
选项 2:Docker run(一体化镜像)
如果使用 docker run 运行一体化镜像:
在 HyperDX 中验证指标
配置完成后,登录 HyperDX 并验证指标数据是否正常流入:
- 导航到 Metrics Explorer
- 搜索以
temporal开头的指标(例如temporal_cloud_v1_workflow_success_count、temporal_cloud_v1_poll_timeout_count) - 你应该会按你配置的采集间隔看到指标数据点开始出现

仪表板和可视化
为帮助您开始使用 ClickStack 监控 Temporal Cloud,我们提供了一些 Temporal 指标的可视化示例。
导入预构建的仪表板
- 打开 HyperDX 并进入 Dashboards 页面
- 点击右上角省略号下方的 Import Dashboard

- 上传
temporal-metrics-dashboard.json文件并点击 Finish Import

故障排查
自定义配置未生效
请确认环境变量 CUSTOM_OTELCOL_CONFIG_FILE 设置正确:
检查自定义配置文件是否挂载在 /etc/otelcol-contrib/custom.config.yaml:
查看自定义配置内容,确认其可读:
确认 temporal.key 已挂载到容器中:
在 HyperDX 中未显示任何指标
确认 collector 可以访问 Temporal Cloud:
你应该会看到输出一系列 Prometheus 指标,例如:
确认有效配置中包含你的 Prometheus 接收器:
检查 collector agent 的日志是否有报错:
查看采集器日志:
身份验证错误
如果在日志中看到身份验证错误,请检查您的 API 密钥。
网络连接问题
如果 ClickStack 无法访问 Temporal Cloud,请确保 Docker Compose 文件或 docker run 命令已启用对外网络访问。
后续步骤
如果希望进一步探索,可以尝试如下方式来扩展和优化监控:
- 为关键指标(内存使用阈值、连接数上限、缓存命中率下降)配置告警
- 针对特定用例(复制延迟、持久化性能)创建更多仪表板
- 通过复制接收端配置并使用不同的 endpoint 和服务名,监控多个 Temporal Cloud 账户
