This is documentation for the next version of Alloy. For the latest stable release, go to the latest version.
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.
- discovery.azure
- discovery.consul
- discovery.consulagent
- discovery.digitalocean
- discovery.dns
- discovery.docker
- discovery.dockerswarm
- discovery.ec2
- discovery.eureka
- discovery.file
- discovery.gce
- discovery.hetzner
- discovery.http
- discovery.ionos
- discovery.kubelet
- discovery.kubernetes
- discovery.kuma
- discovery.lightsail
- discovery.linode
- discovery.marathon
- discovery.nerve
- discovery.nomad
- discovery.openstack
- discovery.ovhcloud
- discovery.process
- discovery.puppetdb
- discovery.relabel
- discovery.scaleway
- discovery.serverset
- discovery.triton
- discovery.uyuni
- prometheus.exporter.apache
- prometheus.exporter.azure
- prometheus.exporter.blackbox
- prometheus.exporter.cadvisor
- prometheus.exporter.catchpoint
- prometheus.exporter.cloudwatch
- prometheus.exporter.consul
- prometheus.exporter.dnsmasq
- prometheus.exporter.elasticsearch
- prometheus.exporter.gcp
- prometheus.exporter.github
- prometheus.exporter.kafka
- prometheus.exporter.memcached
- prometheus.exporter.mongodb
- prometheus.exporter.mssql
- prometheus.exporter.mysql
- prometheus.exporter.oracledb
- prometheus.exporter.postgres
- prometheus.exporter.process
- prometheus.exporter.redis
- prometheus.exporter.self
- prometheus.exporter.snmp
- prometheus.exporter.snowflake
- prometheus.exporter.squid
- prometheus.exporter.statsd
- prometheus.exporter.unix
- prometheus.exporter.windows
Targets Consumers
The following components, grouped by namespace, consume Targets.
Prometheus MetricsReceiver
The Prometheus metrics are sent between components using MetricsReceiver
s.
MetricsReceiver
s 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
.
- loki.process
- loki.relabel
- loki.secretfilter
- loki.source.api
- loki.source.awsfirehose
- loki.source.azure_event_hubs
- loki.source.cloudflare
- loki.source.docker
- loki.source.file
- loki.source.gcplog
- loki.source.gelf
- loki.source.heroku
- loki.source.journal
- loki.source.kafka
- loki.source.kubernetes
- loki.source.kubernetes_events
- loki.source.podlogs
- loki.source.syslog
- loki.source.windowsevent
OpenTelemetry otelcol.Consumer
The OpenTelemetry data is sent between components using otelcol.Consumer
s.
otelcol.Consumer
s 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
.
- otelcol.connector.host_info
- otelcol.connector.servicegraph
- otelcol.connector.spanlogs
- otelcol.connector.spanmetrics
- otelcol.exporter.awss3
- otelcol.exporter.datadog
- otelcol.exporter.debug
- otelcol.exporter.kafka
- otelcol.exporter.loadbalancing
- otelcol.exporter.loki
- otelcol.exporter.otlp
- otelcol.exporter.otlphttp
- otelcol.exporter.prometheus
- otelcol.exporter.splunkhec
- otelcol.processor.attributes
- otelcol.processor.batch
- otelcol.processor.deltatocumulative
- otelcol.processor.discovery
- otelcol.processor.filter
- otelcol.processor.groupbyattrs
- otelcol.processor.interval
- otelcol.processor.k8sattributes
- otelcol.processor.memory_limiter
- otelcol.processor.probabilistic_sampler
- otelcol.processor.resourcedetection
- otelcol.processor.span
- otelcol.processor.tail_sampling
- otelcol.processor.transform
OpenTelemetry otelcol.Consumer
Consumers
The following components, grouped by namespace, consume OpenTelemetry otelcol.Consumer
.
- otelcol.connector.host_info
- otelcol.connector.servicegraph
- otelcol.connector.spanlogs
- otelcol.connector.spanmetrics
- otelcol.processor.attributes
- otelcol.processor.batch
- otelcol.processor.deltatocumulative
- otelcol.processor.discovery
- otelcol.processor.filter
- otelcol.processor.groupbyattrs
- otelcol.processor.interval
- otelcol.processor.k8sattributes
- otelcol.processor.memory_limiter
- otelcol.processor.probabilistic_sampler
- otelcol.processor.resourcedetection
- otelcol.processor.span
- otelcol.processor.tail_sampling
- otelcol.processor.transform
- otelcol.receiver.datadog
- otelcol.receiver.file_stats
- otelcol.receiver.jaeger
- otelcol.receiver.kafka
- otelcol.receiver.loki
- otelcol.receiver.opencensus
- otelcol.receiver.otlp
- otelcol.receiver.prometheus
- otelcol.receiver.solace
- otelcol.receiver.vcenter
- otelcol.receiver.zipkin
Pyroscope ProfilesReceiver
The Pyroscope profiles are sent between components using ProfilesReceiver
s.
ProfilesReceiver
s 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
.