Monitoraggio di Droplet Redis utilizzando il Servizio Esportatore Redis

Introduzione

Il monitoraggio efficiente delle basi di dati Redis è essenziale per mantenere un’efficienza ottimale, identificare potenziali bottlen e garantire una affidabilità globale del sistema. Il Redis Exporter Service è un’utilità robusta progettata per monitorare le basi di dati Redis utilizzando Prometheus.

Questo tutorial vi guiderà attraverso la configurazione completa del Redis Exporter Service, assicurandovi di impostare una soluzione di monitoraggio in maniera semplice. Se seguite questo tutorial, otterrete una configurazione di monitoraggio completamente operativa per monitorare in maniera efficace i metriche di prestazioni della vostra base di dati Redis.

Nota: Il tempo di installazione approssimativo per questo tutorial è di circa 25 minuti.

Prerequisiti

Prima di iniziare, assicuratevi di avere i seguenti prerequisiti:

  • Dovrai installare e configurare server Redis su un Droplet Ubuntu. Puoi fare riferimento ai nostri tutorial su Come installare e rendere sicuro Redis su Ubuntu. I server che vuoi monitorare dovrebbero essere accessibili dalla macchina in cui hai intenzione di installare il Servizio Exporter Redis.
  • Dovrai avere accesso SSH ai server Redis per installare e configurare il Servizio Exporter Redis.
  • L’estensione MySQL Exporter di Prometheus integra Prometheus per lo scarico di metriche e Grafana per la visualizzazione. In questo caso, stiamo usando immagini di Prometheus e Grafana da DigitalOcean Marketplace per monitorare i Droplet database.

Nota: In questo tutorial, passerò attraverso due metodi differenti per configurare il servizio Redis Exporter per la monitorizzazione dei database Redis. Puoi scegliere tra la configurazione manuale e l’automazione basata su script, ciascuno adatto a differenti preferenze erequisiti operativi. Segui le istruzioni per ogni metodo per distribuire efficientemente il servizio Redis Exporter Service sulla tua infrastruttura. Questa flessibilità ti permette di scegliere la migliore strategia di distribuzione e l’approcio al workflow operativo.

Metodo 1: Configurazione manuale

Procediamo con il metodo di configurazione manuale in questa sezione.

Creare utente e gruppo di sistema di Prometheus

Crea un utente e un gruppo di sistema chiamati “prometheus” per gestire il servizio esportatore.

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

Scaricare e installare Redis Exporter

Scarica l’ultima versione di Redis Exporter da GitHub, estrai i file scaricati e sposta il binario nella directory /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/

Verificare l’installazione dell’esportatore Redis

redis_exporter --version

Ecco l’output di esempio:

Configurare il servizio systemd per l’esportatore Redis

Creare un file unità di servizio systemd per gestire il servizio dell’esportatore Redis.

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

Aggiungere il seguente contenuto al file:

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

Ricaricare systemd e avviare il servizio dell’esportatore Redis

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

Configurazione manuale del droplet Prometheus

Configureremo il droplet Prometheus per la configurazione manuale.

Fai una copia di backup del file 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:

Aggiungi gli endpoint dell’esportatore Redis da scaricare

Accedi al tuo server Prometheus e aggiungi gli endpoint dell’esportatore Redis da scaricare.

Sostituisci gli indirizzi IP e le porte con i tuoi endpoint dell’esportatore Redis (la porta 9121 è la porta predefinita per il servizio dell’esportatore Redis).

Questa è la fine della configurazione manuale. Ora, andiamo avanti con la configurazione basata su script.

Metodo 2: Configurazione tramite script

Puoi anche raggiungere questo risultato facendo girare due script – uno per i droplet obiettivo e l’altro per il droplet Prometheus.

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

Cominciamo configurando i Droplet Obiettivo.

chmod +x DO_Redis_Target_Config.sh

Accedi all’interno del Droplet Obiettivo tramite SSH.

./DO_Redis_Target_Config.sh

Scarica lo script di configurazione dell’obiettivo utilizzando il seguente comando:

Una volta scaricato lo script, assicurarti che abbia i permessi di esecuzione eseguendo:

Esegui lo script eseguendo:

La configurazione è completata.

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

Nota: Se il file redis_exporter.service esiste già, lo script non verrà eseguito.

chmod +x DO_Redis_Prometheus_Config.sh

Configurazione del Droplet Prometheus (Metodo Script)

./DO_Redis_Prometheus_Config.sh

Accedi all’interno del Droplet Prometheus tramite SSH e scarica lo script utilizzando il seguente comando:

Una volta scaricato lo script, assicurarti che abbia i permessi di esecuzione eseguendo:

Esegui lo script eseguendo:

Inserisci il numero di droplet da aggiungere al monitoraggio.

Inserisci i nomi host e gli indirizzi IP.

La configurazione è completata.

Una volta aggiunti, verifica se gli obiettivi sono aggiornati accedendo all’URL prometheushostname:9090/targets.

Nota: Se immetti un indirizzo IP già aggiunto al monitoraggio, verrà richiesto di immettere i dettagli di nuovo. Anche, se non hai più server da aggiungere, puoi immettere 0 per uscire dal script

Configurazione di Grafana

Accedi al pannello di Grafana visitando Grafana-IP:3000 in un browser.

Vai a Configurazione > Fonti dati.

Clicca su Aggiungi fonte dati.

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

Cerca e seleziona Prometheus.

Inserisci il Nome come Prometheus, e l’URL (Prometheushostname:9090) e clicca su “Salva & Testa”. Se vedi “La fonte dati funziona”, hai aggiunto correttamente la fonte dati. Una volta fatto, vai a Crea > Importa.

Puoi configurare manualmente il pannello di Grafana o importare il pannello caricando il file JSON. Un modello JSON per il monitoraggio di Redis può essere trovato nel link seguente:

Compila i campi e Importa.

Il pannello di Grafana è pronto. Seleziona l’host e verifica se le metriche sono visibili. Non esiti a modificare e personalizzare il pannello di Grafana a tuo piacimento.

Conclusione

In questo tutorial, hai imparato a automatizzare la distribuzione dell’esportatore Redis sui tuoi server. Il script inizia facendo un check se il file di unità redis_exporter.service esiste già e esce se lo fa, evitando set up ridondanti. Poi crea un utente e un gruppo di sistema Prometheus per l’isolamento del servizio in maniera sicura. Il script scarica e installa i binari dell’esportatore Redis, collocandoli in /usr/local/bin/ per standardizzazione.

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