VT2019 Demonstration Grafana

From air
Jump to: navigation, 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.

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:

Exemple de Dashboard avec Grafana

Sources