2026-10-12 13:24:38 +03:30
|
|
|
// Port of ansible/roles/observability/templates/grafana-stack/config/alloy/config.alloy.j2.
|
|
|
|
|
//
|
|
|
|
|
// The Ansible config also tails container logs from the local Docker socket
|
|
|
|
|
// (discovery.docker -> discovery.relabel -> loki.source.docker -> loki.write).
|
|
|
|
|
// On k3s there is no Docker socket, and Ledgerline's containers run on czy
|
|
|
|
|
// anyway, so that half lives in the czy-side agent:
|
|
|
|
|
// observability/alloy-agent/config.alloy.
|
|
|
|
|
//
|
|
|
|
|
// What remains is unchanged: the OTLP receiver wires a `traces` output and
|
2026-10-12 20:09:38 +03:30
|
|
|
// nothing else. The HTTP server only registers routes for signals with an
|
|
|
|
|
// output, so OTLP/HTTP POSTs to /v1/metrics and /v1/logs get a 404.
|
2026-10-12 13:24:38 +03:30
|
|
|
|
|
|
|
|
logging {
|
|
|
|
|
level = "info"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
otelcol.receiver.otlp "default" {
|
|
|
|
|
grpc {
|
|
|
|
|
endpoint = "0.0.0.0:4317"
|
|
|
|
|
}
|
|
|
|
|
http {
|
|
|
|
|
endpoint = "0.0.0.0:4318"
|
|
|
|
|
}
|
|
|
|
|
output {
|
|
|
|
|
traces = [otelcol.exporter.otlp.tempo.input]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
otelcol.exporter.otlp "tempo" {
|
|
|
|
|
client {
|
|
|
|
|
endpoint = "tempo:4317"
|
|
|
|
|
tls {
|
|
|
|
|
insecure = true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|