Surveiller les Droplet Redis à l’aide du service Redis Exporter

Introduction

Le suivi efficace des bases de données Redis est essentiel pour maintenir des performances optimales, identifier les points de blocage potentiels et assurer la fiabilité globale du système. Le Service Exporter Redis est une utilité robuste conçue pour suivre les bases de données Redis en utilisant Prometheus.

Ce tutoriel vous guidera à travers l’installation et la configuration complètes du Service Exporter Redis, vous permettant de mettre en place une solution de suivi sans encombre. En suivant ce tutoriel, vous mettrez en œuvre une configuration de suivi complète pour surveiller efficacement les métriques de performance de votre base de données Redis.

Note : Le temps d’installation approximatif pour ce tutoriel est d’environ 25 minutes.

Prérequis

Avant de commencer, veuillez s’assurer que vous avez en place les prérequis suivants :

  • Vous devrez avoir des serveurs de base de données Redis installés et en cours d’exécution sur une instance Ubuntu Droplet. Vous pouvez vous référer à nos tutoriels sur Comment installer et sécuriser Redis sous Ubuntu. Les serveurs que vous souhaitez surveiller devraient être accessibles à partir de la machine où vous avez l’intention d’installer le Service d’Exportateur Redis.
  • Vous aurez besoin d’accès SSH aux serveurs Redis pour installer et configurer le Service d’Exportateur Redis.
  • L’Exportateur MySQL de Prometheus integre Prometheus pour l’extraction de métriques et Grafana pour la visualisation. Ici, nous utilisons des images de Prometheus et de Grafana du Marché DigitalOcean pour surveiller les instances Droplet de base de données.

Remarque: Dans ce tutoriel, nous passerons en revue deux méthodes différentes pour configurer le service Redis Exporter pour surveiller les bases de données Redis. Vous pouvez choisir entre une configuration manuelle et une automatisation basée sur des scripts, chacune adaptée à différentes préférences et exigences opérationnelles. Suivez les instructions pour chaque méthode pour déployer le service Redis Exporter sur votre infrastructure de manière efficace. Cette flexibilité vous permet de sélectionner la meilleure stratégie de déploiement et l’approche de workflow opérationnelle.

Méthode 1 : Configuration manuelle

Nous allons procéder à la méthode de configuration manuelle dans cette section.

Créer un utilisateur et un groupe Prometheus

Créez un utilisateur et un groupe système nommés “prometheus” pour gérer le service exporter.

sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Télécharger et installer Redis Exporter

Téléchargez la dernière version de Redis Exporter de GitHub, extraiez les fichiers téléchargés et déplacez le binaire vers le répertoire /usr/local/bin/.

curl -s https://api.github.com/repos/oliver006/redis_exporter/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
tar xvf redis_exporter-*.linux-amd64.tar.gz
sudo mv redis_exporter-*.linux-amd64/redis_exporter /usr/local/bin/

Vérifier l’installation de l’Exporteur Redis

redis_exporter --version

Voici l’exemple de sortie :

Configurer le service systemd pour l’Exporteur Redis

Créez un fichier de unité de service systemd pour gérer le service de l’Exporteur Redis.

sudo vim /etc/systemd/system/redis_exporter.service

Ajoutez le contenu suivant au fichier :

redis_exporter.service
[Unit]
Description=Prometheus Redis Exporter
Documentation=https://github.com/oliver006/redis_exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/redis_exporter \
  --log-format=txt \
  --namespace=redis \
  --web.listen-address=:9121 \
  --web.telemetry-path=/metrics

SyslogIdentifier=redis_exporter
Restart=always

[Install]
WantedBy=multi-user.target

–log-format=txt \

sudo systemctl daemon-reload
sudo systemctl enable redis_exporter
sudo systemctl start redis_exporter

–web.listen-address=:9121 \

–web.telemetry-path=/metrics

Recharger systemd et démarrer le service de l’Exporteur Redis

cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml-$(date +'%d%b%Y-%H:%M')

Configurer le nuage Prometheus (méthode manuelle)

Allons configurer le nuage Prometheus pour la configuration manuelle.

Faites une copie de sauvegarde du fichier prometheus.yml

