Merge "feature(prometheus): Configuration can be dynamically replaced"
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
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index e210379..205be65 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -321,7 +321,7 @@
sudo cp /tmp/node_exporter-$PROMETHEUS_NODE_EXPORTER_TAG.linux-amd64/node_exporter /usr/local/bin
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
sudo rm -rf node_exporter-$PROMETHEUS_NODE_EXPORTER_TAG.linux-amd64*
- sudo cp ${OSM_DEVOPS}/installers/docker/files/node_exporter.service /etc/systemd/system/node_exporter.service
+ sudo cp ${OSM_DEVOPS}/installers/docker/prometheus/node_exporter.service /etc/systemd/system/node_exporter.service
sudo systemctl daemon-reload
sudo systemctl restart node_exporter
sudo systemctl enable node_exporter
@@ -541,12 +541,20 @@
$WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/osm_pla/docker-compose.yaml $OSM_DOCKER_WORK_DIR/osm_pla/docker-compose.yaml
fi
- # Prometheus
- $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/files/prometheus.yml $OSM_DOCKER_WORK_DIR/prometheus.yml
+ # Prometheus files
+ $WORKDIR_SUDO mkdir -p $OSM_DOCKER_WORK_DIR/prometheus
+ $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/prometheus/prometheus.yml $OSM_DOCKER_WORK_DIR/prometheus/prometheus.yml
- # Grafana & Prometheus Exporter files
- $WORKDIR_SUDO mkdir -p $OSM_DOCKER_WORK_DIR/files
- $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/files/* $OSM_DOCKER_WORK_DIR/files/
+ # Grafana files
+ $WORKDIR_SUDO mkdir -p $OSM_DOCKER_WORK_DIR/grafana
+ $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/grafana/dashboards-osm.yml $OSM_DOCKER_WORK_DIR/grafana/dashboards-osm.yml
+ $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/grafana/datasource-prometheus.yml $OSM_DOCKER_WORK_DIR/grafana/datasource-prometheus.yml
+ $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/grafana/osm-sample-dashboard.json $OSM_DOCKER_WORK_DIR/grafana/osm-sample-dashboard.json
+ $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/grafana/osm-system-dashboard.json $OSM_DOCKER_WORK_DIR/grafana/osm-system-dashboard.json
+
+ # Prometheus Exporters files
+ $WORKDIR_SUDO mkdir -p $OSM_DOCKER_WORK_DIR/prometheus_exporters
+ $WORKDIR_SUDO cp -b ${OSM_DEVOPS}/installers/docker/prometheus_exporters/node_exporter.service $OSM_DOCKER_WORK_DIR/prometheus_exporters/node_exporter.service
fi
# LCM