alloy

command module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

README

Grafana Alloy logo Grafana Alloy logo

Latest Release Documentation link

Grafana Alloy is an open source OpenTelemetry Collector distribution with built-in Prometheus pipelines and support for metrics, logs, traces, and profiles.

What can Alloy do?

  • Programmable pipelines: Use a rich expression-based syntax for configuring powerful observability pipelines.

  • OpenTelemetry Collector Distribution: Alloy is a distribution of OpenTelemetry Collector and supports dozens of its components, alongside new components that make use of Alloy's programmable pipelines.

  • Big tent: Alloy embraces Grafana's "big tent" philosophy, where Alloy can be used with other vendors or open source databases. It has components to perfectly integrate with multiple telemetry ecosystems:

  • Kubernetes-native: Use components to interact with native and custom Kubernetes resources; no need to learn how to use a separate Kubernetes operator.

  • Shareable pipelines: Use modules to share your pipelines with the world.

  • Automatic workload distribution: Configure Alloy instances to form a cluster for automatic workload distribution.

  • Centralized configuration support: Alloy supports retrieving its configuration from a server for centralized configuration management.

  • Debugging utilities: Use the built-in UI for visualizing and debugging pipelines.

Example

otelcol.receiver.otlp "example" {
  grpc {
    endpoint = "127.0.0.1:4317"
  }

  output {
    metrics = [otelcol.processor.batch.example.input]
    logs    = [otelcol.processor.batch.example.input]
    traces  = [otelcol.processor.batch.example.input]
  }
}

otelcol.processor.batch "example" {
  output {
    metrics = [otelcol.exporter.otlp.default.input]
    logs    = [otelcol.exporter.otlp.default.input]
    traces  = [otelcol.exporter.otlp.default.input]
  }
}

otelcol.exporter.otlp "default" {
  client {
    endpoint = "my-otlp-grpc-server:4317"
  }
}

Getting started

Check out our documentation to see:

Release cadence

A new minor release is planned every six weeks.

The release cadence is best-effort: if necessary, releases may be performed outside of this cadence, or a scheduled release date can be moved forwards or backwards.

Minor releases published on cadence include updating dependencies for upstream OpenTelemetry Collector code if new versions are available. Minor releases published outside of the release cadence may not include these dependency updates.

Patch and security releases may be published at any time.

Community

To engage with the Alloy community:

Contributing

Refer to our contributors guide to learn how to contribute.

