基於 OpenTelemetry 的可程式化觀測性資料收集器,支援指標、日誌、鏈路追蹤和持續效能分析
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 以獲得更好的效能和持續支援。