Grafana Agent is a vendor-neutral, batteries-included telemetry collector with configuration inspired by Terraform. It is designed to be flexible, performant, and compatible with multiple ecosystems such as Prometheus and OpenTelemetry.
Grafana Agent is based around components. Components are wired together to form programmable observability pipelines for telemetry collection, processing, and delivery.
NOTE: This page focuses mainly on "Flow mode," the Terraform-inspired revision of Grafana Agent.
Grafana Agent can collect, transform, and send data to:
Check out our documentation to see:
// Discover Kubernetes pods to collect metrics from.
discovery.kubernetes "pods" {
role = "pod"
}
// Collect metrics from Kubernetes pods.
prometheus.scrape "default" {
targets = discovery.kubernetes.pods.targets
forward_to = [prometheus.remote_write.default.receiver]
}
// Get an API key from disk.
local.file "apikey" {
filename = "/var/data/my-api-key.txt"
is_secret = true
}
// Send metrics to a Prometheus remote_write endpoint.
prometheus.remote_write "default" {
endpoint {
url = "http://localhost:9009/api/prom/push"
basic_auth {
username = "MY_USERNAME"
password = local.file.apikey.content
}
}
}
We maintain an example Docker Compose environment that can be used to launch dependencies to play with Grafana Agent locally.
A new minor release is planned every six weeks. You can use the list of Milestones to see what maintainers are planning on working on for a given release cycle.
Both the release cadence and the items assigned to a milestone are best-effort: releases may be moved forwards or backwards if needed, and items may be moved to a different milestone or removed entirely. The planned release dates for future minor releases do not change if one minor release is moved.
Patch and security releases may be created at any time.
To engage with the Grafana Agent community:
#agent
channel.Refer to our contributors guide to learn how to contribute.