VT2019 Demonstration Grafana

Voici la page de démonstration liée à la fiche de synthèse Fiche de synthèse.

=Prérequis= Cette démo est très simple à reproduire étant donné que j'ai choisi d'utiliser docker sur tous les outils le supportant.

Il est donc nécessaire d'avoir une installation fonctionnelle de docker sur votre machine pour pouvoir continuer :

[Installer Docker]

=Configuration sous Linux=

Mise en place de InfluxDB et Grafana
mkdir /exemple && cd /exemple
 * Tout d'abord, placez vous dans un répertoire :

version: "2" services: grafana: image: grafana/grafana container_name: grafana restart: always ports: - 3000:3000   networks: - monitoring volumes: - grafana-volume:/var/lib/grafana influxdb: image: influxdb container_name: influxdb restart: always ports: - 8086:8086   networks: - monitoring volumes: - influxdb-volume:/var/lib/influxdb networks: monitoring: volumes: grafana-volume: external: true influxdb-volume: external: true
 * Ensuite, vous pouvez créer le fichier docker-compose.yml avec le contenu ci-dessous :

docker network create monitoring docker volume create grafana-volume docker volume create influxdb-volume
 * Ensuite vous devez créer le network ainsi que les deux volumes utilisés :


 * Enfin, lancez le conteneur d'influxDB avec la commande -rm pour pouvoir configurer les variables d'environnement :

docker run --rm \ -e INFLUXDB_DB=telegraf -e INFLUXDB_ADMIN_ENABLED=true \ -e INFLUXDB_ADMIN_USER=admin \ -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \ -e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword \ -v influxdb-volume:/var/lib/influxdb \ influxdb /init-influxdb.sh


 * La configuration est prête, pour lancer les conteneurs, il suffit de taper la commande suivante :

docker-compose up -d

Votre interface Grafana est désormais disponible à l'adresse localhost:3000 et la base de donnée à l'adresse localhost:8086

Remarque : Il est nécessaire de configurer Grafana pour lui indiquer la source des données. Il suffit d'ajouter une source de donnée de type InfluxDB et de donner l'adresse suivante : http://influxdb:8086 Cela fonctionne grâce au network docker que nous avons créé auparavant.

Mise en place de Telegraf

 * Tout d'abord, il est nécessaire d'installer Telegraf :

[Installer Telegraf]


 * Ensuite, une fois installé, il suffit de modifier quelques lignes dans le fichier de configuration de Telegraf :

outputs.influxdb ## The full HTTP or UDP URL for your InfluxDB instance.#### Multiple URLs can be specified for a single cluster, only ONE of the urls = ["http://server1_ip:8086"] ## The target database for metrics; will be created as needed. database = "telegraf" ## If true, no CREATE DATABASE queries will be sent. Set to true when using## Telegraf with a user without permissions to create databases or when the## database already exists. skip_database_creation = true ## Name of existing retention policy to write to. Empty string writes to## the default retention policy. Only takes effect when using HTTP.# retention_policy = "" ## Write consistency (clusters only), can be: "any", "one", "quorum", "all".## Only takes effect when using HTTP.# write_consistency = "any" ## Timeout for HTTP messages. timeout = "5s" ## HTTP Basic Auth username = "telegraf" password = "secretpassword"
 * 1)                            OUTPUT PLUGINS                                   #
 * 2) Configuration for sending metrics to InfluxDB
 * 1) Configuration for sending metrics to InfluxDB
 * 1) Configuration for sending metrics to InfluxDB

ATTENTION : Ne reprenez pas les mots de passe d'exemple cités ci-dessus.

=Utilisation de Grafana=

Maintenant que tout est configuré, il ne vous reste plus qu'a ajouter un dashboard qui vous plait depuis la liste des dashboards proposé par la communauté de Grafana, de selectionner notre base de donnée influxDB comme source, et vous pourrez monitorer la machine surveillée par Telegraf:



=Sources=
 * https://towardsdatascience.com/get-system-metrics-for-5-min-with-docker-telegraf-influxdb-and-grafana-97cfd957f0ac : Tutoriel de configuration avec Docker