跳到主要内容

事件流与可观测性管道

现代系统会产生海量的遥测数据——包括日志、指标、追踪、安全事件以及大型语言模型(LLM)交互数据。本文将阐述可观测性管道如何帮助团队实时收集、处理、路由和评估这些数据,以及Datadog和Galileo在其中扮演的角色。

为何可观测性管道至关重要​

原始遥测数据成本高昂、噪声大且结构不一致。可观测性管道位于您的应用程序与监控工具之间,通过以下方式解决这些问题:

  • 降低成本:在海量日志到达昂贵的存储或安全信息与事件管理(SIEM)工具之前,对其进行过滤或采样。
  • 提升数据质量:通过解析、标准化和元数据增强来优化数据。
  • 保护隐私:在管道早期对个人身份信息(PII)进行屏蔽或移除。
  • 呈现高质量信号:在捕获运营遥测数据的同时,记录并评估大型语言模型(LLM)的交互情况。

无论是工程团队、站点可靠性工程(SRE)团队还是 AI 团队,都能从更快、更干净且更具可操作性的数据中获益。

现代可观测性的双层架构​

在同时包含传统云服务和 LLM 驱动功能的架构中,您需要处理两个截然不同的遥测层——每层都需要不同的工具。

基于 Datadog 的运维遥测​

Datadog 负责基础设施和应用层:日志采集、指标收集、告警以及管道路由。 在此,您可以发送 payment-gateway 错误日志,应用 Grok 解析器提取 transaction_id,并将 status:error 事件路由至 Slack 警报或 S3 归档。

Datadog 的 日志管理 产品包含用于大规模处理和路由日志数据的 可观测性管道,以及用于实时搜索和 Live Tail 的 日志探索器。

使用 Galileo 进行模型遥测​

Galileo 负责处理 LLM 层:追踪单个模型调用、捕获输入和输出、测量每个跨度(span)的延迟,并使用评估指标对响应进行评分。通过此功能,您可以了解您的 payment-query LLM 函数是否返回了准确、有依据且恰到好处的简洁答案——以及这些结果在不同部署中是否存在变化。

Galileo 是一个评估与可观测性平台,旨在帮助开发人员和 AI 工程师改进其 AI 应用,支持 Python 和 TypeScript SDK,并可与主流 LLM 提供商集成。

这两层并非冗余,而是相辅相成。Datadog 告诉您 发生了 什么问题;Galileo 则告诉您 为何 模型的响应质量下降。

高级管道架构​

管道架构图

事件流概念​

事件流 是指连续且按时间顺序排列的遥测数据流。在现代 应用架构中,事件流同时来自多个来源:

  • 应用日志(例如 payment-gateway 错误事件)
  • 基础设施指标(CPU、内存、延迟)
  • 分布式追踪跨度(应用性能监控 (APM) 数据)
  • 安全审计和身份验证日志
  • LLM 调用记录——提示词、生成结果、延迟和令牌计数
  • 容器和 Kubernetes 事件
  • IoT 设备遥测数据

LLM 调用记录是此列表中的最新成员。随着越来越多的应用集成 AI 功能,捕获和评估这些交互已变得与捕获传统应用日志同样重要。

核心管道组件​

1. 采集层​

采集层是原始遥测数据首次进入系统的入口。

对于运维数据,这意味着将 JSON 有效载荷发送至 https://http-intake.logs.datadoghq.com/api/v2/logs 上的 Datadog 日志采集 API,并通过 DD-API-KEY 标头进行身份验证。

对于 LLM 数据,这意味着需在应用代码中集成 Galileo SDK,当您使用 @log 装饰器或 GalileoLogger 包裹函数时,它会自动捕获跟踪信息。

这两种路径均通过适合其数据类型的不同机制处理身份验证、数据验证和缓冲。

2. 处理层​

数据进入 Datadog 管道后,处理器会在路由前对其进行转换:

  • 敏感数据扫描器——在数据到达下游工具之前,检测并模糊化电子邮件地址、信用卡号或客户 ID 等个人身份信息 (PII)。
  • Grok 解析器——从原始日志字符串中提取结构化字段。
  • 重映射器——将嵌套属性(例如 meta.customer_id)提升为 顶级维度,以便于过滤。
  • 查找处理器——利用外部参考数据丰富日志内容,例如 将 service 名称映射到 team_owner 标签。

在 Galileo 中,对应的层级通过日志流层级的 指标配置 实现。Luna-2 评估器会在您记录 LLM 响应时,自动对其正确性、事实依据和语气进行评分。

3. 路由层​

路由层根据内容、业务规则或合规要求,决定处理后的事件流向。在 Datadog 中,您可通过 日志管道 和 索引 配置路由:

  • 将 status:error 日志同时路由至值班警报和 S3 归档。
  • 应用采样规则,以减少进入索引的 status:info 日志量。
  • 将与安全相关的事件转发至 SIEM 集成。
  • 使用 日志转发 功能,将特定的日志子集发送至外部 HTTP 端点。

在 Galileo 中,您通过按项目和日志流对数据进行结构化处理,在 项目和日志流级别 管理路由。这种方法使您能够评估和比较 dev、staging 和 production 追踪。

4. 目标层​

处理后的事件最终存储的位置:

目标类型示例
对象存储S3, Google Cloud Platform (GCP), Azure Blob
SIEMSplunk, Chronicle, QRadar
搜索与分析Elastic, OpenSearch, Snowflake
监控与告警Datadog Log Explorer, dashboards, monitors
AI 评估Galileo Log streams, experiment results

路由越清晰、目标越明确,目标系统的运行成本就越低、速度就越快。将未经处理的原始日志发送到 SIEM,是导致可观测性成本不必要增加的最常见原因之一。

常见用例​

使用 Datadog 进行运维遥测​

  • 错误告警:将 payment-gateway 中的 status:error 日志实时路由到 PagerDuty 或 Slack。
  • 成本优化:在索引前对 status:info 日志应用 10% 的采样规则。
  • 安全分析:将身份验证失败和审计日志转发至 SIEM。
  • 数据标准化:使用 Grok 解析器,统一不同语言编写的服务间的日志格式。

借助 Galileo 获取质量指标​

  • LLM 追踪:捕获 AI 功能中的每个提示和生成结果,并按会话和追踪记录进行组织。
  • 响应评估:应用 Luna-2 指标,自动对模型输出进行质量、正确性和基于事实性的评分。
  • 提示实验:在部署到 production 日志流之前,通过 Galileo Experiments 对提示变更进行 A/B 测试。
  • 跨环境对比:使用相同的评估标准,对比 staging 和 production 环境中的模型行为。

关键要点​

  • 现代应用程序会产生两种截然不同的遥测数据流:运维日志和 LLM 交互记录。
  • Datadog 通过专为高吞吐量基础设施数据设计的 基于管道的模型,处理运维数据的采集、处理和路由。
  • Galileo 负责处理 AI 遥测数据——包括 SDK 插桩的追踪以及针对 LLM 驱动功能的基于指标的评估。
  • 处理环节对数据进行清理和增强;路由环节实现精准分发;目标端则高效消费数据。
  • 设计良好的管道可降低成本、提高可靠性,并在单一可观测性策略中同时呈现基础设施和 AI 质量信号。

下一步​