/Pydantic Logfire 在 Logfire 中管理你的遥测数据,并将其发送到任何地方 Bill Easton avatar Bill Easton 5 分钟 2026/11/09 以 Markdown 格式

今天我们推出 Fleet Management ,它位于 Pydantic Logfire:更改你的 OpenTelemetry Collector 和应用 SDK 采集什么、以及将它们发送到哪里,从 Logfire无需在每台机器上编辑配置文件。调整采样、对新发现的敏感数据进行脱敏,而且无需重新部署应用即可完成。Fleet 处于 Beta 阶段,所有套餐均可使用。

为什么需要 Fleet Management?

现在是凌晨2点,而 checkout-api 出事了。有人带着调试日志上线,于是每个请求都会写入四十行日志。某个 span 属性携带了本不该有的卡号令牌。同样的数据既发往 Logfire,也发往你们平台团队运行的第二套后端。要关掉其中任何一项,都得提一个拉取请求、跑一次 CI、再做一次部署。如果 CI 给面子,四十分钟。继续开着,每小时就要多花数千美元。而在这期间已经发出去的卡号令牌,已经落在两个地方了。

你的 Collector 也有同样的问题,只是低了一层。它们的设置存放在每台主机上的 YAML 文件里,改动其中一项就意味着要对所有主机执行一次 Ansible 运行或 Helm 升级。

在 Logfire 中打开该服务的 SDK 策略,设置 最低日志级别 为“警告”,将令牌的属性添加到“属性脱敏”,然后发布。几秒钟内,正在运行的进程就会停止发送 info 和 debug 日志,令牌也会在 span 离开进程之前被移除。无需重启任何东西。事件结束后,将日志级别设回“由应用控制”并再次发布。工作原理每个 Collector 和每个应用都从策略中获取设置:策略是一组带版本的设置,你在 Logfire 中编辑并发布。Fleet Management 是一组能力, 警告,将令牌的属性添加到“属性脱敏” 属性脱敏,然后发布。

Changing an SDK policy in Fleet: Minimum log level is set to Warn, the review shows Log levels going from Application controlled to Warn and above, the policy is published, and checkout-api then shows Warn and above as both the policy and the running setting

“由应用控制”并再次发布。 由应用控制 并再次发布。

工作原理

Diagram from Fleet's How Fleet works guide: Logfire Fleet sends the policies you publish to Collectors on hosts, Collectors in a Kubernetes cluster, and application SDKs

每个 Collector 和每个应用都从策略中获取其设置:策略是一组带版本的设置,你在 Logfire 中编辑并发布。 策略:一组你在 Logfire 中编辑并发布的带版本设置。Fleet Management 是 Pydantic Logfire 中用于实现这一目标的一组能力:内置于 Logfire 的 OpAMP 服务器,Collector 和 SDK 会连接到它,以及你用来查看它们、编辑并发布策略的 UI。客户端通过 OpAMP,这是远程管理遥测软件所用的 OpenTelemetry 标准。它们会报告自身的健康状况和正在运行的设置,而你发布新版本后,已连接的客户端会在几秒内获取到。启用 rollout 后,它会等到你启动一个试点分组。

Fleet 承载的是设置,而不是遥测数据。你的应用继续用已有的写入令牌发送数据,你的 Collector 也继续按各自 pipeline 的配置发送到相应位置。

在 Logfire 中管理,发送到任何地方

Collector 策略涵盖 Collector 的整条 pipeline,包括 exporter。如果它同时向 Logfire 和另一个后端发送数据,你需要在 Fleet 中同时管理这两者。

应用侧也是如此。在 Python、Node.js、Java 和 .NET 中,SDK 策略管辖 SDK 所经由的每一个 exporter,而不只是指向 Logfire 的那一个:控制台 exporter、发往另一家厂商的第二个 OTLP exporter、插件添加的 exporter。因此,脱敏、采样和流量控制对每一个目的地都生效,而每个 span 的一次采样决策在所有目的地之间保持一致。应用在 SDK 之外自行接入的 exporter 同样不受该策略管辖。

