TL;DR本指南将介绍如何将 Odigos 遥测数据导出到 ClickStack。你将了解如何:
- 使用 Helm 在 Kubernetes 上部署 Odigos
- 在 Odigos UI 中添加数据源
- 添加一个指向 ClickStack 的 OTLP HTTP 目标端
- 在 ClickStack 中验证日志、指标和链路追踪
什么是 Odigos?
- 代码级上下文 — 与函数和运行时行为关联的属性
- HTTP 流量 — 服务之间的请求与响应
- 消息系统 — 来自 Kafka 和类似消息代理的载荷与消息
- 详细错误信息 — 出现故障时的堆栈跟踪
- 自定义插桩 — 在 auto-instrumentation 覆盖不到的地方继续扩展,无需修改代码或重启
为什么选择 Odigos + ClickStack?
前置条件
- 已安装 ClickStack,并且可从你的 Kubernetes 集群访问。参见 开始使用开源 ClickStack 或 开始使用托管 ClickStack。
- 你的 ClickStack OTLP HTTP 端点 (端口
4318) ,以及 Odigos 将在Authorization请求头中传递的身份验证值。对于开源 ClickStack,这个值是 HyperDX UI 中 Team Settings → API Keys 里的 API 摄取密钥。对于托管 ClickStack,这个值是你在启动自己的独立 ClickStack 收集器时设置的OTLP_AUTH_TOKEN。 - 一个 Kubernetes 集群 (用于 eBPF instrumentation 的 Linux 节点内核版本需为 4.18 或更高)
- 要安装到
odigos-system命名空间所需的 Helm、kubectl 和集群凭证 - 一个 Odigos Enterprise 本地部署 token —— 联系 Odigos team 获取访问权限
将 ClickStack 与 Odigos 集成
使用 Helm 部署 Odigos
Odigos Enterprise 需要本地部署许可证令牌。请在 shell 中将其导出:odigos-pro 的 Kubernetes Secret 中。请参阅Odigos Enterprise 安装。添加 Odigos Helm 仓库,并将该 chart 安装到 odigos-system:--set 标志或自定义 values 文件 (-f) 传入额外的配置覆盖项。Chart 的默认配置值位于 GitHub 上的 helm/odigos/values.yaml。确认 Odigos Pod (容器组) 正在运行:在 Odigos UI 中添加数据源
- 为 Odigos UI 服务设置端口转发:
- 在浏览器中打开 http://localhost:3000。
- 前往 Sources,然后选择要插桩的命名空间或工作负载。
- 在所有工作负载都标记为需要插桩后,点击底部的 done。
- 在 Sources 列中确认工作负载已成功插桩。
在 Odigos UI 中将 ClickStack 添加为目标端
要将遥测数据发送到 ClickStack,请在 Odigos 中添加一个 OTLP HTTP 目标端。具体配置取决于 ClickStack 的部署方式。对于开源 ClickStack,OpenTelemetry collector 已内置,HyperDX UI 会自动为你生成摄取 key。对于托管 ClickStack,则需要你自行运行独立的 ClickStack collector,并在启动容器时自行选择身份验证令牌。- 开源 ClickStack
- Managed ClickStack
对于开源 ClickStack,例如一体化镜像,网关 OpenTelemetry collector 已包含在内,并且 HyperDX 会自动生成摄取 API key。
- 在 Odigos UI 中,点击 Add Destination 并选择 OTLP HTTP。
- 将 OTLP HTTP Endpoint 设置为你的 ClickStack collector (例如,
http://clickstack.example.com:4318) 。有关端点详情,请参阅使用 OpenTelemetry 进行摄取。 - 在 ClickStack UI 的 Team Settings → API Keys 中复制你的 API 摄取 key。
- 在 Headers 中,添加:
- Key:
Authorization - Value: 你的 API 摄取 key
- Key:
- 启用 Logs、Metrics 和 Traces。
- 保存目标端。
在 ClickStack 中验证遥测数据
- 打开 ClickStack UI (HyperDX) :
- 开源 ClickStack:例如,在一体化 image 中访问
http://<host>:8080。 - 托管 ClickStack:在 ClickHouse Cloud 控制台 中打开你的 service,然后点击 Launch ClickStack。详情请参见导航到 ClickStack UI。
- 开源 ClickStack:例如,在一体化 image 中访问
- 检查来自已插桩服务的 日志、指标 和 链路追踪 数据。
- 按
odigos.version过滤链路追踪,以验证端到端导出是否正常。
kubectl logs deploy/odigos-gateway -n odigos-system高级配置
HyperDX 日志规范化器
HYPERDX_LOG_NORMALIZER: true) 。它会解析 JSON 格式的日志正文,并对属性进行规范化,以便在 ClickStack UI 中更高效地查询。
原生 ClickHouse 目标端
- 生产 schema:将
CLICKHOUSE_CREATE_SCHEME设置为false,并使用你自己的 DDL。 - TLS / 认证:使用
CLICKHOUSE_TLS_ENABLED、CLICKHOUSE_USERNAME,并通过 Kubernetes Secret 提供密码。
通过 Kubernetes 清单配置目标端
Odigos VM Agent
Odigos Central
下一步
- 在 ClickStack 中查看已插桩服务的链路追踪
- 为 Odigos 导出的指标创建仪表盘
- 根据您的保留策略和查询模式,优化 ClickHouse schema 和生存时间 (TTL)