logo
logo

Exporter - 新增 Kafka,增强 Prometheus 和 OpenTelemetry

向阳 2024-06-17

DeepFlow 是一个开放的可观测性数据平台,目前已经支持了集成 Prometheus、Telegraf、OpenTelemetry、SkyWalking、Datadog Vector、Pyroscope 的插桩观测数据,并支持将零侵扰数据 Export 至 Prometheus、OpenTelemetry 和 Kafka。v6.5 中对 Exporter 的能力进行了全方位的增强,主要包括三点:

  1. 新增了 Kafka Exporter,支持导出调用日志、流日志、应用指标、网络指标、IO 事件
  2. 增强了所有 Exporter,支持对 Table、Row、Column 进行过滤后再导出数据,降低消费者压力
  3. 企业版中,告警事件推送端点新增 Kafka

0x0: DeepFlow 中的数据导出能力

deepflow-server 收到的数据可以导出至外部 OpenTelemetry Collector、Prometheus、Kafka 中。你可以在 server.yaml 中配置导出策略,支持为每一种消费者创建多个 Exporter。deepflow-server 会在数据写入 ClickHouse 之前进行导出,且在数据导出之前支持对 Table、Row、Column 进行过滤,以降低接收端的处理压力。

DeepFlow 中的数据导出能力DeepFlow 中的数据导出能力

0x1: 新增 Kafka Exporter

v6.5 新增了 Kafka Exporter,详细配置方法可参考 DeepFlow 文档

Kafka Exporter 支持的 data-soruces 有:

数据库 数据表 说明
flow_log l7_flow_log 调用日志
l4_flow_log 流日志
flow_metrics application_map.1s 应用性能指标(路径、1s 粒度)
application_map.1m 应用性能指标(路径、1m 粒度)
application.1s 应用性能指标(资源、1s 粒度)
application.1m 应用性能指标(资源、1m 粒度)
network_map.1s 网络性能指标(路径、1s 粒度)
network_map.1m 网络性能指标(路径、1m 粒度)
network.1s 网络性能指标(资源、1s 粒度)
network.1m 网络性能指标(资源、1m 粒度)
event perf_event IO 事件

0x2: 增强 Prometheus Remote Writer

v6.5 增强了 Prometheus Prometheus Exporter(Remote Write)的 Row、Column 过滤能力,详细配置方法可参考 DeepFlow 文档

目前 Prometheus Exporter 支持的 data-source 有:

数据库 数据表 说明
flow_metrics application_map.1s 应用性能指标(路径、1s 粒度)
application_map.1m 应用性能指标(路径、1m 粒度)
application.1s 应用性能指标(资源、1s 粒度)
application.1m 应用性能指标(资源、1m 粒度)
network_map.1s 网络性能指标(路径、1s 粒度)
network_map.1m 网络性能指标(路径、1m 粒度)
network.1s 网络性能指标(资源、1s 粒度)
network.1m 网络性能指标(资源、1m 粒度)

0x3: 增强 OpenTelemetry Exporter

v6.5 增强了 OpenTelemetry Exporter 的 Row、Column 过滤能力,详细配置方法可参考 DeepFlow 文档

目前 OpenTelemetry Exporter 支持的 data-soruces 有:

数据库 数据表 说明
flow_log l7_flow_log 调用日志

0x4: 企业版告警推送增强

在 v6.5 中,我们还对企业版的告警事件推送能力进行了增强,目前支持的推送端点协议有:

  • SMTP:发送至邮箱
  • HTTP:发送至钉钉、企业微信、飞书、告警中心、…
  • Syslog:发送至日志中心、安全分析工具、…
  • Kafka:新增

0x5: 什么是 DeepFlow

DeepFlow 是云杉网络开发的一款可观测性产品,旨在为复杂的云原生AI 应用提供深度可观测性。DeepFlow 基于 eBPF 实现了应用性能指标、分布式追踪、持续性能剖析等观测信号的零侵扰Zero Code)采集,并结合智能标签SmartEncoding)技术实现了所有观测信号的全栈Full Stack)关联和高效存取。使用 DeepFlow,可以让云原生及 AI 应用自动具有深度可观测性,从而消除开发者不断插桩的沉重负担,并为 DevOps/SRE 团队提供从代码到基础设施的监控及诊断能力。

GitHub 地址:https://github.com/deepflowio/deepflow

访问 DeepFlow Demo,体验零侵扰、全栈的可观测性。