Python之FastAPI的入门到精通系列:Logfire应用服务的可观测性链路追踪

代码地址:[email protected]:FunkyGod/fastapi-demo.git
目标功能:教学和分享Python开发,将零开始写代码,学习编程技术;
范围包括:python语法、web构建、机器学习、深度学习、AI实践。
本篇主要内容:根据Logfire实现对应用服务的可观测性链路追踪
在FastAPI或者其他python框架里,通过Logfire实现对应用服务的可观测性链路追踪。它让你能够实时"看到"应用在生产环境中的运行状态,无需反复部署调试。实现“微服务架构下,一个请求可能跨越多个服务,追踪完整链路”等功能,高效地实现结构化日志、分布式追踪和性能监控。
推荐理由:非常适合开发环境调试和链路追踪。
logfire是什么?
Logfire 是由 Pydantic 团队开发的现代化可观测性平台,专为 Python 应用设计。Logfire 让每个 Python 开发者都能轻松获得生产环境的洞察力。

Logfire对程序影响较小
- logfire 包已安装并配置且启用了代理插桩(instrumentation),详细信息会发送到 Logfire。否则几乎没有开销,也不会发送任何数据。
- 基于 OpenTelemetry 的低开销设计,异步数据收集、批量发送遥测数据,智能采样策略。
- 放心地在生产环境使用 Logfire,而不用担心它会成为性能瓶颈。
logfire独到之处和优势
- Logfire 的仪表板与其所提供的功能相比十分简洁,很容易通过仪表UI界面查询到需要的信息;
- 从Python对象的丰富展示,到事件循环遥测,再到Python代码和数据库查询的性能分析,满足我们的运维需求;
- Logfire 是基于 OpenTelemetry 的一个带有特定观点的封装工具,它允许利用现有的工具、基础设施对许多常见 Python 包的 instrumentation。
- 全面支持 OpenTelemetry 的所有信号(
追踪、指标和日志)。
兼容opentelemetry
opentelemetry-python-contrib/instrumentation at main · open-telemetry/opentelemetry-python-contrib
对我们在应用程序里使用logfire是轻松容易的!!!
OpenTelemetry 是可观测性领域的事实标准,提供了统一的 API、SDK 和数据格式(如 Trace、Metric、Log 的规范),已被绝大多数云厂商、监控工具和开源项目支持。
OTel 定义了统一的 Trace、Metric、Log 数据模型(例如通过 trace_id 关联分布式追踪和日志),Logfire 兼容 OTel 后,可直接基于标准化数据进行处理、存储和分析,更容易实现 “可观测性三位一体”(日志、指标、追踪)的关联分析,提升用户对系统问题的排查效率。
如何在FastAPI里使用Logfire
在logfire以project维度开始实验
官方地址:https://logfire-us.pydantic.dev/
登录上去,新建一个项目,然后logfire会告诉我们,如何安装和使用它:

1、安装sdk: ud add logfire
2、生成token密钥
3、在代码里配置环境变量
4、开始在框架里使用logfire
在FastAPI对应用服务的可观测性链路追踪
安装logfire
11316@DESKTOP-QJ0UM8D MINGW64 /d/Code/fastapi-demo (master)
$ uv add logfire
Resolved 193 packages in 121ms
warning: The package `huggingface-hub==1.0.1` does not have an extra named `inference`
warning: The package `huggingface-hub==1.0.1` does not have an extra named `inference`
Audited 186 packages in 6ms
代码改造
本次演示以默认配置为例,如需追踪自己需要的信息,可结合官方文档和AI助手咨询:
# Use logfire to instrument the FastAPI app.
# This should be done before instrumenting any if settings.LOGFIRE_TOKEN:
logfire.configure(
token=settings.LOGFIRE_TOKEN,
service_name=settings.LOGFIRE_SERVICE,
environment=settings.LOGFIRE_ENVIRONMENT,
)
logfire.instrument_fastapi(app)
查看日志
Attempting to instrument FastAPI app while already instrumented
2025-11-18T13:49:05.074579939Z INFO: Started server process [47]
2025-11-18T13:49:05.074627130Z INFO: Waiting for application startup.
2025-11-18T13:49:05.075264877Z INFO: Application startup complete.
2025-11-18T13:49:05.678326303Z Logfire project URL: https://logfire-us.pydantic.dev/*/fastapi-demo
验证logfire和UI看板
我们直接使用预置看板即可,主要快速演示:

Web Server Metrics Dashboard
这个看板提供 Web 服务性能概览,包括:
- Requests:收到的请求总数
- Exceptions:处理过程中遇到的异常数量
- Trend Routes:频繁访问的路由或 API 的可视化趋势
- 2XX Response Rate:成功响应(200 状态码)的百分比
- Log Type Ratio:不同日志类型的分布(info、warning、error)
Basic System Metrics Dashboard
显示系统资源利用率指标,包括:
- Number of Processes:系统上运行的进程总数
- System CPU usage %:整个系统使用的处理能力百分比(所有 CPU 核心的平均值)
- Process CPU usage %:单个进程使用的 CPU
- Memory Usage %:系统当前使用的内存百分比
- Swap Usage %:系统当前使用的交换空间百分比


刚刷到的朋友注意啦!若觉得内容有用,长按点赞!你的每次互动,都是我深夜码字的星光 🌟
腾讯云优惠超值活动
📢 云资源限时福利
有云服务器、CDN、对象存储、网络防护等需求的朋友,欢迎联系下方腾讯云官方销售 👇。
✔️ 内部专属折扣,价格更优
✔️ 量大可谈,支持定制方案
✔️ 技术咨询与售后无忧

评论区