feature(prometheus): Configuration can be dynamically replaced

Adds '--web.enable-lifecycle' option to reload config files.
Includes other minor fixes in metrics stack.

Change-Id: I88ffe653a08c7104cffb957f934698bf56e64bd9
Signed-off-by: lavado <glavado@whitestack.com>
diff --git a/installers/docker/docker-compose.yaml b/installers/docker/docker-compose.yaml
index 104de48..3fdfbc1 100644
--- a/installers/docker/docker-compose.yaml
+++ b/installers/docker/docker-compose.yaml
@@ -88,8 +88,11 @@
     ports:
       - "${OSM_PROM_PORTS:-9091:9090}"
     volumes:
-      - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
+      - ./prometheus/:/etc/prometheus/
       - prom_db:/prometheus
+    command:
+      - '--config.file=/etc/prometheus/prometheus.yml'
+      - '--web.enable-lifecycle'
     networks:
       - netOSM
     logging:
diff --git a/installers/docker/files/dashboards-osm.yml b/installers/docker/grafana/dashboards-osm.yml
similarity index 100%
rename from installers/docker/files/dashboards-osm.yml
rename to installers/docker/grafana/dashboards-osm.yml
diff --git a/installers/docker/files/datasource-prometheus.yml b/installers/docker/grafana/datasource-prometheus.yml
similarity index 100%
rename from installers/docker/files/datasource-prometheus.yml
rename to installers/docker/grafana/datasource-prometheus.yml
diff --git a/installers/docker/files/osm-sample-dashboard.json b/installers/docker/grafana/osm-sample-dashboard.json
similarity index 100%
rename from installers/docker/files/osm-sample-dashboard.json
rename to installers/docker/grafana/osm-sample-dashboard.json
diff --git a/installers/docker/files/osm-system-dashboard.json b/installers/docker/grafana/osm-system-dashboard.json
similarity index 100%
rename from installers/docker/files/osm-system-dashboard.json
rename to installers/docker/grafana/osm-system-dashboard.json
diff --git a/installers/docker/osm_pods/prometheus.yaml b/installers/docker/osm_pods/prometheus.yaml
index cdfd94d..b6ab986 100644
--- a/installers/docker/osm_pods/prometheus.yaml
+++ b/installers/docker/osm_pods/prometheus.yaml
@@ -53,7 +53,7 @@
     # Here it's Prometheus itself.
     scrape_configs:
       # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
-      - job_name: 'prometheus'
+      - job_name: 'mon_exporter'
 
         # metrics_path defaults to '/metrics'
         # scheme defaults to 'http'.
@@ -84,6 +84,9 @@
       containers:
       - name: prometheus
         image: prom/prometheus:v2.4.3
+        args:
+        - --config.file=/etc/prometheus/prometheus.yml
+        - --web.enable-lifecycle
         ports:
         - containerPort: 9090
           protocol: TCP
diff --git a/installers/docker/files/prometheus.yml b/installers/docker/prometheus/prometheus.yml
similarity index 97%
rename from installers/docker/files/prometheus.yml
rename to installers/docker/prometheus/prometheus.yml
index a36a241..8d37837 100644
--- a/installers/docker/files/prometheus.yml
+++ b/installers/docker/prometheus/prometheus.yml
@@ -36,7 +36,7 @@
 # Here it's Prometheus itself.
 scrape_configs:
   # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
-  - job_name: 'prometheus'
+  - job_name: 'mon_exporter'
     static_configs:
     - targets: ['mon:8000']
   - job_name: 'node_exporter'
diff --git a/installers/docker/files/node_exporter.service b/installers/docker/prometheus_exporters/node_exporter.service
similarity index 100%
rename from installers/docker/files/node_exporter.service
rename to installers/docker/prometheus_exporters/node_exporter.service