v0.37.0-rc.0
Pre-releaseThis is release v0.37.0-rc.0 of Grafana Agent.
Upgrading
Read the relevant upgrade guides for specific instructions on upgrading from older versions:
Notable changes:
The biggest news is that Flow mode has now feature parity with Static mode! That means that you can use Flow components for all static mode use cases.
The v0.37.0-rc.0 release contains some breaking changes:
Breaking changes
- Set
retry_on_http_429totrueby default in thequeue_configblock in static mode'sremote_write. (@wildum) - Renamed
non_indexed_labelsLoki processing stage tostructured_metadata. (@vlad-diachenko) - Include
otel_scope_nameandotel_scope_versionin all metrics forotelcol.exporter.prometheus
by default using a new argumentinclude_scope_labels. (@erikbaranowski) - Static mode Windows Certificate Filter no longer restricted to TLS 1.2 and specific cipher suites. (@mattdurham)
- The
__meta_agent_integration*and__meta_agent_hostnamelabels have been
removed from the targets exposed byprometheus.exporter.*components and
got replaced by the pair of__meta_component_nameand__meta_component_id
labels. (@tpaschalis) - Flow: Allow
prometheus.exporter.unixto be specified multiple times and used in modules. This now means all
prometheus.exporter.unixreferences will need a labelprometheus.exporter.unix "example". (@mattdurham)
Also, it includes a number of new features, including 23 (!) new Flow components, improved evaluation of the Flow component graph, new config converters as well as the ability to run multiple River files at once.
Features
-
New Grafana Agent Flow components:
discovery.consulagentdiscovers scrape targets from Consul Agent. (@wildum)discovery.kumadiscovers scrape targets from the Kuma control plane. (@tpaschalis)discovery.linodediscovers scrape targets from the Linode API. (@captncraig)discovery.marathondiscovers scrape targets from Marathon servers. (@wildum)discovery.ionosdiscovers scrape targets from the IONOS Cloud API. (@wildum)discovery.tritondiscovers scrape targets from Triton Container Monitor. (@erikbaranowski)discovery.nervediscovers scrape targets from AirBnB's Nerve. (@tpaschalis)discovery.serversetdiscovers Serversets stored in Zookeeper. (@thampiotr)discovery.scalewaydiscovers scrape targets from Scaleway virtual
instances and bare-metal machines. (@rfratto)faro.receiveraccepts Grafana Faro-formatted telemetry data over the
network and forwards it to other components. (@megumish, @rfratto)prometheus.exporter.azurecollects metrics from Azure. (@wildum)discovery.dockerswarmdiscovers scrape targets from Docker Swarm. (@wildum)otelcol.connector.servicegraphcreates service graph metrics from spans. It is the
flow mode equivalent to static mode'sservice_graphsprocessor. (@ptodev)otelcol.connector.spanlogscreates logs from spans. It is the flow mode equivalent
to static mode'sautomatic_loggingprocessor. (@ptodev)otelcol.processor.k8sattributesadds Kubernetes metadata as resource attributes
to spans, logs, and metrics. (@acr92)otelcol.processor.probabilistic_samplersamples logs and traces based on configuration options. (@mar4uk)otelcol.processor.transformtransforms OTLP telemetry data using the
OpenTelemetry Transformation Language (OTTL). It is most commonly used
for transformations on attributes.remote.kubernetes.configmaploads a configmap's data for use in other components (@captncraig)remote.kubernetes.secretloads a secret's data for use in other components (@captncraig)prometheus.exporter.agentexposes the agent's internal metrics. (@hainenber)prometheus.exporter.azurecollects metrics from Azure. (@wildum)prometheus.exporter.cadvisorexposes cAdvisor metrics. (@tpaschalis)prometheus.exporter.vsphereexposes vmware vsphere metrics. (@marctc)
-
Flow: allow the HTTP server to be configured with TLS in the config file
using the newhttpconfig block. (@rfratto) -
Clustering: add new flag
--cluster.max-join-peersto limit the number of peers the system joins. (@wildum) -
Clustering: add a new flag
--cluster.nameto prevent nodes without this identifier from joining the cluster. (@wildum) -
Clustering: add IPv6 support when using advertise interfaces to assign IP addresses. (@wildum)
-
Add a
file_watchblock inloki.source.fileto configure how often to poll files from disk for changes viamin_poll_frequencyandmax_poll_frequency.
In static mode it can be configured in the globalfile_watch_configviamin_poll_frequencyandmax_poll_frequency. (@wildum) -
Flow: In
prometheus.exporter.blackbox, allow setting labels for individual targets. (@spartan0x117) -
Add optional
nil_to_zeroconfig flag forYACEwhich can be set in thestatic,discovery, ormetricconfig blocks. (@berler) -
The
cristage inloki.processcan now be configured to limit line size. -
Flow: Allow
grafana-agent runto accept a path to a directory of*.riverfiles.
This will load all River files in the directory as a single configuration;
component names must be unique across all loaded files. (@rfratto, @hainenber) -
Added support for
staticconfiguration conversion ingrafana-agent convertandgrafana-agent runcommands. (@erikbaranowski) -
Flow: the
prometheus.scrapecomponent can now configure the scraping of
Prometheus native histograms. (@tpaschalis) -
Flow: the
prometheus.remote_writecomponent now supports SigV4 and AzureAD authentication. (@ptodev)
For a full list of changes, please refer to the CHANGELOG!
Installation
Refer to our installation guides for how to install the variants of Grafana Agent: