弃用通知:Grafana Agent已被弃用,现处于长期支持模式。我们建议迁移到基于Grafana Agent Flow基础构建的新Grafana Alloy收集器。
欲了解更多信息,请阅读我们关于Alloy以及如何从Agent轻松迁移到Alloy的博客文章:
Grafana Agent是一个OpenTelemetry Collector发行版,其配置灵感来自Terraform。它旨在灵活、高性能,并与Prometheus和OpenTelemetry等多个生态系统兼容。
Grafana Agent基于组件构建。这些组件相互连接,形成可编程的可观测性管道,用于遥测数据的收集、处理和传输。
注意:本页主要关注"Flow模式",这是Grafana Agent受Terraform启发的修订版。
Grafana Agent可以收集、转换并发送数据到:
- Prometheus生态系统
- OpenTelemetry生态系统
- Grafana开源生态系统(Loki、Grafana、Tempo、Mimir、Pyroscope)
为什么使用Grafana Agent?
- 厂商中立:完全兼容Prometheus、OpenTelemetry和Grafana开源生态系统。
- 全面信号:收集指标、日志、跟踪和连续剖析的遥测数据。
- 可扩展:可部署在任意数量的机器上,收集数百万活跃系列和TB级日志。
- 经过验证:Grafana Agent扩展了Prometheus和OpenTelemetry Collector项目中现有的经过验证的代码。
- 功能强大:轻松编写可编程管道,并使用内置UI进行调试。
- 功能齐全:与MySQL、Kubernetes和Apache等系统集成,获取立即可用的遥测数据。
入门
查看我们的文档以了解:
- Grafana Agent Flow的安装说明
- 关于Grafana Agent Flow的详细信息
- Grafana Agent Flow入门步骤
- Grafana Agent 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
}
}
}
我们维护了一个示例Docker Compose环境,可用于启动依赖项以在本地试用Grafana Agent。
发布周期
计划每六周发布一个次要版本。
发布周期以尽力而为为原则:如有必要,可以在此周期之外进行发布,或者可以提前或推迟计划的发布日期。
按周期发布的次要版本包括更新上游OpenTelemetry Collector代码的依赖项(如果有新版本可用)。在发布周期之外发布的次要版本可能不包括这些依赖项更新。
补丁和安全版本可以随时创建。
社区
要与Grafana Agent社区互动:
- 在我们的社区Slack频道与我们聊天。要邀请自己加入Grafana Slack,请访问https://slack.grafana.com/并加入
#agent
频道。 - 在讨论页面上提问。
- 提交问题以报告错误、问题和功能建议。
- 参加每月的社区会议。
贡献
请参阅我们的贡献者指南了解如何贡献。