OpenTelemetry Collector distribution with programmable pipelines https://grafana.com/oss/alloy
  • Go 96.8%
  • Jsonnet 1.5%
  • TypeScript 0.8%
  • Makefile 0.3%
  • Shell 0.2%
  • Other 0.2%
Find a file
Karl Persson 67f845ee56
chore: Add test for alloy runtime to check that we start and stop components (#5679)
Add test that verifies different component statues for alloy runtime,
this is to increase confidence with upcoming scheduling changes
https://github.com/grafana/alloy/pull/5613#issuecomment-3964960504
2026-03-03 12:26:13 +01:00
.cursor/rules Update docs ai components (#4448) 2025-09-17 00:54:45 -07:00
.docs Update docs ai components (#4448) 2025-09-17 00:54:45 -07:00
.github ci: Add app slug to create rc workflow (#5699) 2026-03-02 19:13:05 +00:00
.idea feat: Add parcas symbols upload to pyroscope.ebpf (#4948) 2026-01-26 16:55:08 +07:00
collector fix(prometheus.remote_write): Fix sent_batch_duration_seconds measuring before the request was sent (#5697) 2026-03-02 17:49:39 +00:00
docs feat(loki.write): Add metric to track request size (#5652) 2026-02-26 12:05:43 +01:00
example chore(deps): Pin dependencies (#5283) 2026-02-27 14:56:55 -05:00
extension/alloyengine fix(prometheus.remote_write): Fix sent_batch_duration_seconds measuring before the request was sent (#5697) 2026-03-02 17:49:39 +00:00
flowcmd feat: Add unexposed otel engine and extension to codebase and change build structure (#5114) 2026-01-09 15:13:06 +01:00
integration-tests chore(deps): Pin dependencies (#5283) 2026-02-27 14:56:55 -05:00
internal chore: Add test for alloy runtime to check that we start and stop components (#5679) 2026-03-03 12:26:13 +01:00
operations chore: Update helm for 1.13.2 (#5694) 2026-03-02 14:34:26 +01:00
packaging fix: Add /FORCEREGISTRY flag to windows installer (#5517) 2026-02-19 15:51:31 +01:00
syntax feat: Add limited type checking for validate command (#5076) 2026-02-18 16:13:57 +01:00
tools chore(deps): Pin dependencies (#5283) 2026-02-27 14:56:55 -05:00
.dockerignore feat: Add parcas symbols upload to pyroscope.ebpf (#4948) 2026-01-26 16:55:08 +07:00
.gitattributes ci: hackathon release process improvements (#5049) 2025-12-12 16:29:59 -05:00
.gitignore feat(local.file_match, loki.source.file): Match multiple files using doublestar {...} expressions (#5470) 2026-02-12 19:31:47 +00:00
.golangci.yml chore: Replace interface{} with any (#5304) 2026-01-30 13:50:54 +01:00
.release-please-manifest.json chore(release/v1.13): Release 1.13.2 (#5568) 2026-02-23 17:15:22 -05:00
AGENT.md Update docs ai components (#4448) 2025-09-17 00:54:45 -07:00
CHANGELOG.md chore(release/v1.13): Release 1.13.2 (#5568) 2026-02-23 17:15:22 -05:00
CLAUDE.md docs: Add PR guidelines and pre-PR checklist to CLAUDE.md (#5683) 2026-03-02 13:54:08 -05:00
CODE_OF_CONDUCT.md Add governance (#543) 2021-04-15 12:42:04 -04:00
CODEOWNERS update CODEOWNERS for database_observability (#4649) 2025-10-23 16:11:42 +02:00
dependency-replacements.yaml fix(prometheus.remote_write): Fix sent_batch_duration_seconds measuring before the request was sent (#5697) 2026-03-02 17:49:39 +00:00
Dockerfile chore(deps): Pin dependencies (#5283) 2026-02-27 14:56:55 -05:00
Dockerfile.windows chore(deps): Pin dependencies (#5283) 2026-02-27 14:56:55 -05:00
example-config.alloy internal: rename all River references to Alloy 2024-03-27 13:43:09 -04:00
fallback_version.go feat: Add unexposed otel engine and extension to codebase and change build structure (#5114) 2026-01-09 15:13:06 +01:00
fallback_version_test.go feat: Add unexposed otel engine and extension to codebase and change build structure (#5114) 2026-01-09 15:13:06 +01:00
go.mod fix(prometheus.remote_write): Fix sent_batch_duration_seconds measuring before the request was sent (#5697) 2026-03-02 17:49:39 +00:00
go.sum fix(prometheus.remote_write): Fix sent_batch_duration_seconds measuring before the request was sent (#5697) 2026-03-02 17:49:39 +00:00
GOVERNANCE.md misc: migrate to community.grafana.com (#1139) 2024-06-28 19:00:21 +01:00
LICENSE add Apache 2.0 License (#8) 2020-03-09 14:51:19 -04:00
LICENSING.md Add LICENSING.md (#2029) 2024-11-05 11:53:01 +00:00
MAINTAINERS.md update CODEOWNERS, MAINTAINERS.md (#3946) 2023-05-23 04:17:18 -04:00
Makefile chore: Run Windows Service Integration tests with explicit build tag (#5654) 2026-02-25 15:11:13 +00:00
README.md misc: migrate to community.grafana.com (#1139) 2024-06-28 19:00:21 +01:00
release-please-config.json ci: Attach release artifacts before release publish (#5465) 2026-02-06 17:23:09 +00:00

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!