Skip to main content

Alloy

Unified telemetry collector for logs, metrics, and traces.


Overview

Alloy (successor to Promtail) collects and forwards telemetry data.

PropertyValue
Imagegrafana/alloy:v1.4.2
Containeralloy
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:

  1. Verify Docker socket is mounted
  2. Check Loki endpoint is reachable
  3. Validate config syntax