VT2019 Demonstration Grafana

From air
Jump to navigation Jump to search

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

  • Tout d'abord, placez vous dans un répertoire :
mkdir /exemple && cd /exemple
  • Ensuite, vous pouvez créer le fichier docker-compose.yml avec le contenu ci-dessous :
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 devez créer le network ainsi que les deux volumes utilisés :
docker network create monitoring
docker volume create grafana-volume
docker volume create influxdb-volume
  • 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 :
###############################################################################
#                            OUTPUT PLUGINS                                   #
###############################################################################
# Configuration for sending metrics to InfluxDB
[[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"

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