Path: blob/main/docs/sources/static/configuration/integrations/integrations-next/_index.md
4096 views
---
---
Integrations Revamp (Experimental)
Release v0.22.0 of Grafana Agent includes experimental support for a revamped integrations subsystem. The integrations subsystem is the second oldest part of Grafana Agent, and has started to feel out of place as we built out the project.
The revamped integrations subsystem can be enabled by passing integrations-next
to the -enable-features
command line flag. As an experimental feature, there are no stability guarantees, and it may receive a higher frequency of breaking changes than normal.
The revamped integrations subsystem has the following benefits over the original subsystem:
Integrations can opt in to supporting multiple instances. For example, you may now run any number of
redis_exporter
integrations, where before you could only have one per agent. Integrations such asnode_exporter
still only support a single instance, as it wouldn't make sense to have multiple instances of those.Autoscrape (previously called "self-scraping"), when enabled, now supports sending metrics for an integration directly to a running metrics instance. This allows you configuring an integration to send to a specific Prometheus remote_write endpoint.
A new service discovery HTTP API is included. This can be used with Prometheus' http_sd_config. The API returns extra labels for integrations that previously were only available when autoscraping, such as
agent_hostname
.Integrations that aren't Prometheus exporters may now be added, such as integrations that generate logs or traces.
Autoscrape, when enabled, now works completely in-memory without using the network.
Config changes
The revamp contains a number of breaking changes to the config. The schema of the integrations
key in the config file is now the following:
Note that most integrations are no longer configured with the _exporter
name. node_exporter
is the only integration with _exporter
name due to its popularity in the Prometheus ecosystem.
Integrations changes
Integrations no longer support an enabled
field; they are enabled by being defined in the YAML. To disable an integration, comment it out or remove it.
Metrics-based integrations now use this common set of options:
The old set of common options have been removed and do not work when the revamp is being used: