Alloy
Unified telemetry collector for logs, metrics, and traces.
Overview
Alloy (successor to Promtail) collects and forwards telemetry data.
| Property | Value |
|---|---|
| Image | grafana/alloy:v1.4.2 |
| Container | alloy |
| Config | ~/ravenhelm/services/alloy/ |
Data Flow
Docker containers → Alloy → Loki (logs)
→ Prometheus (metrics)
→ Tempo (traces)
Quick Commands
# View logs
docker logs -f alloy
# Restart
docker restart alloy
# Check config
docker exec alloy cat /etc/alloy/config.alloy
Configuration
config.alloy
// Docker log discovery
loki.source.docker "containers" {
host = "unix:///var/run/docker.sock"
targets = discovery.docker.containers.targets
forward_to = [loki.write.default.receiver]
}
// Send to Loki
loki.write "default" {
endpoint {
url = "http://loki:3100/loki/api/v1/push"
}
}
// Docker container discovery
discovery.docker "containers" {
host = "unix:///var/run/docker.sock"
}
Troubleshooting
Issue: Logs Not Forwarding
Symptoms: Loki not receiving logs
Diagnosis:
docker logs alloy | grep -i error
docker exec alloy alloy fmt --check /etc/alloy/config.alloy
Solutions:
- Verify Docker socket is mounted
- Check Loki endpoint is reachable
- Validate config syntax