- Grafana-Provisioning ergaenzt: Datasources (prometheus/loki) mit den bestehenden UIDs, damit alle Dashboards weiter funktionieren, sowie vier Dashboard-Provider passend zu den vorhandenen Ordnern. - 9 Dashboards aus der laufenden Instanz exportiert und bereinigt: id/version entfernt, hart kodierte und verwaiste Datasource-UIDs auf die provisionierten UIDs umgeschrieben. - Images von :latest auf feste Versionen gepinnt (Prometheus v3.3.1, Loki 3.7.1, Alloy v1.16.0, Grafana 12.0.0, node-exporter v1.9.1). - Alloy: Docker-Metadaten (container, compose_service, compose_project) als Loki-Labels via discovery.relabel. - .env-Variablen auf GRAFANA_ADMIN_USER/GRAFANA_ADMIN_PASSWORD vereinheitlicht, .env.example ergaenzt, .env bleibt ungetrackt. - prometheus.yml kommentiert (Remote-Write-Quellen, Fremd-Stack-Targets), toten auskommentierten Matrix-Job entfernt. - README mit Deployment, Struktur, externen Abhaengigkeiten und offenen Sicherheitspunkten (offene Ports 9090/3100/9100). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
// Log- und Metrik-Collector fuer den Operating-Host.
|
|
|
|
discovery.docker "linux_containers" {
|
|
host = "unix:///var/run/docker.sock"
|
|
}
|
|
|
|
// Container-Metadaten als Loki-Labels (additiv zu job/instance/service_name).
|
|
discovery.relabel "docker_containers" {
|
|
targets = discovery.docker.linux_containers.targets
|
|
|
|
rule {
|
|
source_labels = ["__meta_docker_container_name"]
|
|
regex = "/(.*)"
|
|
target_label = "container"
|
|
}
|
|
|
|
rule {
|
|
source_labels = ["__meta_docker_container_label_com_docker_compose_service"]
|
|
target_label = "compose_service"
|
|
}
|
|
|
|
rule {
|
|
source_labels = ["__meta_docker_container_label_com_docker_compose_project"]
|
|
target_label = "compose_project"
|
|
}
|
|
}
|
|
|
|
loki.source.docker "docker_logs" {
|
|
host = "unix:///var/run/docker.sock"
|
|
targets = discovery.relabel.docker_containers.output
|
|
forward_to = [loki.write.local_loki.receiver]
|
|
}
|
|
|
|
loki.write "local_loki" {
|
|
endpoint {
|
|
url = "http://loki:3100/loki/api/v1/push"
|
|
}
|
|
}
|
|
|
|
prometheus.scrape "node_exporter" {
|
|
targets = [{"__address__" = "node-exporter:9100"}]
|
|
forward_to = [prometheus.remote_write.local_prometheus.receiver]
|
|
}
|
|
|
|
prometheus.remote_write "local_prometheus" {
|
|
endpoint {
|
|
url = "http://prometheus:9090/api/v1/write"
|
|
}
|
|
}
|