Monitorez vos serveurs avec Grafana! Configuration des outils
2018-11-08 | Loïc BOURG
*Cet article est le deuxième d'une série de trois articles à propos du monitoring avec grafana.
Le premier article se trouve ici: Partie 1 (Choix des outils)
le troisiéme ici: Partie 3 (Création du tableau de bord)
Configuration
OpenTSDB
Pour l'utiliser, rendez vous sur ce lien https://www.ovh.com/fr/data-platforms/metrics/.
Si vous voulez uniquement essayer, vous pouvez utiliser la partie gratuite comprenant 10 métriques et 1 mois de rétention.
Une fois la commande effectuée, allez dans votre Espace Client > onglet Cloud > menu Metrics.
Vous devriez voir votre métrique avec le nom que vous lui avez donné lors de la commande.
Allez ensuite dans Tokens et créez en un de Lecture (qui sera utilisé par Grafana pour la lecture des métriques) et un d'Écriture (qui sera utilisé par Telegraf pour l’écriture des métriques)
Telegraf
La dernière version de Telegraf est présente ici : https://github.com/influxdata/telegraf/releases
Toutes les méthodes d'installation suivant votre système d'exploitation sont indiquées ici: https://portal.influxdata.com/downloads
Une fois l'agent installé sur le serveur, le fichier de configuration devrait se trouver dans /etc/telegraf/telegraf.conf si vous l'avez installé avec le fichier .deb .
Il y a beaucoup de choses dans ce fichier, mais vous pouvez le remplacer par celui ci :
# Configuration de l'agent
[agent]
# envoyer les métriques toutes les 60 secondes
interval = "60s"
# ne pas remplir le fichier de log d'informations de debug inutile
debug = false
logfile = "/var/log/telegraf/telegraf.log"
# configuration de l'envoi des données à OpenTSDB
[[outputs.opentsdb]]
# remplacez VOTRE_TOKEN_ECRITURE par le token d'écriture créé lors de l'etape de configuration d'OpenTSDB
host = "https://token:VOTRE_TOKEN_ECRITURE@opentsdb.gra1.metrics.ovh.net"
port = 443
httpBatchSize = 400
# configuration des stats cpu envoyées
[[inputs.cpu]]
## Envoyer les stats globales, et non pour chaque coeur
percpu = false
## Envoyer le nombre total de coeurs
totalcpu = true
## Ne pas envoyer les métriques en format brut
collect_cpu_time = false
## envoyer quand même les statistiques CPU, même si il est inactif
report_active = false
# n'envoyer que l'utilisation system et utilisateur des cpu
fieldpass = ["usage_user", "usage_system"]
# configuration des stats disques envoyées
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
# n'envoyer que le pourcentage d'utilisation du disque
fieldpass = ["used_percent"]
[[inputs.diskio]]
# n'envoyer que le nombre d'octets écrits et lus sur le disque
fieldpass = ["write_bytes", "read_bytes"]
[[inputs.mem]]
# n'envoyer que le total de mémoire, la mémoire utilisée et le pourcentage d'utilisation
fieldpass = ["used_percent", "total", "used"]
[[inputs.processes]]
# n'envoyer que le total de processus en cours sur la machine
fieldpass = ["total"]
[[inputs.system]]
# n'envoyer que l'uptime et le nombre de coeurs disponibles
fieldpass = ["uptime", "n_cpus"]
Une fois la configuration éditée n'oubliez pas de redémarrer le service.
Pour les utilisateurs de Systemd la commande est :
$ sudo systemctl restart telegraf
Si votre telegraf fonctionne, vous devriez voir le nombre de métriques et de points par jour augmenter sur votre page ovh metrics.
En cas de problémes vous pouvez consulter les logs dans /var/log/telegraf/telegraf.log
Pensez à mettre debug à true dans la config et redémarrer le service pour avoir plus d'informations
Grafana
Créez votre instance en allant sur ce lien https://grafana.com/cloud/grafana
Configuration source de données
Une fois sur la page d'accueil de Grafana, allez dans Configuration > Data Sources et créez une nouvelle source de données
- Choisissez un nom pour votre data source et et sélectionnez le type OpenTSDB
- L'url d'accés est https://opentsdb.gra1.metrics.ovh.net et le type d'accés doit être Browser.
- L'authentification doit être de type Basic Auth avec l'option "With Credentials"
- L'utilisateur doit être "token" et le mot de passe est le token de Lecture que vous avec créé dans l'interface OVH Metrics
- La version d'OpenTSDB doit être 2.2 et la résolution en millisecondes
Une fois que c'est fait, le bouton Save & Test devrait afficher Data source is working
Configuration canal de notifications
Allez dans Alerting > Data Sources et créez un nouveau canal.
Choisissez le type de canal que vous désirez, dans notre cas Slack avec comme Recipient #server-admin et comme Url une url de webhook slack
Le bouton Send Test est pratique pour vérifier que le canal est bien fonctionnel.
Conclusion
Nous avons maintenant configuré les outils nécessaires à la mise en place du monitoring, rendez-vous sur la partie 3 pour créer votre premier tableau de bord et lui associer des alertes !