vi /etc/prometheus/prometheus.yml
prometheus.yml
scrape_configs:
  - job_name: server1_db
    static_configs:
      - targets: ['10.10.1.10:9121']
        labels:
          alias: db1

  - job_name: server2_db
    static_configs:
      - targets: ['10.10.1.11:9121']
        labels:

Ajoutez les points de terminaison de l’exporter Redis à scraper

Connectez-vous à votre serveur Prometheus et ajoutez les points de terminaison de l’exporter Redis à scraper.

Remplacez les adresses IP et les ports par vos points de terminaison de l’exporter Redis (9121 est le port par défaut pour le service de l’exporter Redis).

C’est la fin de la configuration manuelle. Maintenant, allons passer à la configuration basée sur des scripts.

Méthode 2 : Configuration à l’aide de scripts

Vous pouvez également réaliser cela en exécutant deux scripts différents – l’un pour les instances cibles et l’autre pour l’instance Prometheus.

wget https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Redis_Target_Config.sh

Commençons par configurer les Instances Cibles.

chmod +x DO_Redis_Target_Config.sh

Connectez-vous par SSH à l’Instance Cible.

./DO_Redis_Target_Config.sh

Téléchargez le script de configuration des instances cibles en utilisant la commande suivante :

Une fois le script téléchargé, vérifiez qu’il possède les permissions d’exécution en exécutant :

Exécutez le script en cours d’exécution :

La configuration est terminée.

wget https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Redis_Prometheus_Config.sh

Note : Si le fichier redis_exporter.service existe déjà, le script ne sera pas exécuté.

chmod +x DO_Redis_Prometheus_Config.sh

Configurer l’Instance Prometheus (Méthode de script)

./DO_Redis_Prometheus_Config.sh

Connectez-vous par SSH à l’Instance Prometheus et téléchargez le script en utilisant la commande suivante :

Une fois le script téléchargé, donnez-lui les permissions d’exécution en exécutant :

Exécutez le script en cours d’exécution :

Entrez le nombre d’instances à ajouter au monitoring.

Entrez les noms d’hôte et les adresses IP.

La configuration est terminée.

Une fois ajoutées, vérifiez si les cibles sont mises à jour en accédant à l’URL prometheushostname:9090/targets.

Note : Si vous entrez une adresse IP déjà ajoutée à la surveillance, vous serez invité à entrer les détails à nouveau. De plus, si vous n’avez plus de serveurs à ajouter, vous pouvez entrer 0 pour quitter le script

Configurer Grafana

Connectez-vous au tableau de bord Grafana en visitant Grafana-IP:3000 dans un navigateur.

Allez à Configuration > Sources de données.

Cliquez sur Ajouter une source de données.

https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Grafana-Redis_Monitoring.json

Recherchez et sélectionnez Prometheus.

Entrez le nom comme Prometheus, et l’URL (Prometheushostname:9090) et cliquez sur “Enregistrer & Tester”. Si vous voyez “La source de données fonctionne”, vous avez réussi à ajouter la source de données. Une fois terminé, allez à Créer > Importer.

Vous pouvez configurer manuellement le tableau de bord ou importer le tableau de bord en téléchargeant le fichier JSON. Un modèle JSON pour la surveillance de Redis peut être trouvé dans le lien ci-dessous :

Remplissez les champs et importez.

Le tableau de bord Grafana est prêt. Sélectionnez l’hôte et vérifiez si les métriques sont visibles. N’hésitez pas à modifier et à éditer le tableau de bord comme il faut.

Conclusion

Dans ce tutoriel, vous avez appris à automatiser la déploiement du Redis Exporter sur vos serveurs. Le script commence par vérifier s’il existe déjà le fichier de unité redis_exporter.service et s’arrête si c’est le cas, évitant ainsi des configurations redondantes. Il crée ensuite un utilisateur et un groupe système Prometheus pour l’isolement sécurisé du service. Le script télécharge et installe les binaires du Redis Exporter, les plaçant dans /usr/local/bin/ pour une standardisation.

Source:
https://www.digitalocean.com/community/tutorials/monitor-redis-droplet-using-redis-exporter