Port the observability platform to k3s and ship czy logs to it
k8s/ is now a faithful port of the mentor's Ansible Grafana stack (Prometheus, Alertmanager, Loki, Tempo, Alloy, Grafana, node-exporter) for the ledgerline-observability namespace on falken: same versions and configs, one *.vione.cloud ingress per tool behind Traefik basic auth, secrets generated by create-secrets.sh into gitignored files. Two fixes over the Ansible role, both verified live: Tempo's metrics-generator needs traces_storage or it runs no processors, and Prometheus needs exemplar-storage to keep exemplars. Ledgerline stays on czy; an Alloy agent in the Traefik override ships its container logs to Loki. Roadmap and CLAUDE.md now point at k8s/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
34a11da848
commit
7719ef5fcf
@@ -0,0 +1,45 @@
|
||||
// Alloy log agent on czy, where Ledgerline's containers run.
|
||||
//
|
||||
// This is the Docker half of the platform's Alloy config
|
||||
// (ansible/roles/observability/templates/grafana-stack/config/alloy/config.alloy.j2),
|
||||
// moved here because the platform itself now runs on k3s (k8s/), where there is
|
||||
// no Docker socket. Components are unchanged except loki.write, which pushes
|
||||
// to the cluster's Loki over HTTPS with basic auth instead of http://loki:3100.
|
||||
//
|
||||
// OTLP is NOT received here: apps send spans to the platform's Alloy at
|
||||
// https://otlp.vione.cloud (k8s/alloy/config.alloy).
|
||||
|
||||
logging {
|
||||
level = "info"
|
||||
}
|
||||
|
||||
discovery.docker "local" {
|
||||
host = "unix:///var/run/docker.sock"
|
||||
}
|
||||
|
||||
discovery.relabel "docker" {
|
||||
targets = discovery.docker.local.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_docker_container_name"]
|
||||
regex = "/(.*)"
|
||||
target_label = "container"
|
||||
}
|
||||
}
|
||||
|
||||
loki.source.docker "local" {
|
||||
host = "unix:///var/run/docker.sock"
|
||||
targets = discovery.relabel.docker.output
|
||||
forward_to = [loki.write.default.receiver]
|
||||
}
|
||||
|
||||
loki.write "default" {
|
||||
endpoint {
|
||||
url = sys.env("LOKI_PUSH_URL")
|
||||
|
||||
basic_auth {
|
||||
username = sys.env("LOKI_PUSH_USER")
|
||||
password = sys.env("LOKI_PUSH_PASSWORD")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user