Home
Login

基于OpenTelemetry的可编程观测性数据收集器,支持指标、日志、链路追踪和持续性能分析

Apache-2.0Go 1.6kgrafanaagent Last Updated: 2025-06-24

Grafana Agent 项目详细介绍

项目概述

Grafana Agent是一个基于OpenTelemetry Collector的分发版本,配置风格受Terraform启发。它被设计为灵活、高性能且与多种生态系统兼容的观测性数据收集器,包括Prometheus和OpenTelemetry。

⚠️ 重要提醒: Grafana Agent已被弃用,现在处于长期支持模式。建议迁移到基于Grafana Agent Flow构建的新版本Grafana Alloy。

核心特性

1. 供应商中立性

  • 全兼容性:完全兼容Prometheus、OpenTelemetry和Grafana开源生态系统
  • 多信号支持:收集指标、日志、链路追踪和持续性能分析数据
  • 灵活部署:可在任意数量的机器上部署,处理数百万活跃序列和TB级日志

2. 组件化架构

Grafana Agent基于组件构建。组件被连接在一起,形成可编程的观测性管道,用于遥测数据的收集、处理和传输。

3. 数据收集与传输

Grafana Agent可以收集、转换并发送数据到:

  • Prometheus生态系统
  • OpenTelemetry生态系统
  • Grafana开源生态系统(包括Loki、Grafana、Tempo、Mimir、Pyroscope)

4. 企业级特性

  • 可扩展性:支持大规模部署,处理数百万活跃序列
  • 战斗验证:扩展了Prometheus和OpenTelemetry Collector项目经过实战验证的代码
  • 强大功能:支持编写可编程管道,并提供内置UI进行调试
  • 开箱即用:与MySQL、Kubernetes、Apache等系统集成

技术架构

Flow模式

该页面主要关注"Flow模式",这是Grafana Agent受Terraform启发的修订版本。Flow模式提供了更直观的配置方式,使用户能够:

  • 轻松设置和检查配置
  • 快速迭代遥测管道
  • 降低学习曲线

配置示例

// 发现Kubernetes pods以收集指标
discovery.kubernetes "pods" {
  role = "pod"
}

// 从Kubernetes pods收集指标
prometheus.scrape "default" {
  targets = discovery.kubernetes.pods.targets
  forward_to = [prometheus.remote_write.default.receiver]
}

// 从磁盘获取API密钥
local.file "apikey" {
  filename = "/var/data/my-api-key.txt"
  is_secret = true
}

// 发送指标到Prometheus remote_write端点
prometheus.remote_write "default" {
  endpoint {
    url = "http://localhost:9009/api/prom/push"
    basic_auth {
      username = "MY_USERNAME"
      password = local.file.apikey.content
    }
  }
}

项目状态与迁移

弃用说明

Grafana Alloy是我们OTel收集器分发版的新名称。Grafana Agent已被弃用,将在2025年10月31日之前提供长期支持(LTS)。Grafana Agent将在2025年11月1日达到生命周期结束(EOL)。

迁移建议

项目维护者强烈建议用户迁移到Grafana Alloy,原因包括:

  • 更好的性能和稳定性
  • 更丰富的企业级功能
  • 持续的功能更新和支持

安装与部署

支持平台

  • Linux、macOS、Windows
  • Docker容器
  • Kubernetes集群
  • 云平台(AWS、GCP、Azure等)

快速开始

项目提供了完整的文档和示例:

  • 详细的安装指南
  • 入门教程
  • 组件参考文档
  • Docker Compose示例环境

典型使用场景

1. 大规模监控

适用于需要处理数百万活跃序列的大规模Prometheus部署

2. 多信号收集

统一收集指标、日志、链路追踪和性能分析数据

3. 混合云环境

在多云和混合云环境中提供一致的观测性解决方案

4. DevOps集成

与CI/CD管道和GitOps工作流程深度集成

总结

Grafana Agent作为一个成熟的观测性数据收集器,为用户提供了强大的遥测数据收集、处理和传输能力。虽然项目已进入维护模式,但其核心理念和架构为新一代的Grafana Alloy奠定了坚实基础。对于现有用户,建议根据官方指南逐步迁移到Grafana Alloy以获得更好的性能和持续支持。

Star History Chart