使用 Redis Exporter 服務監控 Redis 粒子

簡介

有效監控 Redis 數據庫對於维持最佳性能、識別潛在的瓶頸,以及確保整體系統的可靠性至關重要。Redis Exporter Service 是一個堅固的 Utilities,用於使用 Prometheus 監控 Redis 數據庫。

本教程將引導您完成 Redis Exporter Service 的完全設置和配置,確保您順暢地建立監控解決方案。通過遵循本教程,您將達到完全運作的監控設定,有效監控您的 Redis 數據庫的性能指標。

注意:本教程的設置時間約為 25 分鐘。

的先決條件

在開始之前,請確保您已準備以下先決條件:

  • 您需要在一個Ubuntu Droplet上設定和運行Redis數據庫服務器。您可以參考我們关于如何在Ubuntu上安裝和保護Redis的教學。您想要監控的服務器應該能夠從您计划安裝Redis導出服務的機器上访问。
  • 您需要SSH訪問Redis服務器以安裝和配置Redis導出服務。
  • Prometheus MySQL導出器與Prometheus整合以抓取度量數據,並與Grafana整合以進行的可視化。在此我們使用從DigitalOcean市場来的PrometheusGrafana映像來監控數據庫Droplet。

注意:在本文档中,我們將介紹兩種不同的方法來為監控 Redis 數據庫設定 Redis Exporter 服務。您可以選擇手動配置或基於腳本的自動化,它們分別適合不同的偏好和操作要求。請遵循每種方法的指示,有效地在您的基礎設施上部署 Redis Exporter 服務。這種靈活性讓您能夠選擇最佳的部署策略和操作 workflow 方法。

方法一:手動配置

我們将在本節中進行手動配置方法。

創建 Prometheus 系統用戶和組

創建一個名為 “prometheus” 的系統用戶和組,以管理 Export 服務。

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

下載和安裝 Redis Exporter

從 GitHub 下載 Redis Exporter 的最新釋出版本,解壓 downloaded 文件,並將 binary 搬移到 /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/

驗證 Redis Exporter 安裝

redis_exporter --version

以下是示例輸出:

為 Redis Exporter 配置 systemd 服務

創建一個 systemd 服務单元文件來管理 Redis Exporter 服務。

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

將以下內容添加到文件中:

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 並啟動 Redis Exporter 服務

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

配置 Prometheus 滴答 (手動方法)

我們將為手動配置設定 Prometheus 滴答。

備份 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:

添加要抓取的 Redis 匯出器端點

登錄到您的 Prometheus 服务器並添加要抓取的 Redis 匯出器端點。

將 IP 地址和端口替換為您的 Redis 匯出器端點 (9121 是 Redis 匯出器服務的默認端口)。

手動配置已完成。現在,讓我們繼續使用脚本進行配置。

方法 2: 使用腳本進行配置

您也可以通過運行兩個腳本來實現這一目標 – 一個用於目標droplet,另一個用於Prometheus droplet。

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

首先,我們來配置目標droplet。

chmod +x DO_Redis_Target_Config.sh

通過SSH連接到目標droplet。

./DO_Redis_Target_Config.sh

使用以下命令下載目標配置腳本:

腳本下載後,請確保它具有可執行權限,通過運行:

通過運行以下命令來執行腳本:

配置已完成。

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

注意: 如果redis_exporter.service文件已經存在,腳本將不會運行。

chmod +x DO_Redis_Prometheus_Config.sh

配置Prometheus Droplet(腳本方法)

./DO_Redis_Prometheus_Config.sh

通過SSH連接到Prometheus Droplet,並使用以下命令下載腳本:

腳本下載後,請確保它具有可執行權限,通過運行:

通過運行以下命令來執行腳本:

輸入要添加到監控的Droplet數量。

輸入主機名和IP地址。

配置已完成。

添加後,通過訪問URL prometheushostname:9090/targets 來檢查目標是否已更新。

注意: 如果您輸入的IP地址已經添加到監控中,您將被要求重新輸入詳細信息。此外,如果您沒有更多服務器要添加,您可以輸入0以退出腳本

配置Grafana

在瀏覽器上訪問Grafana-IP:3000以登錄Grafana控制面板。

配置 > 數據來源

點擊添加數據來源。

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

搜索並選擇Prometheus。

將名稱輸入為Prometheus,並輸入URL(Prometheushostname:9090),然後點擊“保存 & 測試”。如果您看到“數據來源正在工作”,則已成功添加了數據來源。完成后,轉到創建 > 導入

您可以手動配置控制面板,或通過上傳JSON文件來導入控制面板。Redis監控的JSON模板可在以下鏈接找到:

填寫字段並導入。

Grafana控制面板準備好了。選擇主機並檢查度量是否可见。請隨時根據需要修改和编辑控制面板。

結論

在本教程中,您學到了如何在您的服務器上自動部署 Redis Exporter。腳本始於檢查 redis_exporter.service 單位文件是否存在,如果存在則退出,避免重複設定。然後,它為安全的服務隔離創建了一個 Prometheus 系統用戶和組。腳本下載並安裝 Redis Exporter 二進制文件,將其放在 /usr/local/bin/ standardized。

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