Grafana Agent
Grafana Agent has reached End-of-Life (EOL) on November 1, 2025. It is recommended migrating to the Grafana Alloy collector, which is built on the foundation of Grafana Agent Flow.
This is release v0.31.0 of the Grafana Agent.
Upgrading
Read the upgrade guide for specific instructions on upgrading from older versions.
Notable changes:
Breaking changes
-
Release binaries (including inside Docker containers) have been renamed to be prefixed with
grafana-(@rfratto):agentis nowgrafana-agent.agentctlis nowgrafana-agentctl.agent-operatoris nowgrafana-agent-operator.
Deprecations
- A symbolic link in Docker containers from the old binary name to the new binary name has been added. These symbolic links will be removed in v0.33. (@rfratto)
Features
-
New Grafana Agent Flow components:
loki.source.cloudflarereads logs from Cloudflare's Logpull API and forwards them to otherlokicomponents. (@tpaschalis)loki.source.gcplogreads logs from GCP cloud resources using Pub/Sub subscriptions and forwards them to otherlokicomponents. (@tpaschalis)loki.source.gelflistens for Graylog logs. (@mattdurham)loki.source.herokulistens for Heroku messages over TCP a connection and forwards them to otherlokicomponents. (@erikbaranowski)loki.source.journalread messages from systemd journal. (@mattdurham)loki.source.kubernetescollects logs from Kubernetes pods using the Kubernetes API. (@rfratto)loki.source.podlogsdiscovers PodLogs resources on Kubernetes and uses the Kubernetes API to collect logs from the pods specified by the PodLogs resource. (@rfratto)loki.source.sysloglistens for Syslog messages over TCP and UDP connections and forwards them to otherlokicomponents. (@tpaschalis)loki.source.windowseventreads logs from Windows Event Log. (@mattdurham)otelcol.exporter.jaegerforwards OpenTelemetry data to a Jaeger server. (@erikbaranowski)otelcol.exporter.lokiforwards OTLP-formatted data to compatiblelokireceivers. (@tpaschalis)otelcol.receiver.kafkareceives telemetry data from Kafka. (@rfratto)otelcol.receiver.lokireceives Loki logs, converts them to the OTLP log format and forwards them to otherotelcolcomponents. (@tpaschalis)otelcol.receiver.opencensusreceives OpenConsensus-formatted traces or metrics. (@ptodev)otelcol.receiver.zipkinreceives Zipkin-formatted traces. (@rfratto)phlare.scrapecollects application performance profiles. (@cyriltovena)phlare.writesends application performance profiles to Grafana Phlare. (@cyriltovena)mimir.rules.kubernetesdiscoversPrometheusRuleKubernetes resources and loads them into a Mimir instance. (@Logiraptor)
-
Flow components which work with relabeling rules (
discovery.relabel,prometheus.relabelandloki.relabel) now export a new value named Rules. This value returns a copy of the currently configured rules. (@tpaschalis) -
New experimental feature: agent-management. Polls configured remote API to fetch new configs. (@spartan0x117)
-
Introduce global configuration for logs. (@jcreixell)
Enhancements
-
Handle faro-web-sdk
Viewmeta in app_agent_receiver. (@rlankfo) -
Grafana Agent Operator: add promtail limit stage to the operator. (@spartan0x117)
Bugfixes
-
Flow UI: Fix the issue with messy layout on the component list page while browser window resize. (@xiyu95)
-
Flow UI: Display the values of all attributes unless they are nil. (@ptodev)
-
Flow: Fix issue where negative numbers would convert to floating-point values incorrectly, treating the sign flag as part of the number. (@rfratto)
-
Flow: fix a goroutine leak when
loki.source.fileis passed more than one target with identical set of public labels. (@rfratto) -
Fix issue where removing and re-adding log instance configurations causes an error due to double registration of metrics (@spartan0x117, @jcreixell)
Other changes
- New windows containers for agent and agentctl. These can be found moving forward with the ${Version}-windows tags for grafana/agent and grafana/agentctl docker images (@erikbaranowski)
Installation:
Grafana Agent is currently distributed in plain binary form, Docker container images, a Windows installer, and a Kubernetes install script. Choose whichever fits your use-case best.
Kubernetes
Install directions here.
Docker container:
Docker containers are published as grafana/agent:v0.31.0. For Windows Docker containers, use grafana/agent:v0.31.0-windows instead.
Windows installer
The Windows installer is provided as a release asset for x64 machines.
Binary
We provide precompiled binary executables for the most common operating systems. Choose from the assets below for your matching operating system.
Note: ppc64le builds are currently considered secondary release targets and do not have the same level of support and testing as other platforms.
Example for the linux operating system on amd64:
# download the binary
curl -O -L "https://github.com/grafana/agent/releases/download/v0.31.0/grafana-agent-linux-amd64.zip"
# extract the binary
unzip "grafana-agent-linux-amd64.zip"
# make sure it is executable
chmod a+x "grafana-agent-linux-amd64"
agentctl
agentctl, a tool for helping you interact with the Agent, is available as a Docker image:
Docker containers are published as grafana/agentctl:v0.31.0. For Windows Docker containers, use grafana/agentctl:v0.31.0-windows instead.
Or as a binary. Like before, choose the assets below that matches your operating system. For example, with linux on amd64:
# download the binary
curl -O -L "https://github.com/grafana/agent/releases/download/v0.31.0/grafana-agentctl-linux-amd64.zip"
# extract the binary
unzip "grafana-agentctl-linux-amd64.zip"
# make sure it is executable
chmod a+x "grafana-agentctl-linux-amd64"
agent-operator
agent-operator, a Kubernetes Operator for the Grafana Agent, is available only as a Docker image:
docker pull "grafana/agent-operator:v0.31.0"