你可以管理的内容

  • 主机上的 Collector。 一条命令即可在 Linux、macOS 或 Windows 上将 OpenTelemetry Collector 安装为服务,并将其加入你的项目。选择一个起点(主机监控、文件日志),Fleet 便会创建策略。
  • Kubernetes 集群。 集群中的一座小桥驱动着 OpenTelemetry Operator资源。你已经在运行的 Collector。添加 Collector › 现有 Collector 会为你提供一个连接密钥,以及一段用于 Collector Contrib 中该扩展的代码片段。由 Helm 或 GitOps 管理的 Collector 随后会出现在 Fleet 中,显示其健康状况、组件和配置,并标记为“仅报告”。其配置仍由你掌控。应用程序。Python、Node.js、Java、.NET 和 Go,可使用 Logfire SDK 或普通 OpenTelemetry SDK。在 Logfire SDK 上只需一个选项:Python 中为(Logfire 5.5.0,Python 3.11+),Node.js 中为 OpenTelemetryCollector 资源。
  • 你已经在运行的 Collector。 添加 Collector › 现有 Collector 会为你提供一个连接密钥,以及一段用于 Collector Contrib 中该扩展的代码片段。 opamp 由 Helm 或 GitOps 管理的 Collector 随后会出现在 Fleet 中,显示其健康状况、组件和配置,并标记为 仅报告其配置仍由你掌控。
  • 应用程序。 Python、Node.js、Java、.NET 和 Go,可使用 Logfire SDK 或普通 OpenTelemetry SDK。在 Logfire SDK 上只需一个选项: logfire.configure(fleet=True) (Logfire 5.5.0,Python 3.11+)以及 logfire.configure({ fleet: true }) 在 Node.js 中(0.22.0)。策略可以设置跟踪采样、采样规则、最低日志级别、要导出哪些信号、流量控制、属性脱敏和清理。策略未设置的所有内容都保持应用程序配置的原样。

一个页面即可展示全部内容:每个 Collector 和应用、它们是否已连接、健康状况、所运行的策略以及该策略是否已生效。 流量 展示你的 Collector 从哪里接收数据、向哪里发送数据,并且 概览 会将每个对象发送的数据量与上一周期进行比较。

The Collectors tab in Fleet management, listing host Collectors with their connection, health, policy status and policy version

更改一千台机器应该是件枯燥的事

一个能改变你所运行的每一个进程的工具,最好能确保这样做是安全的。

  • 每个策略都有版本。 审查会在你发布前展示该变更与已发布版本的对比,并在某个 Collector 缺少新版本所使用的组件时发出警告。
  • 无法运行某个版本的主机 Collector 或应用会拒绝该版本,并保留其现有配置。 并保留其现有配置。Fleet 将其显示为 失败 并标明该设置或组件。Kubernetes Collector 不会先做检查,因此请在那里先在试点分组上测试变更。
  • 先在少数几个上试点推出。 开启 rollout(现已进入早期访问阶段),新版本会推送到你选定的试点分组。它不会自行扩大范围:当结果看起来合适时,再由你扩大范围。
  • 回滚。 打开任意历史版本并将其恢复到编辑器中。

基于 OpenTelemetry 构建

Fleet 使用 OpAMP 协议,通过标准 Operator 管理标准 Collector,并通过运行在你现有 OpenTelemetry SDK 内的小型软件包连接各 SDK。我们的 OpAMP 客户端共享同一个协议核心,该核心用 Rust 编写并在每种语言中运行,而且它们与上游 OpenTelemetry 客户端运行在同一套一致性测试套件中。周三的文章将介绍我们如何构建并验证该核心。

快速开始

在项目侧边栏中打开 Fleet 管理。所有套餐均已启用。阅读文档。Fleet 概览、管理 Collector、管理应用和更改策略。查看实际效果。明天的文章将连接一个应用和一台主机,然后更改两者。查看产品页面。Fleet 管理。你的套餐决定了 Fleet 管理多少个应用和 Collector 策略,Fleet 会实时显示你的用量。本周先在一个服务上试用。如果有缺失的功能,请在 GitHub 上告诉我们或通过联系方式反馈。查看更多来自 Fleet 管理 在项目的侧边栏中。所有套餐均已启用。

你的套餐决定了 Fleet 管理多少个应用和 Collector 策略,Fleet 会实时显示你的用量。

本周先在一个服务上试用。如果有缺失的功能,请在 GitHub 或通过 联系我们.

在 Google 搜索中查看更多来自 Pydantic 的内容

将 Pydantic 添加为首选来源,以便更轻松地找到我们的最新文章。

将 Pydantic 添加为 Google 首选来源(在新标签页中打开)

准备好看看你的代理实际在做什么了吗?

免费开始 免费开始 联系我们 联系我们

探索我们的开源软件包

Product shot