From c7e2cc043f7306ccbb77cb4982376dafd2ddce00 Mon Sep 17 00:00:00 2001
From: Nemo <me@captnemo.in>
Date: Mon, 04 Jun 2018 19:40:58 +0530
Subject: [PATCH] Deprecate links in monitoring module

---
 monitoring/act.tf                | 16 ++++++++++++++++
 monitoring/cadvisor.tf           |  2 +-
 monitoring/grafana.tf            |  9 ++++-----
 monitoring/network.tf            |  5 +++++
 monitoring/nodeexporter.tf       |  2 ++
 monitoring/prometheus.tf         |  9 ++-------
 monitoring/speedtest.tf          |  2 ++
 monitoring/config/prometheus.yml |  1 +
 8 files changed, 33 insertions(+), 13 deletions(-)

diff --git a/monitoring/act.tf b/monitoring/act.tf
new file mode 100644
index 0000000..8f845d3 100644
--- /dev/null
+++ a/monitoring/act.tf
@@ -1,0 +1,16 @@
+data "docker_registry_image" "act-exporter" {
+  name = "captn3m0/prometheus-act-exporter:latest"
+}
+
+resource "docker_container" "act-exporter" {
+  name  = "act-exporter"
+  image = "${docker_image.act-exporter.latest}"
+
+  entrypoint = ["/usr/local/bin/node", "server.js"]
+
+  networks = ["${docker_network.monitoring.id}"]
+
+  restart               = "unless-stopped"
+  destroy_grace_seconds = 10
+  must_run              = true
+}
diff --git a/monitoring/cadvisor.tf b/monitoring/cadvisor.tf
index e80fe5d..4a4f1f1 100644
--- a/monitoring/cadvisor.tf
+++ a/monitoring/cadvisor.tf
@@ -30,7 +30,7 @@
     container_path = "/var/run"
   }
 
-  networks = ["${var.traefik-network-id}"]
+  networks = ["${var.traefik-network-id}", "${docker_network.monitoring.id}"]
 
   labels = "${merge(
     var.traefik-labels, map(
diff --git a/monitoring/grafana.tf b/monitoring/grafana.tf
index cdfb144..1db6d61 100644
--- a/monitoring/grafana.tf
+++ a/monitoring/grafana.tf
@@ -16,17 +16,16 @@
     container_path = "/var/lib/grafana"
   }
 
-  links    = ["${docker_container.prometheus.name}"]
-  networks = ["${var.traefik-network-id}"]
+  networks = ["${var.traefik-network-id}", "${docker_network.monitoring.id}"]
 
   env = [
     "GF_SERVER_ROOT_URL=https://grafana.${var.domain}",
     "GF_AUTH_ANONYMOUS_ENABLED=true",
     "GF_AUTH_ANONYMOUS_ORG_NAME=Tatooine",
-  ]
 
-  # Keep this disabled unless bringing up a new grafana instance
-  # "GF_SECURITY_ADMIN_PASSWORD=${var.gf-security-admin-password}",
+    # Keep this disabled unless bringing up a new grafana instance
+    "GF_SECURITY_ADMIN_PASSWORD=${var.gf-security-admin-password}",
+  ]
 
   restart               = "unless-stopped"
   destroy_grace_seconds = 10
diff --git a/monitoring/network.tf b/monitoring/network.tf
new file mode 100644
index 0000000..aa53012 100644
--- /dev/null
+++ a/monitoring/network.tf
@@ -1,0 +1,5 @@
+resource "docker_network" "monitoring" {
+  name     = "monitoring"
+  driver   = "bridge"
+  internal = true
+}
diff --git a/monitoring/nodeexporter.tf b/monitoring/nodeexporter.tf
index 9ac623f..a8365c4 100644
--- a/monitoring/nodeexporter.tf
+++ a/monitoring/nodeexporter.tf
@@ -24,6 +24,8 @@
     "--collector.filesystem.ignored-mount-points=\"^/(sys|proc|dev|host|etc)($$|/)\"",
   ]
 
+  networks = ["${docker_network.monitoring.id}"]
+
   restart               = "unless-stopped"
   destroy_grace_seconds = 10
   must_run              = true
diff --git a/monitoring/prometheus.tf b/monitoring/prometheus.tf
index d023dd7..b61c253 100644
--- a/monitoring/prometheus.tf
+++ a/monitoring/prometheus.tf
@@ -29,13 +29,8 @@
     file    = "/etc/prometheus/prometheus.yml"
   }
 
-  // TODO: Use network instead
-  links = [
-    "${docker_container.nodeexporter.name}",
-    "${docker_container.cadvisor.name}",
-    "${docker_container.speedtest.name}",
-    "${docker_container.act-exporter.name}",
-    "${var.links-traefik}",
+  networks = [
+    "${docker_network.monitoring.id}",
   ]
 
   restart               = "unless-stopped"
diff --git a/monitoring/speedtest.tf b/monitoring/speedtest.tf
index 67531df..dd46197 100644
--- a/monitoring/speedtest.tf
+++ a/monitoring/speedtest.tf
@@ -5,6 +5,8 @@
   name  = "speedtest"
   image = "${docker_image.speedtest.latest}"
 
+  networks = ["${docker_network.monitoring.id}"]
+
   restart               = "unless-stopped"
   destroy_grace_seconds = 10
   must_run              = true
diff --git a/monitoring/config/prometheus.yml b/monitoring/config/prometheus.yml
index 691f46d..199e00e 100644
--- a/monitoring/config/prometheus.yml
+++ a/monitoring/config/prometheus.yml
@@ -36,6 +36,7 @@
 
   - job_name: 'act'
     scrape_interval: 5m
+    scrape_timeout: 1m
     static_configs:
       - targets: ['act-exporter:3000']
 
--
rgit 0.1.5