// ============================================================ // Docker log collection -> Grafana Cloud Loki // ============================================================ discovery.docker "containers" { host = "unix:///var/run/docker.sock" } discovery.relabel "containers" { targets = discovery.docker.containers.targets rule { source_labels = ["__meta_docker_container_name"] target_label = "container" } rule { source_labels = ["__meta_docker_container_name"] target_label = "job" } } loki.source.docker "containers" { host = "unix:///var/run/docker.sock" targets = discovery.relabel.containers.output forward_to = [loki.write.grafana_cloud.receiver] } loki.write "grafana_cloud" { endpoint { url = env("GRAFANA_CLOUD_LOKI_URL") basic_auth { username = env("GRAFANA_CLOUD_LOKI_USER") password = env("GRAFANA_CLOUD_API_KEY") } } } // ============================================================ // Node exporter metrics -> Grafana Cloud Prometheus // ============================================================ prometheus.exporter.unix "node" { procfs_path = "/host/proc" sysfs_path = "/host/sys" rootfs_path = "/host/root" } prometheus.scrape "node" { targets = prometheus.exporter.unix.node.targets forward_to = [prometheus.remote_write.grafana_cloud.receiver] scrape_interval = "60s" } prometheus.remote_write "grafana_cloud" { endpoint { url = env("GRAFANA_CLOUD_PROMETHEUS_URL") basic_auth { username = env("GRAFANA_CLOUD_PROMETHEUS_USER") password = env("GRAFANA_CLOUD_API_KEY") } } }