From 3e1fedddad64700a2aae173a9bd215118cb0f676 Mon Sep 17 00:00:00 2001 From: Gordon Kelly Date: Mon, 8 Jan 2018 13:58:48 +0000 Subject: docs: update docker userguide to use grafana and influxdb images from barometer Change-Id: I75b7fab6c6c40c1ba9737abce5929a77fa0c4939 Signed-off-by: gordonkelly --- docs/release/userguide/docker.userguide.rst | 122 +++++++++++++++++++++++----- 1 file changed, 103 insertions(+), 19 deletions(-) (limited to 'docs') diff --git a/docs/release/userguide/docker.userguide.rst b/docs/release/userguide/docker.userguide.rst index 5a3c2274..be9f6cae 100644 --- a/docs/release/userguide/docker.userguide.rst +++ b/docs/release/userguide/docker.userguide.rst @@ -10,23 +10,25 @@ OPNFV Barometer Docker User Guide :depth: 3 :local: -Barometer docker image description +The intention of this user guide is to outline how to install and test the +barometer, Influxdb and Grafana docker images that can be built from the Dockerfiles +available in the barometer repository. + + +Barometer docker images description ----------------------------------- + .. Describe the specific features and how it is realised in the scenario in a brief manner .. to ensure the user understand the context for the user guide instructions to follow. -The intention of this user guide is to outline how to install and test the -barometer docker image that can be built from the Dockerfile available in the -barometer repository. +Barometer Collectd Image +^^^^^^^^^^^^^^^^^^^^^^^^ +The barometer Collectd docker image gives you a collectd installation that includes all +the barometer plugins. .. note:: The Dockerfile is available in the docker/ directory in the barometer repo. The Dockerfile builds a CentOS 7 docker image. - -The barometer docker image gives you a collectd installation that includes all -the barometer plugins. - -.. note:: The container MUST be run as a privileged container. Collectd is a daemon which collects system performance statistics periodically @@ -58,6 +60,13 @@ docker image: * aodh plugin * Legacy/IPMI +InfluxDB + Grafana Images +^^^^^^^^^^^^^^^^^^^^^^^^^ + +The Barometer project's InfluxDB and Grafana docker images are 2 docker images that database and graph +statistics reported by the Barometer Collectd docker. InfluxDB is an open-source time series database +tool which stores the data from Collectd for future analysis via Grafana, which is a open-source +metrics anlytics and visualisation suite which can be accessed through any browser. Installing Docker ----------------- @@ -224,7 +233,8 @@ Build the barometer docker image --build-arg https_proxy=`echo $https_proxy` -f Dockerfile . .. note:: - In the above mentioned ``docker build`` command, http_proxy & https_proxy arguments needs to be passed only if system is behind an HTTP or HTTPS proxy server. + In the above mentioned ``docker build`` command, http_proxy & https_proxy arguments needs to be + passed only if system is behind an HTTP or HTTPS proxy server. Check the docker images: @@ -264,7 +274,8 @@ Run the barometer docker image above we are overriding /opt/collectd/etc/collectd.conf.d by mounting a host directory `pwd`/../src/collectd_sample_configs that contains only the sample configurations we are interested in running. *It's important to do this if you don't have DPDK, or RDT installed on the host*. - Sample configurations can be found at: https://github.com/opnfv/barometer/tree/master/src/collectd/collectd_sample_configs + Sample configurations can be found at: + https://github.com/opnfv/barometer/tree/master/src/collectd/collectd_sample_configs To make some changes when the container is running run: @@ -279,7 +290,12 @@ Check your docker image is running sudo docker ps Build the influxdb + Grafana docker images -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------------------ + + +Install docker-compose +^^^^^^^^^^^^^^^^^^^^^^ + On the node where you want to run influxdb + grafana: 1. Start by installing docker compose @@ -304,27 +320,95 @@ On the node where you want to run influxdb + grafana: $ sudo docker-compose --version -4. Run the get_types_db.sh script in barometer/docker -5. Run the docker containers: +Download the InfluxDB and Grafana docker image +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +If you wish to use pre-built barometer project's influxdb and grafana images, you can pull the +images from https://hub.docker.com/r/opnfv/barometer-influxdb/ and https://hub.docker.com/r/opnfv/barometer-grafana/ + +.. note:: + If your preference is to build images locally please see sections `Build the InfluxDB Image`_ and + `Build the Grafana Image`_ + +.. code:: bash + + $ docker pull opnfv/barometer-influxdb + $ docker pull opnfv/barometer-grafana + +Run the Influxdb and Grafana Images +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Launch containers: .. code:: bash - $ sudo docker-compose up -d + $ cd barometer/docker/ + $ sudo docker-compose up -d -6. Check your docker images are running +Check your docker images are running .. code:: bash $ sudo docker ps -7. Run the script to create the CPU dashboard barometer/docker: +Connect to :3000 with a browser and log into grafana: admin/admin + + +Build the InfluxDB Image +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Build influxdb image from Dockerfile .. code:: bash - $ cd dashboards && ./configure_grafana.sh + $ cd barometer/docker/barometer-influxdb + $ sudo docker build -t barometer-influxdb --build-arg http_proxy=`echo $http_proxy` \ + --build-arg https_proxy=`echo $https_proxy` -f Dockerfile . + +.. note:: + In the above mentioned ``docker build`` command, http_proxy & https_proxy arguments needs to + be passed only if system is behind an HTTP or HTTPS proxy server. + +Check the docker images: + +.. code:: bash + + $ sudo docker images + +Output should contain an influxdb image: + +.. code:: + + REPOSITORY TAG IMAGE ID CREATED SIZE + barometer-influxdb latest 1e4623a59fe5 3 days ago 191MB + + +Build the Grafana Image +^^^^^^^^^^^^^^^^^^^^^^^ + +Build Grafana image from Dockerfile + +.. code:: bash + + $ cd barometer/docker/barometer-grafana + $ sudo docker build -t barometer-grafana --build-arg http_proxy=`echo $http_proxy` \ + --build-arg https_proxy=`echo $https_proxy` -f Dockerfile . + +.. note:: + In the above mentioned ``docker build`` command, http_proxy & https_proxy arguments needs to be passed only if system is behind an HTTP or HTTPS proxy server. + +Check the docker images: + +.. code:: bash + + $ sudo docker images + +Output should contain an influxdb image: + +.. code:: -8. Connect to :3000 with a browser and log into grafana: admin/admin + REPOSITORY TAG IMAGE ID CREATED SIZE + barometer-grafana latest 05f2a3edd96b 3 hours ago 1.2GB Testing the docker image ^^^^^^^^^^^^^^^^^^^^^^^^ -- cgit 1.2.3-korg