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