Menu

This is documentation for the next version of Alloy. For the latest stable release, go to the latest version.

Documentationbreadcrumb arrow Grafana Alloybreadcrumb arrow Referencebreadcrumb arrow Compatible components
Open source RSS

Compatible components

This section provides an overview of some of the possible connections between compatible components in Alloy.

For each common data type, we provide a list of compatible components that can export or consume it.

Note

The type of export may not be the only requirement for chaining components together. The value of an attribute may matter as well as its type. Refer to each component’s documentation for more details on what values are acceptable.

For example:

  • A Prometheus component may always expect an "__address__" label inside a list of targets.
  • A string argument may only accept certain values like “traceID” or “spanID”.

Targets

Targets are a list(map(string)) - a list of maps with string values. They can contain different key-value pairs, and you can use them with a wide range of components. Some components require Targets to contain specific key-value pairs to work correctly. It’s recommended to always check component references for details when working with Targets.

Targets Exporters

The following components, grouped by namespace, export Targets.

Targets Consumers

The following components, grouped by namespace, consume Targets.

Prometheus MetricsReceiver

The Prometheus metrics are sent between components using MetricsReceivers. MetricsReceivers are capsules that are exported by components that can receive Prometheus metrics. Components that can consume Prometheus metrics can be passed the MetricsReceiver as an argument. Use the following components to build your Prometheus metrics pipeline:

Prometheus MetricsReceiver Exporters

The following components, grouped by namespace, export Prometheus MetricsReceiver.

Prometheus MetricsReceiver Consumers

The following components, grouped by namespace, consume Prometheus MetricsReceiver.

Loki LogsReceiver

LogsReceiver is a capsule that is exported by components that can receive Loki logs. Components that consume LogsReceiver as an argument typically send logs to it. Use the following components to build your Loki logs pipeline:

Loki LogsReceiver Exporters

The following components, grouped by namespace, export Loki LogsReceiver.

Loki LogsReceiver Consumers

The following components, grouped by namespace, consume Loki LogsReceiver.

OpenTelemetry otelcol.Consumer

The OpenTelemetry data is sent between components using otelcol.Consumers. otelcol.Consumers are capsules that are exported by components that can receive OpenTelemetry data. Components that can consume OpenTelemetry data can be passed the otelcol.Consumer as an argument. Some components that use otelcol.Consumer only support a subset of telemetry signals, for example, only traces. Refer to the component reference pages for more details on what is supported. Use the following components to build your OpenTelemetry pipeline:

OpenTelemetry otelcol.Consumer Exporters

The following components, grouped by namespace, export OpenTelemetry otelcol.Consumer.

OpenTelemetry otelcol.Consumer Consumers

The following components, grouped by namespace, consume OpenTelemetry otelcol.Consumer.

Pyroscope ProfilesReceiver

The Pyroscope profiles are sent between components using ProfilesReceivers. ProfilesReceivers are capsules that are exported by components that can receive Pyroscope profiles. Components that can consume Pyroscope profiles can be passed the ProfilesReceiver as an argument. Use the following components to build your Pyroscope profiles pipeline:

Pyroscope ProfilesReceiver Exporters

The following components, grouped by namespace, export Pyroscope ProfilesReceiver.

Pyroscope ProfilesReceiver Consumers

The following components, grouped by namespace, consume Pyroscope ProfilesReceiver.