// Alloy configuration — ships host and container logs to Loki. // One instance per host. Deployed to /opt/alloy/config/config.alloy. logging { level = "info" } // Local listener so the container healthcheck can probe us. server { http_listen_addr = "0.0.0.0:12345" grpc_listen_addr = "0.0.0.0:12346" } // Ship logs to Loki (container name on the podman network). loki.write "default" { endpoint { url = "http://loki:3100/loki/api/v1/push" } } // Systemd journal from the host socket. loki.source.journal "journal" { format_as_json = true labels = { job = "systemd-journal", } forward_to = [loki.write.default.receiver] } // Container logs (podman storage path; adjust for docker). loki.source.file "containers" { targets = [ {__path__ = "/var/lib/containers/storage/overlay-containers/*/userdata/ctr.log", job = "podman"}, {__path__ = "/var/log/containers/*.log", job = "containers"}, ] forward_to = [loki.write.default.receiver] }