Überwachen von Redis-Droplets mittels Redis Exporter Service

Einführung

Eine effektive Überwachung von Redis-Datenbanken ist entscheidend, um optimale Leistung zu gewährleisten, potenzielle Engpässe zu erkennen und die allgemeine Systemzuverlässigkeit sicherzustellen. Der Redis Exporter Service ist ein robustes Werkzeug, das dazu dient, Redis-Datenbanken mit Prometheus zu überwachen.

Dieses Leitfaden führt Sie durch die komplette Einrichtung und Konfiguration des Redis Exporter Service, sodass Sie eine mühelose Überwachungslösung einrichten. Indem Sie diesen Leitfaden folgen, erreichen Sie eine voll funktionsfähige Überwachungseinrichtung, um die Leistungsmessungen Ihrer Redis-Datenbank effektiv zu überwachen.

Hinweis: Die etwaige Einrichtungszeit für diesen Leitfaden beträgt ungefähr 25 Minuten.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:

  • Sie müssen Redis-Datenbank-Server auf einem Ubuntu Droplet eingerichtet und ausgeführt haben. Sie können sich an unseren Tutorials zu wie man Redis auf Ubuntu installiert und sichert orientieren. Die Server, die Sie monitor wollen, sollten von der Maschine zugänglich sein, auf der Sie den Redis Exporter Service installieren planen.
  • Sie müssen SSH-Zugriff auf die Redis-Server haben, um den Redis Exporter Service zu installieren und zu konfigurieren.
  • Der Prometheus MySQL Exporter integriert mit Prometheus für die Metriken-Skraping und Grafana für die Visualisierung. Hier verwenden wir Prometheus und Grafana Bilder von der DigitalOcean Marketplace, um die Datenbank-Droplets zu überwachen.

Hinweis: In diesem Tutorial gehen wir durch zwei unterschiedliche Methoden, um den Redis Exporter Service für die Überwachung von Redis-Datenbanken einzurichten. Sie können zwischen manueller Konfiguration und automatisierter Skriptbasis wählen, die jeweils auf unterschiedliche Vorlieben und Betriebssystemanforderungen abgestimmt sind. Führen Sie die Anweisungen für jede Methode aus, um den Redis Exporter Service effizient auf Ihrer Infrastruktur einzurichten. Diese Flexibilität ermöglicht Ihnen, die beste Einrichtungsstrategie und den operationale Workflowansatz auszuwählen.

Methode 1: Manuelle Konfiguration

Wir gehen in diesem Abschnitt mit der manuellen Konfigurationsmethode fort.

Erstellen Sie den Prometheus-Systembenutzer und -Gruppe

Erstellen Sie einen Systembenutzer und -gruppe mit dem Namen “prometheus”, um den Exporterdienst zu verwalten.

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

Herunterladen und Installieren des Redis Exporters

Laden Sie die aktuelle Version des Redis Exporters von GitHub herunter, entpacken Sie die heruntergeladenen Dateien und bewegen Sie das Programmierbinary in das Verzeichnis /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/

Überprüfung der Installation des Redis Exporters

redis_exporter --version

Hier ist ein Beispielausgabe:

Konfigurieren des systemd-Dienstes für den Redis Exporter

Erstellen Sie eine systemd-Diensteinheitdatei, um den Redis Exporter-Dienst zu verwalten.

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

Fügen Sie dem Dateiinhalt die folgende Zeile hinzu:

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

Systemd neu laden und Redis Exporter-Dienst starten

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

Prometheus-Droplet konfigurieren (Manueller Ansatz)

Legen wir nun das Prometheus-Droplet für die manuelle Konfiguration vor.

Erstellen Sie eine Sicherung des Dateis 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:

Fügen Sie die Endpunkte des Redis-Exporters hinzu, die scraped werden sollen

Loggen Sie sich auf Ihrem Prometheus-Server ein und fügen Sie die Endpunkte des Redis-Exporters hinzu, die scraped werden sollen.

