Documentation

Observabilite et logs Docker

Configurez Prometheus, Loki, Alloy, Grafana et l'ingestion de logs Docker.

Utilisez ce pattern quand un workspace local a besoin de métriques, logs, dashboards et ingestion des logs de containers Docker.

alloy active implicitement loki. Ajoutez docker si vous voulez aussi le support des métriques du daemon Docker.

schema_version = 1
tld = "local.dev.test"

enabled = [
  "docker",
  "prometheus",
  "loki",
  "alloy",
  "grafana",
]

[prometheus]
scrape_config_files = ["./monitoring/prometheus.yml"]

[alloy]
import_files = [
  { name = "app", path = "./monitoring/config.alloy" },
]
blocks = [
  'app.logs "local_app_logs" { forward_to = loki.write.default.receiver }',
]

[alloy.docker_logs]
enabled = true
refresh_interval = "5s"

[alloy.docker_logs.labels]
environment = "local"
origin = "docker"

[[alloy.docker_logs.relabel]]
source_labels = ["__meta_docker_container_label_service"]
target_label = "service"

[[alloy.docker_logs.relabel]]
source_labels = ["__meta_docker_container_name"]
target_label = "container"

[grafana]

[[grafana.dashboard_dirs]]
dir = "./grafana/dashboards"
folder = "Apps"

A adapter

  • prometheus.scrape_config_files: pointez vers des configs YAML de scrape dans votre repository.
  • alloy.import_files: importez les modules Alloy qui definissent des pipelines reutilisables.
  • alloy.blocks: ajoutez les blocs Alloy bruts requis par votre stack locale.
  • alloy.docker_logs.labels: ajoutez des labels stables pour rechercher les logs locaux.
  • alloy.docker_logs.relabel: mappez les labels de metadonnees Docker qui existent vraiment sur vos containers.
  • grafana.dashboard_dirs: pointez vers les dossiers contenant des dashboards *.json.

Pour les valeurs par défaut exactes, voir les sections de référence [alloy], [prometheus] et [grafana].