Caution
Grafana Alloy is the new name for our distribution of the OTel collector. Grafana Agent has been deprecated and is in Long-Term Support (LTS) through October 31, 2025. Grafana Agent will reach an End-of-Life (EOL) on November 1, 2025. Read more about why we recommend migrating to Grafana Alloy.
Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
Grafana Agent Flow (Beta)
Grafana Agent Flow is a component-based revision of Grafana Agent with a focus on ease-of-use, debuggability, and ability to adapt to the needs of power users.
Components allow for reusability, composability, and focus on a single task.
- Reusability allows for the output of components to be reused as the input for multiple other components.
- Composability allows for components to be chained together to form a pipeline.
- Single task means the scope of a component is limited to one narrow task and thus has fewer side effects.
BETA: Grafana Agent Flow is a beta feature. Beta features are subject to frequent breaking changes while the feature is being matured.
Features
- Write declarative configurations with a Terraform-inspired configuration language.
- Declare components to configure parts of a pipeline.
- Use expressions to bind components together to build a programmable pipeline.
- Includes a UI for debugging the state of a pipeline.
Example
// Discover Kubernetes pods to collect metrics from.
discovery.kubernetes "pods" {
role = "pod"
}
// Scrape metrics from Kubernetes pods and send to a prometheus.remote_write
// component.
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
}
// Collect and send metrics to a Prometheus remote_write endpoint.
prometheus.remote_write "default" {
endpoint {
url = "http://localhost:9009/api/prom/push"
http_client_config {
basic_auth {
username = "MY_USERNAME"
password = local.file.apikey.content
}
}
}
}
Next steps
- Learn about the core concepts of Grafana Agent Flow.
- Follow our tutorials to get started with Grafana Agent Flow.
- Learn how to use Grafana Agent Flow’s configuration language.
- Check out our reference documentation to find specific information you might be looking for.
Current limitations
The goal of Grafana Agent Flow is to eventually support the same use cases that Grafana Agent does today. Some functionality may be missing while Grafana Agent Flow is still in development:
- An equivalent list of integrations
- An equivalent to the scraping service
Provide feedback
Feedback about Grafana Agent Flow and its configuration language can be provided in our dedicated GitHub discussion for feedback.