Thanks to all the people who have already contributed!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
alloycli
Package alloycli is the entrypoint for Grafana Alloy.
Package alloycli is the entrypoint for Grafana Alloy.
cmd/alloy-service
Command alloy-service is a Windows binary which manages Alloy as a Windows service.
Command alloy-service is a Windows binary which manages Alloy as a Windows service.
cmd/alloylint
Command alloylint provides custom linting utilities for the grafana/alloy repo.
Command alloylint provides custom linting utilities for the grafana/alloy repo.
cmd/alloylint/internal/findcomponents
Package findcomponents exposes an Analyzer which ensures that created components are imported by a registry package.
Package findcomponents exposes an Analyzer which ensures that created components are imported by a registry package.
cmd/alloylint/internal/syntaxtags
Package syntaxtags exposes an Analyzer which lints Alloy syntax tags.
Package syntaxtags exposes an Analyzer which lints Alloy syntax tags.
cmd/listcomponents
Command listcomponents dumps the list of known Alloy components with their stability.
Command listcomponents dumps the list of known Alloy components with their stability.
component
Package component describes the interfaces which components implement.
Package component describes the interfaces which components implement.
component/all
Package all imports all known component packages.
Package all imports all known component packages.
component/common/config
Package config contains types from github.com/prometheus/common/config, but modifies them to be serializable with Alloy.
Package config contains types from github.com/prometheus/common/config, but modifies them to be serializable with Alloy.
component/common/net
Package http contains a Alloy-serializable definition of the dskit config in https://github.com/grafana/dskit/blob/main/server/server.go#L72.
Package http contains a Alloy-serializable definition of the dskit config in https://github.com/grafana/dskit/blob/main/server/server.go#L72.
component/discovery/docker
Package docker implements the discovery.docker component.
Package docker implements the discovery.docker component.
component/discovery/gce
Package gce implements the discovery.gce component.
Package gce implements the discovery.gce component.
component/discovery/kubelet
Package kubelet implements a discovery.kubelet component.
Package kubelet implements a discovery.kubelet component.
component/discovery/kubernetes
Package kubernetes implements a discovery.kubernetes component.
Package kubernetes implements a discovery.kubernetes component.
component/loki/process
The code in this package is adapted/ported over from grafana/loki/clients/pkg/logentry.
The code in this package is adapted/ported over from grafana/loki/clients/pkg/logentry.
component/loki/source/kubernetes
Package kubernetes implements the loki.source.kubernetes component.
Package kubernetes implements the loki.source.kubernetes component.
component/loki/source/kubernetes/kubetail
Package kubetail implements a log file tailer using the Kubernetes API.
Package kubetail implements a log file tailer using the Kubernetes API.
component/loki/source/kubernetes_events
Package kubernetes_events implements the loki.source.kubernetes_events component.
Package kubernetes_events implements the loki.source.kubernetes_events component.
component/otelcol/auth
Package auth provides utilities to create an Alloy component from OpenTelemetry Collector authentication extensions.
Package auth provides utilities to create an Alloy component from OpenTelemetry Collector authentication extensions.
component/otelcol/auth/basic
Package basic provides an otelcol.auth.basic component.
Package basic provides an otelcol.auth.basic component.
component/otelcol/auth/bearer
Package bearer provides an otelcol.auth.bearer component.
Package bearer provides an otelcol.auth.bearer component.
component/otelcol/auth/headers
Package headers provides an otelcol.auth.headers component.
Package headers provides an otelcol.auth.headers component.
component/otelcol/connector
Package connector exposes utilities to create an Alloy component from OpenTelemetry Collector connectors.
Package connector exposes utilities to create an Alloy component from OpenTelemetry Collector connectors.
component/otelcol/connector/host_info
Package host_info provides an otelcol.connector.host_info component.
Package host_info provides an otelcol.connector.host_info component.
component/otelcol/connector/spanlogs
Package spanlogs provides an otelcol.connector.spanlogs component.
Package spanlogs provides an otelcol.connector.spanlogs component.
component/otelcol/connector/spanmetrics
Package spanmetrics provides an otelcol.connector.spanmetrics component.
Package spanmetrics provides an otelcol.connector.spanmetrics component.
component/otelcol/exporter
Package exporter exposes utilities to create an Alloy component from OpenTelemetry Collector exporters.
Package exporter exposes utilities to create an Alloy component from OpenTelemetry Collector exporters.
component/otelcol/exporter/awss3
Package awss3 provides an otelcol.exporter.awss3 component
Package awss3 provides an otelcol.exporter.awss3 component
component/otelcol/exporter/kafka
Package kafka provides an otelcol.exporter.kafka component.
Package kafka provides an otelcol.exporter.kafka component.
component/otelcol/exporter/loadbalancing
Package loadbalancing provides an otelcol.exporter.loadbalancing component.
Package loadbalancing provides an otelcol.exporter.loadbalancing component.
component/otelcol/exporter/logging
Package logging provides an otelcol.exporter.logging component.
Package logging provides an otelcol.exporter.logging component.
component/otelcol/exporter/loki
Package loki provides an otelcol.exporter.loki component.
Package loki provides an otelcol.exporter.loki component.
component/otelcol/exporter/loki/internal/convert
Package convert implements conversion utilities to convert between OpenTelemetry Collector and Loki data.
Package convert implements conversion utilities to convert between OpenTelemetry Collector and Loki data.
component/otelcol/exporter/otlp
Package otlp provides an otelcol.exporter.otlp component.
Package otlp provides an otelcol.exporter.otlp component.
component/otelcol/exporter/otlphttp
Package otlphttp provides an otelcol.exporter.otlphttp component.
Package otlphttp provides an otelcol.exporter.otlphttp component.
component/otelcol/exporter/prometheus
Package prometheus provides an otelcol.exporter.prometheus component.
Package prometheus provides an otelcol.exporter.prometheus component.
component/otelcol/exporter/prometheus/internal/convert
Package convert implements conversion utilities to convert between OpenTelemetry Collector data and Prometheus data.
Package convert implements conversion utilities to convert between OpenTelemetry Collector data and Prometheus data.
component/otelcol/extension
Package extension provides utilities to create an Alloy component from OpenTelemetry Collector extensions.
Package extension provides utilities to create an Alloy component from OpenTelemetry Collector extensions.
component/otelcol/internal/lazyconsumer
Package lazyconsumer implements a lazy OpenTelemetry Collector consumer which can lazily forward request to another consumer implementation.
Package lazyconsumer implements a lazy OpenTelemetry Collector consumer which can lazily forward request to another consumer implementation.
component/otelcol/internal/livedebuggingconsumer
Package livedebuggingconsumer implements an OpenTelemetry Collector consumer which can be used to send live debugging data to Alloy UI.
Package livedebuggingconsumer implements an OpenTelemetry Collector consumer which can be used to send live debugging data to Alloy UI.
component/otelcol/internal/scheduler
Package scheduler exposes utilities for scheduling and running OpenTelemetry Collector components.
Package scheduler exposes utilities for scheduling and running OpenTelemetry Collector components.
component/otelcol/processor
Package processor exposes utilities to create an Alloy component from OpenTelemetry Collector processors.
Package processor exposes utilities to create an Alloy component from OpenTelemetry Collector processors.
component/otelcol/processor/attributes
Package attributes provides an otelcol.processor.attributes component.
Package attributes provides an otelcol.processor.attributes component.
component/otelcol/processor/batch
Package batch provides an otelcol.processor.batch component.
Package batch provides an otelcol.processor.batch component.
component/otelcol/processor/deltatocumulative
Package deltatocumulative provides an otelcol.processor.deltatocumulative component.
Package deltatocumulative provides an otelcol.processor.deltatocumulative component.
component/otelcol/processor/discovery
Package discovery provides an otelcol.processor.discovery component.
Package discovery provides an otelcol.processor.discovery component.
component/otelcol/processor/k8sattributes
Package attributes provides an otelcol.processor.k8sattributes component.
Package attributes provides an otelcol.processor.k8sattributes component.
component/otelcol/processor/memorylimiter
Package memorylimiter provides an otelcol.processor.memory_limiter component.
Package memorylimiter provides an otelcol.processor.memory_limiter component.
component/otelcol/processor/probabilistic_sampler
Package probabilistic_sampler provides an otelcol.processor.probabilistic_sampler component.
Package probabilistic_sampler provides an otelcol.processor.probabilistic_sampler component.
component/otelcol/processor/span
Package span provides an otelcol.processor.span component.
Package span provides an otelcol.processor.span component.
component/otelcol/processor/tail_sampling
Package tail_sampling provides an otelcol.processor.tail_sampling component.
Package tail_sampling provides an otelcol.processor.tail_sampling component.
component/otelcol/processor/transform
Package transform provides an otelcol.processor.transform component.
Package transform provides an otelcol.processor.transform component.
component/otelcol/receiver
Package receiver utilities to create an Alloy component from OpenTelemetry Collector receivers.
Package receiver utilities to create an Alloy component from OpenTelemetry Collector receivers.
component/otelcol/receiver/datadog
Package datadog provides an otelcol.receiver.datadog component.
Package datadog provides an otelcol.receiver.datadog component.
component/otelcol/receiver/file_stats
Package file_stats provides an otelcol.receiver.file_stats component.
Package file_stats provides an otelcol.receiver.file_stats component.
component/otelcol/receiver/jaeger
Package jaeger provides an otelcol.receiver.jaeger component.
Package jaeger provides an otelcol.receiver.jaeger component.
component/otelcol/receiver/kafka
Package kafka provides an otelcol.receiver.kafka component.
Package kafka provides an otelcol.receiver.kafka component.
component/otelcol/receiver/loki
Package loki provides an otelcol.receiver.loki component.
Package loki provides an otelcol.receiver.loki component.
component/otelcol/receiver/opencensus
Package opencensus provides an otelcol.receiver.opencensus component.
Package opencensus provides an otelcol.receiver.opencensus component.
component/otelcol/receiver/otlp
Package otlp provides an otelcol.receiver.otlp component.
Package otlp provides an otelcol.receiver.otlp component.
component/otelcol/receiver/prometheus
Package prometheus provides an otelcol.receiver.prometheus component.
Package prometheus provides an otelcol.receiver.prometheus component.
component/otelcol/receiver/prometheus/internal
Package internal is a near copy of https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/90603afc2fe0c44c9398822e4afa3a4e045f4524/receiver/prometheusreceiver/internal A copy was made because the upstream package is internal.
Package internal is a near copy of https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/90603afc2fe0c44c9398822e4afa3a4e045f4524/receiver/prometheusreceiver/internal A copy was made because the upstream package is internal.
component/otelcol/receiver/vcenter
Package vcenter provides an otelcol.receiver.vcenter component.
Package vcenter provides an otelcol.receiver.vcenter component.
component/otelcol/receiver/zipkin
Package zipkin provides an otelcol.receiver.zipkin component.
Package zipkin provides an otelcol.receiver.zipkin component.
component/pyroscope/scrape/internal/fastdelta
Package fastdelta tries to match up samples between two pprof profiles and take their difference.
Package fastdelta tries to match up samples between two pprof profiles and take their difference.
component/pyroscope/scrape/internal/pproflite
Package pproflite implements zero-allocation pprof encoding and decoding.
Package pproflite implements zero-allocation pprof encoding and decoding.
component/remote/http
Package http implements the remote.http component.
Package http implements the remote.http component.
component/remote/kubernetes
Package kubernetes implements the logic for remote.kubernetes.secret and remote.kubernetes.configmap component.
Package kubernetes implements the logic for remote.kubernetes.secret and remote.kubernetes.configmap component.
converter
Package converter exposes utilities to convert config files from other programs to Grafana Alloy configurations.
Package converter exposes utilities to convert config files from other programs to Grafana Alloy configurations.
converter/diag
Package diag exposes error types used throughout converter and a method to pretty-print them to the screen.
Package diag exposes error types used throughout converter and a method to pretty-print them to the screen.
featuregate
Package featuregate provides a way to gate features in the collector based on different options, such as the feature's stability level and user-defined minimum allowed stability level.
Package featuregate provides a way to gate features in the collector based on different options, such as the feature's stability level and user-defined minimum allowed stability level.
runner
Package runner provides an API for generic goroutine scheduling.
Package runner provides an API for generic goroutine scheduling.
runtime
Package runtime implements the Alloy component graph system.
Package runtime implements the Alloy component graph system.
runtime/componenttest
Package componenttest provides utilities for testing components.
Package componenttest provides utilities for testing components.
runtime/internal/dag
Package dag defines a Directed Acyclic Graph.
Package dag defines a Directed Acyclic Graph.
runtime/internal/testcomponents
Package testcomponents contains components useful for testing.
Package testcomponents contains components useful for testing.
runtime/internal/testcomponents/module/git
Package git implements the module.git component.
Package git implements the module.git component.
runtime/internal/testservices
Package testservices contains services useful for testing.
Package testservices contains services useful for testing.
runtime/tracing
Package tracing implements the tracing subsystem of Grafana Alloy.
Package tracing implements the tracing subsystem of Grafana Alloy.
runtime/tracing/internal/jaegerremote
Package jaegerremote implements the Jaeger Remote protocol.
Package jaegerremote implements the Jaeger Remote protocol.
service
Package service defines a pluggable service.
Package service defines a pluggable service.
service/cluster
Package cluster implements the cluster service, where multiple instances of Alloy connect to each other for work distribution.
Package cluster implements the cluster service, where multiple instances of Alloy connect to each other for work distribution.
service/http
Package http implements the HTTP service.
Package http implements the HTTP service.
service/livedebugging
This service provides debug stream APIs for components.
This service provides debug stream APIs for components.
service/otel
Package otel implements the otel service.
Package otel implements the otel service.
service/ui
Package ui implements the UI service.
Package ui implements the UI service.
static/config/features
Package features enables a way to encode enabled features in a flag.FlagSet.
Package features enables a way to encode enabled features in a flag.FlagSet.
static/integrations/agent
Package agent is an "example" integration that has very little functionality, but is still useful in practice.
Package agent is an "example" integration that has very little functionality, but is still useful in practice.
static/integrations/apache_http
Package apache_http embeds https://github.com/Lusitaniae/apache_exporter
Package apache_http embeds https://github.com/Lusitaniae/apache_exporter
static/integrations/config
Package config provides common configuration structs shared among implementations of integrations.Integration.
Package config provides common configuration structs shared among implementations of integrations.Integration.
static/integrations/consul_exporter
Package consul_exporter embeds https://github.com/prometheus/consul_exporter
Package consul_exporter embeds https://github.com/prometheus/consul_exporter
static/integrations/dnsmasq_exporter
Package dnsmasq_exporter embeds https://github.com/google/dnsmasq_exporter
Package dnsmasq_exporter embeds https://github.com/google/dnsmasq_exporter
static/integrations/elasticsearch_exporter
Package elasticsearch_exporter instantiates the exporter from github.com/justwatchcom/elasticsearch_exporter - replaced for github.com/prometheus-community/elasticsearch_exporter Using the YAML config provided by the agent
Package elasticsearch_exporter instantiates the exporter from github.com/justwatchcom/elasticsearch_exporter - replaced for github.com/prometheus-community/elasticsearch_exporter Using the YAML config provided by the agent
static/integrations/install
Package install registers all in-source integrations for use.
Package install registers all in-source integrations for use.
static/integrations/memcached_exporter
Package memcached_exporter embeds https://github.com/google/memcached_exporter
Package memcached_exporter embeds https://github.com/google/memcached_exporter
static/integrations/mysqld_exporter
Package mysqld_exporter embeds https://github.com/prometheus/mysqld_exporter
Package mysqld_exporter embeds https://github.com/prometheus/mysqld_exporter
static/integrations/postgres_exporter
Package postgres_exporter embeds https://github.com/prometheus/postgres_exporter
Package postgres_exporter embeds https://github.com/prometheus/postgres_exporter
static/integrations/process_exporter
Package process_exporter embeds https://github.com/ncabatoff/process-exporter
Package process_exporter embeds https://github.com/ncabatoff/process-exporter
static/integrations/redis_exporter
Package redis_exporter embeds https://github.com/oliver006/redis_exporter
Package redis_exporter embeds https://github.com/oliver006/redis_exporter
static/integrations/snmp_exporter
Package snmp_exporter embeds https://github.com/prometheus/snmp_exporter
Package snmp_exporter embeds https://github.com/prometheus/snmp_exporter
static/integrations/statsd_exporter
Package statsd_exporter embeds https://github.com/prometheus/statsd_exporter
Package statsd_exporter embeds https://github.com/prometheus/statsd_exporter
static/integrations/v2
Package integrations provides a way to run and manage Grafana Agent "integrations," which integrate some external system (such as MySQL) to Grafana Agent's existing metrics, logging, and tracing subsystems.
Package integrations provides a way to run and manage Grafana Agent "integrations," which integrate some external system (such as MySQL) to Grafana Agent's existing metrics, logging, and tracing subsystems.
static/integrations/v2/agent
Package agent is an "example" integration that has very little functionality, but is still useful in practice.
Package agent is an "example" integration that has very little functionality, but is still useful in practice.
static/integrations/v2/apache_http
Package apache_http embeds https://github.com/Lusitaniae/apache_exporter
Package apache_http embeds https://github.com/Lusitaniae/apache_exporter
static/integrations/v2/autoscrape
Package autoscrape implements a scraper for integrations.
Package autoscrape implements a scraper for integrations.
static/integrations/v2/snmp_exporter
Package snmp_exporter embeds https://github.com/prometheus/snmp_exporter
Package snmp_exporter embeds https://github.com/prometheus/snmp_exporter
static/logs
Package logs holds types for the logging subsystem of Grafana Agent static mode.
Package logs holds types for the logging subsystem of Grafana Agent static mode.
static/metrics
Package metrics implements a Prometheus-lite client for service discovery, scraping metrics into a WAL, and remote_write.
Package metrics implements a Prometheus-lite client for service discovery, scraping metrics into a WAL, and remote_write.
static/metrics/instance
Package instance provides a mini Prometheus scraper and remote_writer.
Package instance provides a mini Prometheus scraper and remote_writer.
static/server
Package server implements the HTTP and gRPC server used throughout Grafana Agent Static.
Package server implements the HTTP and gRPC server used throughout Grafana Agent Static.
useragent
package useragent provides a consistent way to get a user agent for outbound http requests from Grafana Alloy.
package useragent provides a consistent way to get a user agent for outbound http requests from Grafana Alloy.
util/assertmetrics
Package assertmetrics provides utilities for verifying Prometheus metrics in tests given a Registry.
Package assertmetrics provides utilities for verifying Prometheus metrics in tests given a Registry.
util/testappender
Package testappender exposes utilities to test code which writes to Prometheus storage.Appenders.
Package testappender exposes utilities to test code which writes to Prometheus storage.Appenders.
util/zapadapter
Package zapadapter allows github.com/go-kit/log to be used as a Zap core.
Package zapadapter allows github.com/go-kit/log to be used as a Zap core.
vcs
web/api
Package api implements the HTTP API used for the Grafana Alloy UI.
Package api implements the HTTP API used for the Grafana Alloy UI.
web/ui
Package ui exposes utilities to get a Handler for the Grafana Alloy UI.
Package ui exposes utilities to get a Handler for the Grafana Alloy UI.
syntax module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL