Monitorez vos serveurs avec Grafana! Configuration des outils

2018-11-08 | Loïc BOURG

image article

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

page ovh metrics

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 !

Partie 3 (Création du tableau de bord)

AdminSys Grafana