Introduction
Grafana Alloy is an open-source, vendor-neutral telemetry collector that unifies metrics, logs, traces, and profiles into a single agent. It is Grafana Labs's distribution of the OpenTelemetry Collector with added components for Prometheus scraping, Loki log collection, Tempo trace forwarding, and Pyroscope profiling. Alloy replaces the older Grafana Agent and provides a programmable pipeline language (Alloy syntax) for flexible data routing.
What Grafana Alloy Does
- Scrapes Prometheus metrics from targets and remote-writes to Mimir, Prometheus, or Thanos
- Collects logs from files, journald, Docker, and Kubernetes and ships to Loki or any OTLP endpoint
- Receives and forwards OpenTelemetry traces to Tempo, Jaeger, or any OTLP-compatible backend
- Transforms telemetry data in-flight with relabeling, filtering, sampling, and enrichment
- Collects continuous profiling data and ships to Grafana Pyroscope
Architecture Overview
Alloy uses a component-based pipeline architecture defined in its own configuration language (Alloy syntax). Components are connected by passing their outputs as inputs to other components, forming a DAG. Built-in components cover OTLP receivers, Prometheus scrapers, Loki writers, file tailers, and more. The runtime evaluates the graph, manages component lifecycles, and exposes a debug UI on port 12345. Alloy runs as a single binary and can operate as a DaemonSet, sidecar, or standalone agent.
Self-Hosting & Configuration
- Install via apt/yum packages, Docker, Helm chart, or static binary for Linux, macOS, and Windows
- Write pipeline configs in Alloy syntax defining sources, transforms, and destinations
- Deploy as a Kubernetes DaemonSet for node-level log and metric collection
- Enable the built-in UI at port 12345 for component graph visualization and debugging
- Use environment variables and file references to inject secrets without hardcoding
Key Features
- Unified agent for metrics, logs, traces, and profiles in a single lightweight binary
- Programmable Alloy syntax allows conditional routing, fan-out, and dynamic configuration
- Native Prometheus compatibility: scrapes targets and remote-writes without conversion overhead
- Built-in debug UI visualizes the component pipeline graph and data flow in real time
- Vendor-neutral OTLP support sends data to any OpenTelemetry-compatible backend
Comparison with Similar Tools
- OpenTelemetry Collector — Alloy wraps it with Grafana-specific components and simpler config
- Prometheus — scrape-only; Alloy adds logs, traces, profiles, and OTLP in one agent
- Fluentd/Fluent Bit — log-focused; Alloy handles all four telemetry signals
- Vector — Rust-based data pipeline; Alloy has deeper Grafana ecosystem integration
FAQ
Q: Does Alloy replace Grafana Agent? A: Yes. Grafana Alloy is the successor to Grafana Agent. All new features are developed in Alloy.
Q: Can I use Alloy without Grafana Cloud? A: Yes. Alloy is fully open source and can ship data to any Prometheus, Loki, Tempo, or OTLP endpoint.
Q: What is Alloy syntax? A: A declarative configuration language where you define components and wire their outputs together. It replaces the YAML-based Grafana Agent config with a more expressive graph model.
Q: How much resources does Alloy use? A: Typical deployments use 100-200 MB RAM per node. Resource usage scales with the number of active components and data volume.