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 :
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 :
- 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.