Observability Pipelines Are a Mess
You have Prometheus for metrics, Loki for logs, Tempo for traces. Each needs its own collector. Prometheus needs prometheus.yml, Loki needs promtail, Tempo needs the OTel collector. Three configs, three binaries, three things to maintain.
Grafana Alloy: One Collector for Everything
Grafana Alloy is a single binary that collects metrics, logs, traces, and profiles. It replaces Prometheus Agent, Promtail, and the OpenTelemetry Collector — all at once.
Free and Open Source
- Apache 2.0 license — use anywhere
- Single binary — one process, one config
- OpenTelemetry native — OTLP in, OTLP out
- Prometheus compatible — scrape any Prometheus target
One Config, All Telemetry
// Collect metrics
prometheus.scrape "app" {
targets = [{__address__ = "localhost:8080"}]
forward_to = [prometheus.remote_write.grafana_cloud.receiver]
}
// Collect logs
local.file_match "app_logs" {
path_targets = [{__path__ = "/var/log/app/*.log"}]
}
loki.source.file "logs" {
targets = local.file_match.app_logs.targets
forward_to = [loki.write.grafana_cloud.receiver]
}
// Collect traces
otelcol.receiver.otlp "traces" {
grpc { endpoint = "0.0.0.0:4317" }
http { endpoint = "0.0.0.0:4318" }
output { traces = [otelcol.exporter.otlp.tempo.input] }
}
Metrics, logs, and traces — one file.
Why Teams Switch to Alloy
1. Fewer Moving Parts
Before: Prometheus Agent + Promtail + OTel Collector = 3 binaries
After: Alloy = 1 binary
2. Built-in Service Discovery
Alloy discovers Kubernetes pods, Docker containers, EC2 instances automatically. No manual target lists.
3. Pipeline Processing
// Filter noisy logs before sending
loki.process "filter" {
forward_to = [loki.write.grafana_cloud.receiver]
stage.drop {
expression = "healthcheck"
}
stage.json {
expressions = { level = "level", msg = "message" }
}
}
Process, filter, and transform data before it leaves your infrastructure.
Alloy vs Alternatives
| Feature | Alloy | OTel Collector | Prometheus Agent |
|---|---|---|---|
| Metrics | Yes | Yes | Yes |
| Logs | Yes | Yes | No |
| Traces | Yes | Yes | No |
| Config language | Alloy (HCL-like) | YAML | YAML |
| Service discovery | Built-in | Limited | Built-in |
| Debugging UI | Yes | No | No |
When to Use Alloy
- Kubernetes clusters needing full observability
- Teams using Grafana stack (Prometheus, Loki, Tempo)
- Consolidating multiple collectors into one
Install
# Homebrew
brew install grafana/grafana/alloy
# Docker
docker run grafana/alloy
# Kubernetes
helm install alloy grafana/alloy
Monitor your data pipelines with real data. 88+ scrapers on Apify for any website. Custom solutions: spinov001@gmail.com
Top comments (0)