从 Elastic 迁移agent
- Beats 家族 —— 例如 Filebeat、Metricbeat 和 Packetbeat —— 均基于
libbeat库。这些 Beats 支持通过 Lumberjack 协议将数据发送到 Elasticsearch、Kafka、Redis 或 Logstash。 Elastic Agent提供统一的agent,可采集日志、指标和链路追踪。该agent可通过 Elastic Fleet Server 进行集中管理,并支持输出到 Elasticsearch、Logstash、Kafka 或 Redis。- Elastic 还提供了 OpenTelemetry Collector - EDOT 的一个发行版。虽然目前它还无法由 Fleet Server 统一编排,但如果你要迁移到 ClickStack,它提供了一条更灵活、更开放的路径。
首选迁移路径
为什么选择 OpenTelemetry Collector?OpenTelemetry Collector 为可观测性数据摄取提供了一种可持续、厂商中立的解决方案。我们理解,有些组织运行着由数千个、甚至数万个 Elastic agent 组成的大规模部署。对于这类用户,与现有 agent 基础设施保持兼容可能至关重要。本文档旨在为此提供支持,同时帮助团队逐步过渡到基于 OpenTelemetry 的采集方案。
ClickHouse OpenTelemetry 端点
从 Beats 迁移

1
安装 Vector
使用官方安装指南安装 Vector。可将其安装在与你的 Elastic Stack OTel collector 相同的实例上。你可以在将 Vector 迁移到生产环境时,遵循架构和安全方面的最佳实践。2
配置 vector
需要将 Vector 配置为通过 Lumberjack 协议接收事件,以模拟 Logstash 实例。可通过为 Vector 配置logstash source 来实现:TLS 配置如果需要双向 TLS,请参考 Elastic 指南 “为 Logstash 输出配置 SSL/TLS” 生成证书和私钥。然后即可像上文所示那样在配置中指定这些证书和私钥。
beats 数据源接收事件。下方展示了我们的重映射脚本。该脚本仅针对日志事件进行了测试,但可作为其他格式的参考基础。VRL - ECS 转 OTel
VRL - ECS 转 OTel
remap_filebeat 转换的输出作为输入:YOUR_INGESTION_API_KEY 由 ClickStack 生成。您可以在 ClickStack UI (HyperDX) 的 Team Settings → API Keys 中找到该密钥。
3
从 Elastic Agent 迁移
- 将 Elastic Agent 配置为通过 Lumberjack 协议发送到 Vector 端点。目前,这种方式仅针对仅使用 Elastic Agent 收集日志数据的用户进行了测试。 这可以通过 Kibana 中的 Fleet UI 统一配置。
- 将 Elastic Agent 作为 Elastic OpenTelemetry Collector (EDOT) 运行。Elastic Agent 内嵌了 EDOT Collector,因此您只需对应用程序和基础设施进行一次埋点,即可将数据发送到多个供应商和后端。在这种配置下,您只需将 EDOT collector 配置为通过 OTLP 将事件转发到 ClickStack OTel collector。这种方式支持所有事件类型。
通过 Vector 发送数据
2
配置 Elastic Agent
需要将 Elastic Agent 配置为通过 Logstash 的 Lumberjack 协议发送数据。这是一种受支持的部署模式,既可以集中配置;如果是不使用 Fleet 的部署方式,也可以通过 agent 配置文件elastic-agent.yaml 进行配置。要在 Kibana 中进行集中配置,可以向 Fleet 添加一个 Output。

将 Elastic agent 作为 OpenTelemetry collector 运行
agent 集成与编排使用随 Elastic agent 分发的 EDOT collector 的用户将无法利用 agent 提供的现有集成。此外,该 collector 无法由 Fleet 进行集中管理,这意味着用户必须以独立模式运行 agent,并自行管理配置。
exporters,并配置 OTLP 输出,将数据发送到 ClickStack OpenTelemetry collector。例如,exporters 的配置将变为:
托管 ClickStack默认情况下,如果以独立方式为托管 ClickStack 运行 OpenTelemetry Collector,则无需 API 摄取密钥。不过,也可以通过指定 OTLP 身份验证令牌来保护摄取。请参阅“保护收集器”。
YOUR_INGESTION_API_KEY 由 ClickStack 生成。您可以在 ClickStack UI 的 Team Settings → API Keys 中找到该密钥。

otlp 导出器,例如: