Configuration du monitoring des nœuds

Configuration d'une infrastructure pour surveiller les performances de votre nœud.

Introduction

Ce tutoriel suppose que vous avez Ubuntu 18.04 ou 20.04 en cours d'exécution sur votre nœud. Une version Mac OS X de ce tutoriel viendra plus tard.

Ce tutoriel montrera comment configurer une infrastructure pour surveiller une instance d'AvalancheGo. Nous utiliserons :

  • Prometheus pour collecter et stocker des données.

  • Node_exporter pour obtenir des informations sur la machine.

  • AvalancheGo metrics API pour obtenir des informations sur le nœud.

  • Grafana pour visualiser les données sur un tableau de bord.

Conditions préalables :

  • Un nœud AvalancheGo en cours d'exécution.

  • Shell access à la mahcine exécutant le nœud.

  • Privilèges d'administrateur sur la machine.

Mise en garde : Sécurité

Contributions

La base du tableau de bord Grafana a été tirée des gars de ColmenaLabs, qui n'est apparemment plus disponible. Si vous avez des idées et des suggestions pour améliorer ce didacticiel, veuillez le dire, publier un problème ou faire une pull request sur Github.

Configurer Prometheus

Nous devons d'abord ajouter un compte d'utilisateur système et créer des répertoires (vous aurez besoin des informations d'identification du superutilisateur) :

Ensuite, obtenez le lien vers la dernière version de Prometheus sur la page de téléchargement (assurez-vous de sélectionner l'architecture de processeur appropriée) et utilisez wget pour le télécharger, et tar pour décompresser l'archive :

Ensuite, nous devons déplacer les binaires, définir la propriété et déplacer les fichiers de configuration vers les emplacements appropriés :

/etc/prometheus est utilisé pour la configuration et /var/lib/prometheus pour les données.

Configurons Prometheus pour qu'il s'exécute en tant que service système. Faites :

Et entrez la configuration suivante :

Enregistrez le fichier. Nous pouvons maintenant exécuter Prometheus en tant que service système :

Prometheus devrait maintenant fonctionner. Pour nous en assurer, nous pouvons vérifier avec :

Ce qui devrait produire quelque chose comme :

Vous pouvez également vérifier l'interface Web de Prometheus, disponible sur http://your-node-host-ip:9090/

Installez Grafana

Pour configurer les référentiels de Grafana avec Ubuntu :

Pour installer Grafana :

Pour le configurer en tant que service :

Pour vous assurer qu'il fonctionne correctement :

Cela devrait monter Grafan comme actif. Grafana devrait maintenant être disponible sur http://your-node-host-ip:3000/Connectez-vous avec le nom d'utilisateur / mot de passe admin / admin et configurez un nouveau mot de passe sécurisé. ** Nous devons maintenant connecter Grafana à notre source de données, Prometheus.

Sur l'interface Web de Grafana :

  • Accédez à Configuration dans le menu de gauche et sélectionnez "Data Sources".

  • Cliquez sur "Add Data Source".

  • Sélectionnez Prometheus.

  • Dans le formulaire, entrez le nom (Prometheus fera l'affaire) et http://localhost:9090 comme URL.

  • Cliquez sur Save & Test

  • Vérifiez que le message vert suivant apparait "Data source is working".

Configurer node_exporter

En plus des métriques d'AvalancheGo, mettons en place la surveillance de la machine elle-même, afin que nous puissions vérifier l'utilisation du processeur, de la mémoire, du réseau et du disque et être au courant de toute anomalie. Pour cela, nous utiliserons node_exporter, un plugin Prometheus.

Obtenez la dernière version avec:

Changez linux-amd64 si vous avez une architecture différente (RaspberryPi est linux-arm64, par exemple).

Décompressez et déplacez l'exécutable :

Ensuite, nous ajoutons node_exporter en tant que service. Faites :

Et remplissez le formulaire avec :

Cela configure node_exporter pour collecter diverses données que nous pourrions trouver intéressantes. Démarrez le service et activez-le au démarrage :

Nous sommes maintenant prêts à tout lier ensemble.

Configurer les tâches AvalancheGo et node_exporter Prometheus

Assurez-vous que votre nœud AvalancheGo fonctionne avec les arguments de ligne de commande appropriés. L'API de métriques doit être activée (par défaut, c'est le cas). Si vous utilisez l'argument CLI --http-host pour effectuer des appels d'API depuis l'extérieur de la machine hôte, notez l'adresse à laquelle les API écoutent.

Nous devons maintenant définir un emploi Prometheus approprié. Modifions la configuration de Prometheus:

Faites :

Et ajouter :

Enregistrez le fichier de configuration et redémarrez Prometheus :

Vérifiez l'interface Web de Prometheus sur http://your-node-host-ip:9090/targets. Vous devriez voir trois cibles activées :

  • Prometheus

  • Avalanchego

  • Avalanchego-machine

Ouvrez Grafana; vous pouvez maintenant créer un tableau de bord en utilisant l'une de ces sources. Vous pouvez également utiliser les tableaux de bord préconfigurés [ici].

Pour importer le tableau de bord préconfiguré :

  • Ouvrez l'interface Web de Grafana.

  • Cliquez sur + dans la barre d'outils de gauche.

  • Sélectionnez Import JSON, puis téléchargez le fichier JSON.

C'est tout ! Vous pouvez maintenant vous émerveiller de tout ce que fait votre nœud. Woohoo!

Mis à jour

Ce contenu vous a-t-il été utile ?