Ersetzen Sie die IP-Adressen und Ports durch Ihre Redis-Exporter-Endpunkte (9121 ist der Standardport für den Redis-Exporter-Dienst).

Dies ist das Ende der manuellen Konfiguration. Nun gehen wir mit der skriptbasierten Konfiguration fort.

Methode 2: Konfiguration mit Skripten

Du kannst dies auch durch das Ausführen von zwei Skripten erreichen – einem für die Ziel-Droplets und einem für das Prometheus-Droplet.

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

Lass uns beginnen, indem wir die Ziel-Droplets einrichten.

chmod +x DO_Redis_Target_Config.sh

SSH in das Ziel-Droplet einloggen.

./DO_Redis_Target_Config.sh

Lade das Skript für die Ziel-Konfiguration mit dem folgenden Befehl herunter:

Sobald das Skript heruntergeladen wurde, stelle sicher, dass es ausführbare Rechte hat, indem du lädst:

Führe das Skript mit dem folgenden Befehl aus:

Die Konfiguration ist fertig.

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

Hinweis: Wenn die Datei redis_exporter.service bereits existiert, wird das Skript nicht ausgeführt.

chmod +x DO_Redis_Prometheus_Config.sh

Einrichten des Prometheus-Droplets (Skript-Methode)

./DO_Redis_Prometheus_Config.sh

SSH in das Prometheus-Droplet einloggen und das Skript mit dem folgenden Befehl herunterladen:

Sobald das Skript heruntergeladen wurde, stelle sicher, dass es ausführbare Rechte hat, indem du lädst:

Führe das Skript mit dem folgenden Befehl aus:

Gib die Anzahl der Droplet, die zu überwachen sind, an.

Gib die Hostnamen und IP-Adressen ein.

Die Konfiguration ist fertig.

Sobald hinzugefügt, überprüfe, ob die Ziele aktualisiert wurden, indem du auf die URL prometheushostname:9090/targets zugreifst.

Hinweis: Wenn Sie eine bereits hinzugefügte IP-Adresse in die Überwachung eintragen, werden Sie dazu gezwungen, die Details erneut einzugeben. Außerdem können Sie mit 0 einfügen, um das Skript zu verlassen, wenn Sie keine weiteren Server hinzufügen möchten.

Grafana einrichten

Loggen Sie sich in das Grafana-Dashboard ein, indem Sie die Adresse Grafana-IP:3000 im Browser aufrufen.

Gehen Sie zu Einstellungen > Datenquellen.

Klicken Sie auf Datenquelle hinzufügen.

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

Suchen und wählen Sie Prometheus aus.

Geben Sie einen Namen wie „Prometheus“ ein und die URL (Prometheushostname:9090), und klicken Sie auf “Speichern & Testen”. Wenn Sie “Die Datenquelle funktioniert” sehen, haben Sie die Datenquelle erfolgreich hinzugefügt. Danach gehen Sie zu Erstellen > Importieren.

Sie können das Dashboard manuell einrichten oder das Dashboard importieren, indem Sie die JSON-Datei hochladen. Ein JSON-Vorlage für die Überwachung von Redis kann Sie in folgchem Link finden:

Füllen Sie die Felder aus und importieren Sie sie.

Das Grafana-Dashboard ist fertig. Wählen Sie den Host aus und überprüfen Sie, ob die Metriken sichtbar sind. Verändern und bearbeiten Sie das Dashboard freiwillig, wie Sie es brauchen.

Fazit

In diesem Tutorial haben Sie gelernt, das Redis-Exporter-Skript auf Ihren Servern automatisch zu部署en. Der Skriptbeginn beginnt mit der Überprüfung, ob die Unitdatei redis_exporter.service bereits existiert und beendet das Skript, wenn dies der Fall ist, um doppelte Einrichtungen zu vermeiden. Anschließend erstellt es einen Prometheus-Systembenutzer und -gruppe für die sichere Dienstisolierung. Der Skriptlader lädt herunter und installiert die Redis-Exporter-Binaries und plaziert sie in /usr/local/bin/ für Standardisierung.

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