Chronograf est un grappeur de données chronologiques, similaire à Grafana, qui utilise InfluxDB comme backend. Chronograf est bien plus qu'un simple outil de visualisation de données; via Kapacitor, un backend complet pour l'alerte et la surveillance est fourni.
Installation
Outils
Divers outils sont utilisés dans ce guide à des fins différentes, veuillez donc vous assurer que les packages suivants sont installés sur votre système.
sudo apt-get install wget curl
InfluxDB
Étant donné que Chronograf s'appuie sur InfluxDB comme source de données principale, nous devons d'abord installer la dernière version. Il peut être archivé en téléchargeant et en installant simplement le .deb
fichier pré-créé .
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.4_amd64.deb
sudo dpkg -i influxdb_1.2.4_amd64.deb
Si l'installation réussit, nous pouvons continuer d'activer et de démarrer le service à l'aide de systemctl
.
sudo systemctl enable influxdb
sudo systemctl start influxdb
Pour vous assurer que le service fonctionne correctement, nous pouvons appeler la commande suivante, en nous connectant directement au InfluxDB HTTP API
.
curl "http://localhost:8086/query?q=show+databases"
Si tout est en ordre, la sortie devrait ressembler à ce qui suit.
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"]}]}]}
Si vous rencontrez une erreur lors de l'exécution de la commande ci-dessus, assurez-vous que InfluxDB est activé et a démarré correctement et réessayez.
Kapacitor
Kapacitor fournit la plupart des fonctionnalités de Chronograf. Il est notamment responsable de l'envoi des alertes. Les alertes peuvent être envoyées à l'aide de différents services allant de SMTP
à Slack
et HipChat
. Ce package est également fourni via un .deb
fichier prédéfini .
wget https://dl.influxdata.com/kapacitor/releases/kapacitor_1.3.1_amd64.deb
sudo dpkg -i kapacitor_1.3.1_amd64.deb
Activez et démarrez le service à l'aide de systemctl
.
sudo systemctl enable kapacitor
sudo systemctl start kapacitor
Afin de vérifier que tout a été installé correctement, nous pouvons appeler la commande suivante, qui retournerait généralement les tâches actuellement en file d'attente.
kapacitor list tasks
Assurez-vous que la sortie ressemble à ce texte.
ID Type Status Executing Databases and Retention Policies
En cas d'erreur, un rapport d'erreur détaillé s'affiche.
Telegraf
Après l'installation InfluxDB
et Kapacitor
avec succès, nous pouvons continuer l'installation Telegraf
. Telegraf est responsable de la collecte de toutes les mesures qui seront ensuite visualisées via Chronograf.
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.3.2-1_amd64.deb
sudo dpkg -i telegraf_1.3.2-1_amd64.deb
Activez et démarrez le service.
sudo systemctl enable telegraf
sudo systemctl start telegraf
Vérifiez la configuration initiale fournie lors de l'installation. Ouvrez /etc/telegraf/telegraf.conf
et assurez-vous que les lignes ci-dessous reflètent votre configuration.
urls = ["http://localhost:8086"]
database = "telegraf"
Chronograf
Ensuite, nous procéderons à l'installation du core-package de Chronograf.
wget https://dl.influxdata.com/chronograf/releases/chronograf_1.3.3.0_amd64.deb
sudo dpkg -i chronograf_1.3.3.0_amd64.deb
Ensuite, le service peut être activé et démarré.
sudo systemctl enable chronograf
sudo systemctl start chronograf
Afin de vérifier que l'installation a réussi, pointez votre navigateur vers http://<server-ip>:8888
lequel s'affiche une page de configuration initiale sur laquelle nous allons continuer.
La configuration initiale
Entrez les détails de la connexion InfluxDB. Remplissez les formulaires disponibles comme indiqué ci-dessous.
"Connection String" - http://localhost:8086
"Name" - InfluxDB
"Telegraf Database" - telegraf
Assurez-vous de cocher également la case intitulée Make this the default source
.
Kapacitor
Cliquez sur l'icône engrenages sur la barre de navigation gauche (le dernier élément). Sous la Active Kapacitor
colonne, appuyez sur Add config
. Remplissez le formulaire fourni en utilisant les valeurs ci-dessous.
"Kapacitor URL" - http://localhost:9092
"Name" - Kapacitor
Vous pouvez maintenant continuer à ajouter des points de terminaison d'alerte via le formulaire fourni.
Ajouter d'autres hôtes
Afin d'ajouter d'autres hôtes à Chronograf en utilisant SNMP, nous devons apporter des modifications à notre configuration Telegraf et installer quelques plugins nécessaires.
sudo apt-get install snmp snmp-mibs-downloader
Après avoir autorisé l'hôte exécutant Chronograf sur un autre hôte, nous pouvons ajouter ledit hôte à notre configuration Telegraf en utilisant les lignes ci-dessous.
[[inputs.snmp]]
agents = [ "<ip-address-of-other-host>:161" ]
version = 2
community = "<snmp-community>"
name = "snmp"
[[inputs.snmp.field]]
name = "hostname"
oid = "RFC1213-MIB::sysName.0"
is_tag = true
[[inputs.snmp.table]]
name = "snmp"
inherit_tags = [ "hostname" ]
oid = "IF-MIB::ifXTable"
[[inputs.snmp.table.field]]
name = "ifName"
oid = "IF-MIB::ifName"
is_tag = true
Cela, en particulier, surveille toutes les métriques telles que l'utilisation du processeur, l'utilisation de la mémoire et la répartition de l'utilisation du réseau par interface avec des statistiques approfondies, y compris des valeurs telles que les paquets unicast et les erreurs d'interface.
Pare-feu
Pour l'instant, Chronograf ne fournit pas de système d'authentification classique tel que username
et l' password
authentification. Afin de sécuriser notre installation, nous utiliserons la Vultr Firewall
fonction pour bloquer tous les ports allant sur le port 8888
TCP et ajouter une règle d'exception pour l'adresse IP de notre client qui devrait être autorisée à la visualiser.
Étant donné que les autres services installés n'écoutent que sur l'adresse IP de bouclage ( 127.0.0.1
), nous ne sommes pas tenus de bloquer explicitement les requêtes qui y sont dirigées.
Conclusion
Chronograf est un outil de visualisation métrique très flexible et magnifique, livré avec des packages d'alerte et de collecte de données décents, créant une solution de surveillance décente.