+++ /dev/null
-docker pull opnfv/barometer
-sudo docker run --name bottlenecks-barometer-client -tid --net=host -v `pwd`/../src/collectd_sample_configs:/opt/collectd/etc/collectd.conf.d \
--v /etc/barometer_config/barometer_client_collectd.conf:/src/barometer/src/collectd/collectd/src/collectd.conf \
--v /etc/barometer_config/barometer_client_collectd.conf:/opt/collectd/etc/collectd.conf \
--v /var/run:/var/run -v /tmp:/tmp --privileged opnfv/barometer /run_collectd.sh
+++ /dev/null
-docker pull opnfv/barometer
-sudo docker run --name bottlenecks-barometer-server -tid --net=host -v `pwd`/../src/collectd_sample_configs:/opt/collectd/etc/collectd.conf.d \
--v /home/opnfv/bottlenecks/monitor/barometer_collectd.conf:/src/barometer/src/collectd/collectd/src/collectd.conf \
--v /etc/barometer_config/barometer_client_collectd.conf:/opt/collectd/etc/collectd.conf \
--v /var/run:/var/run -v /tmp:/tmp --privileged opnfv/barometer /run_collectd.sh
#</Plugin>
<Plugin network>
- Server "192.168.121.2" "25826"
+ Server "192.168.114.2" "25826"
</Plugin>
<Plugin ovs_events>
<Plugin write_http>
<Node "collectd_exporter">
- URL "http://192.168.121.2:9103/collectd-post"
+ URL "http://192.168.114.2:9103/collectd-post"
Format "JSON"
StoreRates false
</Node>
#</Plugin>
<Plugin network>
- Listen "192.168.121.2" "25826"
+ Listen "192.168.114.2" "25826"
</Plugin>
<Plugin ovs_events>
<Plugin write_http>
<Node "collectd_exporter">
- URL "http://192.168.121.2:9103/collectd-post"
+ URL "http://192.168.114.2:9103/collectd-post"
Format "JSON"
StoreRates false
</Node>
scrape_interval: 5s
static_configs:
- - targets: ['192.168.121.2:9090']
+ - targets: ['192.168.114.2:9090']
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- - targets: ['192.168.121.2:8080','10.1.0.50:8080','10.1.0.51:8080']
+ - targets: ['192.168.114.2:8080','10.1.0.50:8080','10.1.0.51:8080','10.1.0.52:8080','10.1.0.53:8080','10.1.0.54:8080']
- job_name: 'collectd'
scrape_interval: 5s
static_configs:
- - targets: ['192.168.121.2:9103']
+ - targets: ['192.168.114.2:9103']
- job_name: 'node'
scrape_interval: 5s
static_configs:
- - targets: ['192.168.121.2:9100']
+ - targets: ['192.168.114.2:9100']
##############################################################################
-# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
logger = logging.getLogger(__name__)
+MONITOR_DASHBOARD = "/home/opnfv/bottlenecks/monitor/dashboard/"
def _create_dashboard(ip, port, path):
ip_address = socket.gethostbyname(socket.gethostname())
_create_data_source(ip_address, 3000)
-_create_dashboard(ip_address, 3000, '/var/lib/grafana/' +
- 'dashboards/' +
- 'prometheus_system_rev1.json')
+# _create_dashboard(ip_address, 3000,
+# MONITOR_DASHBOARD + 'prometheus_system_rev1.json')
_create_dashboard(ip_address, 3000,
- 'prototype_dashboard_collapsible.json')
+ MONITOR_DASHBOARD + 'prototype_dashboard_collapsible.json')
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 1,
"editable": true,
"error": false,
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"editable": true,
"error": false,
"format": "none",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
"rgba(237, 129, 40, 0.89)",
"rgba(245, 54, 54, 0.9)"
],
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 0,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": true,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": true,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": true,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"aliasColors": {},
"bars": false,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"decimals": 2,
"editable": true,
"error": false,
{
"allFormat": "glob",
"current": {},
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"hide": 0,
"includeAll": false,
"label": "Host",
"annotations": {
"list": [
{
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"enable": false,
"expr": "ALERTS{alias=\"$host\", alertstate=\"firing\"}",
"iconColor": "rgb(252, 5, 0)",
"titleFormat": "{{ alertname }}"
},
{
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": "automated-ds",
"enable": true,
"expr": "ALERTS{alias=\"$host\",alertstate=\"pending\"}",
"iconColor": "rgb(228, 242, 9)",
"gnetId": 893,
"graphTooltip": 1,
"hideControls": false,
- "id": 13,
+ "id": null,
"links": [],
"refresh": "15m",
"rows": [
{
"allValue": null,
"current": {
- "text": "192.168.121.2",
- "value": "192.168.121.2"
+ "text": "192.168.114.2",
+ "value": "192.168.114.2"
},
"datasource": "automated-ds",
"hide": 0,
]
},
"timezone": "browser",
- "title": "Monitoring docker using Prometheus",
+ "title": "Collapsibe System Monitor using Prometheus",
"version": 3
}
--- /dev/null
+##############################################################################
+# Copyright (c) 2018 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
logger = logging.getLogger(__name__)
barometer_client_install_sh =\
- "/home/opnfv/bottlenecks/monitor/barometer_install_client.sh"
+ "/home/opnfv/bottlenecks/monitor/dispatch/install_barometer_client.sh"
barometer_client_install_conf =\
- "/home/opnfv/bottlenecks/monitor/barometer_client.conf"
+ "/home/opnfv/bottlenecks/monitor/config/barometer_client.conf"
with open('/tmp/pod.yaml') as f:
dataMap = yaml.safe_load(f)
"cd /etc && mkdir barometer_config"
)
if status:
- raise Exception("Command failed with non-zero status.")
+ print Exception(
+ "Command: \"mkdir barometer_config\" failed.")
logger.info(stdout.splitlines())
with open(barometer_client_install_conf) as stdin_file:
ssh_d.run("cat > /etc/barometer_config/\
- barometer_client_collectd.conf",
+barometer_client.conf",
stdin=stdin_file)
with open(barometer_client_install_sh) as stdin_file:
ssh_d.run("cat > /etc/barometer_config/install.sh",
stdin=stdin_file)
+ status, stdout, stderr = ssh_d.execute(
+ "sudo apt-get install -y docker.io"
+ )
+ if status:
+ raise Exception("Command for installing docker failed.")
+ logger.info(stdout.splitlines())
+
ssh_d.run("cd /etc/barometer_config/ && bash ./install.sh")
import utils.infra_setup.passwordless_SSH.ssh as ssh
logger = logging.getLogger(__name__)
-cadvisor_install_sh = "/home/opnfv/bottlenecks/monitor/cadvisor_install.sh"
+cadvisor_client_install_sh =\
+ "/home/opnfv/bottlenecks/monitor/dispatch/install_cadvisor_client.sh"
with open('/tmp/pod.yaml') as f:
dataMap = yaml.safe_load(f)
"cd /etc && mkdir cadvisor_config"
)
if status:
- raise Exception("Command failed with non-zero status.")
+ print Exception(
+ "Command: \"mkdir cadvisor_config\" failed.")
logger.info(stdout.splitlines())
- with open(cadvisor_install_sh) as stdin_file:
+ with open(cadvisor_client_install_sh) as stdin_file:
ssh_d.run("cat > /etc/cadvisor_config/install.sh",
stdin=stdin_file)
status, stdout, stderr = ssh_d.execute(
- "sudo apt-get install docker.io"
+ "sudo apt-get install -y docker.io"
)
if status:
raise Exception("Command for installing docker failed.")
logger = logging.getLogger(__name__)
collectd_client_install_sh =\
- "/home/opnfv/bottlenecks/monitor/install_collectd_client.sh"
+ "/home/opnfv/bottlenecks/monitor/dispatch/install_collectd_client.sh"
collectd_client_install_conf =\
"/home/opnfv/bottlenecks/monitor/config/collectd_client.conf"
"cd /etc && mkdir collectd_config"
)
if status:
- raise Exception("Command failed with non-zero status.")
+ print Exception(
+ "Command: \"mkdir collectd_config\" failed.")
logger.info(stdout.splitlines())
with open(collectd_client_install_sh) as stdin_file:
ssh_d.run("cat > /etc/collectd_config/install.sh",
stdin=stdin_file)
with open(collectd_client_install_conf) as stdin_file:
- ssh_d.run("cat > /etc/collectd_config/collectd.conf",
- stdin=stdin_file)
+ ssh_d.run(
+ "cat > /etc/collectd_config/collectd_client.conf",
+ stdin=stdin_file
+ )
status, stdout, stderr = ssh_d.execute(
- "sudo apt-get install docker.io"
+ "sudo apt-get install -y docker.io"
)
if status:
raise Exception("Command for installing docker failed.")
--- /dev/null
+HOSTNAME=`hostname`
+
+docker pull opnfv/barometer
+sudo docker run --name bottlenecks-barometer-${HOSTNAME} -tid --net=host \
+ -v /etc/barometer_config/barometer_client.conf:/src/barometer/src/collectd/collectd/src/collectd.conf \
+ -v /etc/barometer_config/barometer_client.conf:/opt/collectd/etc/collectd.conf \
+ -v /var/run:/var/run -v /tmp:/tmp \
+ --privileged opnfv/barometer /run_collectd.sh
\ No newline at end of file
+HOSTNAME=`hostname`
+
sudo docker run \
+ --name=bottlenecks-cadvisor-${HOSTNAME} \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
- --name=cadvisor \
- google/cadvisor:v0.25.0 \ -storage_driver=Prometheus
+ google/cadvisor:v0.25.0
--- /dev/null
+MONITOR_CONFIG="/etc/collectd_config"
+HOSTNAME=`hostname`
+
+sudo docker run --name bottlenecks-collectd-${HOSTNAME} -d \
+ --privileged \
+ -v ${MONITOR_CONFIG}/collectd_client.conf:/etc/collectd/collectd.conf:ro \
+ -v /proc:/mnt/proc:ro \
+ fr3nd/collectd:5.5.0-1
+++ /dev/null
-MONITOR_CONFIG="/etc/collectd_config"
-
-# Collectd
-sudo docker run --name bottlenecks-automated-collectd -d \
- --privileged \
- -v ${MONITOR_CONFIG}:/etc/collectd:ro \
- -v /proc:/mnt/proc:ro \
- fr3nd/collectd:5.5.0-1
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+set -e
MONITOR_CONFIG="/home/opnfv/bottlenecks/monitor/config"
-GRAFANA="/home/opnfv/bottlenecks/monitor/grafana"
-
-# Node-Exporter
-sudo docker run --name bottlenecks-node-exporter \
- -d -p 9100:9100 \
- -v "/proc:/host/proc:ro" \
- -v "/sys:/host/sys:ro" \
- -v "/:/rootfs:ro" \
- --net="host" \
- quay.io/prometheus/node-exporter:v0.14.0 \
- -collector.procfs /host/proc \
- -collector.sysfs /host/sys \
- -collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
-
-# Collectd
-sudo docker run --name bottlenecks-collectd -d \
- --privileged \
- -v ${MONITOR_CONFIG}:/etc/collectd:ro \
- -v /proc:/mnt/proc:ro \
- fr3nd/collectd:5.5.0-1
+DISPATCH="/home/opnfv/bottlenecks/monitor/dispatch"
+
+# INSTALL GRAFANA + PROMETHEUS + CADVISOR + BAROMETER on the JUMPERSERVER
+# # Node-Exporter
+# sudo docker run --name bottlenecks-node-exporter \
+# -d -p 9100:9100 \
+# -v "/proc:/host/proc:ro" \
+# -v "/sys:/host/sys:ro" \
+# -v "/:/rootfs:ro" \
+# --net="host" \
+# quay.io/prometheus/node-exporter:v0.14.0 \
+# -collector.procfs /host/proc \
+# -collector.sysfs /host/sys \
+# -collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
+
+# # Collectd
+# # Configure IP Address in collectd server configuration
+# python ${DISPATCH}/server_ip_configure.py ${MONITOR_CONFIG}/collectd_server.conf
+# sudo docker run --name bottlenecks-collectd -d \
+# --privileged \
+# -v ${MONITOR_CONFIG}/collectd_server.conf:/etc/collectd/collectd.conf:ro \
+# -v /proc:/mnt/proc:ro \
+# fr3nd/collectd:5.5.0-1
+
+echo == installation of monitoring module is started ==
+
+set +e
# Collectd-Exporter
sudo docker run --name bottlenecks-collectd-exporter \
- -d -p 9103:9103 \
- -p 25826:25826/udp prom/collectd-exporter:0.3.1 \
+ -d -p 9103:9103 -p 25826:25826/udp \
+ prom/collectd-exporter:0.3.1 \
-collectd.listen-address=":25826"
# Prometheus
# Grafana
sudo docker run --name bottlenecks-grafana \
-d -p 3000:3000 \
- -v ${GRAFANA}/config/grafana.ini:/etc/grafana/grafana.ini \
+ -v ${MONITOR_CONFIG}/grafana.ini:/etc/grafana/grafana.ini \
grafana/grafana:4.5.0
+# Automate Prometheus Datasource and Grafana Dashboard creation
+
+set -e
+python dashboard/automated_dashboard_datasource.py
+set +e
# Cadvisor
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
- --name=cadvisor \
- google/cadvisor:v0.25.0 \ -storage_driver=Prometheus
-
-# Configure IP Address in barometer client configuration
-python client_ip_configure.py barometer_client.conf
+ --name=bottlenecks-cadvisor \
+ google/cadvisor:v0.25.0
+set -e
+# Barometer
# Configure IP Address in barometer server configuration
-python server_ip_configure.py barometer_collectd.conf
+sleep 10
+python ${DISPATCH}/server_ip_configure.py ${MONITOR_CONFIG}/barometer_server.conf
-# Automate Collectd Client
-python automate_collectd_client.py
+set +e
+# Install on jumpserver
+docker pull opnfv/barometer
+sudo docker run --name bottlenecks-barometer -tid --net=host \
+ -v ${MONITOR_CONFIG}/barometer_server.conf:/src/barometer/src/collectd/collectd/src/collectd.conf \
+ -v ${MONITOR_CONFIG}/barometer_server.conf:/opt/collectd/etc/collectd.conf \
+ -v /var/run:/var/run \
+ -v /tmp:/tmp \
+ --privileged opnfv/barometer /run_collectd.sh
-# Automate Cadvisor Client
-python automate_cadvisor_client.py
-# Automate Barometer installation for jump server
-bash ./barometer_install_script.sh
+set -e
+# INSTALL BAROMETER + CADVISOR (+ COLLECTD) CLIENTS on COMPUTE/CONTROL NODES
+# Configure IP Address in barometer client configuration
+python ${DISPATCH}/client_ip_configure.py ${MONITOR_CONFIG}/barometer_client.conf
-# Automate Barometer installation for compute/controller nodes
-python barometer_automated_client_install.py
+# Automate Barometer client installation
+python ${DISPATCH}/automate_barometer_client.py
-# Automate Prometheus Datasource and Grafana Dashboard creation
-python automated_dashboard_datasource.py
+# # Configure IP Address in collectd client configuration
+# python ${DISPATCH}/client_ip_configure.py ${MONITOR_CONFIG}/collectd_client.conf
+# # Automate Collectd Client installation
+# python ${DISPATCH}/automate_collectd_client.py
+
+# Automate Cadvisor Client
+python ${DISPATCH}/automate_cadvisor_client.py
+
+echo == installation of monitoring module is finished ==