简而言之使用 OTel Prometheus receiver 在 ClickStack 中监控 Temporal Cloud 指标。包含一个预置仪表盘。
与现有 Temporal Cloud 集成
前置条件
- 正在运行的 ClickStack 实例
- 已有 Temporal Cloud 账户
- ClickStack 能够通过 HTTP 访问你的 Temporal Cloud
2
创建自定义 OTel collector 配置
ClickStack 允许你通过挂载自定义配置文件并设置环境变量,扩展基础 OpenTelemetry collector 配置。自定义配置会与 HyperDX 通过 OpAMP 管理的基础配置合并。创建一个名为temporal-metrics.yaml 的文件,内容如下:temporal-metrics.yaml
- 连接到
metrics.temporal.io上的 Temporal Cloud - 每 60 秒采集一次指标
- 采集关键性能指标
- 按照 OpenTelemetry 语义约定设置必需的
service.name资源属性 - 通过专用管道将指标路由到 ClickHouse 导出器
- 你只需在自定义配置中定义新的接收器、处理器和管道
memory_limiter和batch处理器以及clickhouse导出器已在基础 ClickStack 配置中定义好,你只需按名称引用它们resource处理器会按照 OpenTelemetry 语义约定设置必需的service.name属性- 如果有多个 Temporal Cloud 账户,请自定义
service.name以区分它们 (例如:"temporal-prod"、"temporal-dev")
3
配置 ClickStack 以加载自定义配置
要在现有的 ClickStack 部署中启用自定义 collector 配置,必须:- 将自定义配置文件挂载到
/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 使用一体化镜像:4
在 HyperDX 中验证指标
配置完成后,登录 HyperDX 并确认指标已开始流入:- 进入 Metrics 浏览器
- 搜索以
temporal开头的指标 (例如:temporal_cloud_v1_workflow_success_count、temporal_cloud_v1_poll_timeout_count) - 你应能看到指标数据点按所配置的采集间隔持续出现
仪表盘和可视化
1
仪表盘配置
2
3
查看仪表盘
系统会创建该仪表盘,并预先配置好所有可视化:故障排查
自定义配置未正确加载
CUSTOM_OTELCOL_CONFIG_FILE 已正确设置:
/etc/otelcol-contrib/custom.config.yaml:
temporal.key 已挂载到容器中:
HyperDX 中未显示任何指标
身份验证错误
网络连接问题
docker run 命令已启用外部网络。
后续步骤
- 为关键指标 (工作流失败率、任务积压增长、从调度到启动的延迟) 设置告警
- 为特定用例创建额外的仪表盘 (命名空间级监控、工作流类型性能)
- 通过复制 receiver 配置并为其指定不同的端点和服务名称,监控多个 Temporal Cloud 账户