dimanche 5 mars 2017

Installation des services TICK (Telegraf, InfluxDB, Chronograf, Kapacitor) sur Raspberry PI 3




Salut à tous, je vais vous proposer ici un tutoriel relativement simple pour installer les services TICK sur une carte Raspberry Pi 3.
J'ai parcouru le web afin de trouver des tutoriels pour installer les 4 services TICK (Telegraf, InfluxDB, Chronograf et Kapacitor) sur Raspberry Pi 3 mais je n'ai trouvé aucun tutoriel complet, seulement des bouts de tutoriel par ici ou par là.

InfluxDB est une base de données très utilisée pour l’internet des objets car, grâce aux services fonctionnant avec cette base de données comme Chronograf, Telegraf et Kapacitor, il est possible de visualiser les données des capteurs sous forme graphique. 

Je vais commencer pour vous présenter les quatre différents services :

 Telegraf est l'agent de collecte de métriques dans la pile TICK.
InfluxDB est la base de données de séries chronologiques qui sert de composant de stockage de données de la pile TICK.
Chronograf permet de visualiser et de monitorer les données.
 Kapacitor est la plate-forme de traitement des données de la pile TICK. Kapacitor est responsable de la création et de l'envoi d'alertes dans Chronograf.

 L’installation de ces outils demande seulement un peu de configuration.
Afin de rédiger ce tutoriel, je me suis inspiré de celui présent via le lien suivant.

         Le tutoriel sur github propose de télécharger, d’installer et de configurer TICK pour un système d’exploitation Ubuntu 16.04. Il va donc falloir adapter les commandes pour l’architecture de la RPI 3 qui est de type « armhf » alors que celle de l’OS Ubuntu est de type « amd64 ».

 Pour commencer, pensez à mettre à jour la liste des paquets avec la commande :     
    sudo apt-get update && sudo apt-get upgrade

On va commancer par installer InfluxDB, Kapcitor, Telegraf puis Chronograf.

a)  Installation d’InfluxDB

1.     Téléchargez et installez InfluxDB :

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.0_armhf.deb  
sudo dpkg -i influxdb_1.2.0_armhf.deb

2.     Lancez InfluxDB avec : 

sudo systemctl start influxdb 

3.     Vérifiez qu’InfluxDB fonctionne correctement avec la commande :

 curl "http://localhost:8086/query?q=show+databases" 

Vous devez obtenir le résultat suivant :
                                 
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"]]}]}]}

                       Cela signifie qu’il existe une base de données appelée _internal.

b)     Installation de Kapacitor


1.     Téléchargez et installez Kapacitor :

wget https://dl.influxdata.com/kapacitor/releases/kapacitor_1.2.0_armhf.deb 
 sudo dpkg -i kapacitor_1.2.0_armhf.deb

2.     Lancez Kapacitor avec:

sudo systemctl start kapacitor 

3.     Vérifiez que Kapacitor fonctionne correctement avec la commande :

kapacitor list tasks

                               Vous devez obtenir le résultat suivant :

    ID                            Type      Status    Executing Databases and Retention Policies

c)     Installation de Telegraf


1.     Télécharger et installer Telegraf :
 wget https://dl.influxdata.com/telegraf/releases/telegraf_1.2.0_armhf.deb 
 sudo dpkg -i telegraf_1.2.0_armhf.deb

2.     Lancez Telegraf avec :

 sudo systemctl start telegraf

3.     Vérifiez que Telegraf fonctionne correctement :

                               Ouvrez le fichier telegraf.conf  situé dans le répertoire/etc/telegraf :

sudo nano etc/telegraf/telegraf.conf

       Vérifiez alors les paramètres d’OUTPUT PLUGINS et d’INPUT PLUGINS comme décrit dans la page suivante (copiez-collez le lien) : (https://github.com/influxdata/chronograf/blob/master/docs/INSTALLATION.md#3-verify-telegrafs-configuration-and-that-the-process-is-running)

                               Lancez alors la commande suivante :

  curl "http://localhost:8086/query?q=select+*+from+telegraf..cpu"

                               Vous devrez voir apparaître de nombreuses données JSON.

d)     Installation de Chronograf

1.     Télécharger et installer Chronograf :

sudo wget https://dl.influxdata.com/chronograf/nightlies/chronograf_nightly_armhf.deb
sudo dpkg -i chronograf_nightly_armhf.deb

2.     Lancez Chronograf avec:

sudo systemctl start chronograf

3.     Connectez-vous à Chronograf :

               Entrez la commande suivante dans votre navigateur web : adresse-ip-carte:8888
               Dans « Connection String », remplacez « localhost » par l’adresse IP de votre carte, vous pouvez ajouter un nom dans « Name », ce n’est pas la peine d’entrer un « username » ou un « password ».
               Cliquez alors sur « Connect New Source ».
  
 
Figure 1  : Connexion à Chronogaf
 
4.     Connectez Kapacitor à Telegraf






Figure 2  : Connexion de Kapacitor à Telegraf

Dans « Connection String », remplacez localhost par l’adresse ip de la carte, mettez le nom que vous souhaitez pour « name », il n’est pas utile de mettre un « username » ou un « password ».

Si cela fonctionne, vous devrez voir apparaître la page suivante :
      Figure 3 : Configuration des alertes

Vous pouvez donc paramétrer des alertes et recevoir ces alertes par mail par exemple, mettez l’adresse de votre serveur SMTP à la place de « localhost » dans « SMTP host ». Rentrez les identifiants de votre compte mail dans "user" et "password".
PS : Désolé pour la mise en forme du blog mais c'est vraiment galère pour y insérer des photos..
N'hésitez pas à me poser des questions en commentaire