prometheus監控redis,redis-cluster


Prometheus監控redis使用的是redis_exporter, 作者GitHub: https://github.com/oliver006/redis_exporter

需要說明的是: redis_exporter 對於redis集群的監控表現不是太好, 作者建議為每個redis 實例啟動一個 redis_exporter, 如果一個服務器節點啟動了多個redis進程, 就需要啟動多個 redis_exporter

如果采用一個redis_exporter 采集多個 redis node 會導致其中一個 redis node 連不上.

1. redis_exporter安裝配置

# 下載redis_exporter
wget https://github.com/oliver006/redis_exporter/releases/download/v1.3.4/redis_exporter-v1.3.4.linux-amd64.tar.gz
# 解壓
tar xzf redis_exporter-v1.3.4.linux-amd64.tar.gz 
# 刪除下載的文件
rm -f redis_exporter-v1.3.4.linux-amd64.tar.gz 
# 安裝redis_exporter
mv redis_exporter-v1.3.4.linux-amd64 /usr/local/
ln -sv /usr/local/redis_exporter-v1.3.4.linux-amd64 /usr/local/redis_exporter

2. redis_exporter啟動

# 直接啟動。
## 無密碼
./redis_exporter redis//192.168.11.110:6379 &
## 有密碼
redis_exporter  -redis.addr 192.168.11.111:6379  -redis.password 123456

啟動參數說明:

  • -redis.addr:指明 Redis 節點的地址,默認為 redis://localhost:6379(如果有多個redis實例, redis_exporter作者建議啟動多個redis_exporter進程來進行監控數據獲取)
  • -redis.password:驗證 Redis 時使用的密碼;
  • -redis.file:包含一個或多個redis 節點的文件路徑,每行一個節點,此選項與 -redis.addr 互斥。
  • -web.listen-address:監聽的地址和端口,默認為 0.0.0.0:9121

3. 配置redis_exporter為系統服務方式啟動

# 添加redis_exporter啟動用戶
groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
# 創建redis_exporter系統服務配置文件及權限調整
touch /usr/lib/systemd/system/redis_exporter.service
chown prometheus:prometheus /usr/lib/systemd/system/redis_exporter.service
chown -R prometheus:prometheus /usr/local/redis_exporter*
vim /usr/lib/systemd/system/redis_exporter.service 

# 將如下內容寫入到redis_exporter.service文件中
[Unit]
Description=redis_exporter
Documentation=https://github.com/oliver006/redis_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.11.110:6379 -redis.password 0NZcyqRqLUteci7D
Restart=on-failure
[Install]
WantedBy=multi-user.target

然后執行如下命令:

# 重載配置
systemctl daemon-reload
# 設置開機啟動
systemctl enable redis_exporter
啟動redis_exporter
systemctl start redis_exporter
# 查看redis_exporter啟動狀態
systemctl status redis_exporter
ss -tnl|grep 9121
netstat -tlnp |grep redis_exporte
tcp6       0      0 :::9121                 :::*                    LISTEN      22566/redis_exporte 

至此, redis服務器端的redis_exporter已安裝配置完成, 接下來配置Prometheus server, 將redis_exporter采集到的數據獲取過來, 然后配置到Grafana中展示

4. 配置Prometheus server

4.1 加入redis_exporter配置

vim /usr/local/prometheus/prometheus.yml

將如下內容加入到Prometheus配置文件中

  - job_name: 'PRO_REDIS_CULSTER'                                                                                        
    static_configs:                                                                                                      
      - targets:                                                                                                         
        - redis://192.168.11.110:6379                                                                                      
    metrics_path: /scrape                                                                                                
    relabel_configs:                                                                                                     
      - source_labels: [__address__]                                                                                     
        target_label: __param_target                                                                                     
      - source_labels: [__param_target]                                                                                  
        target_label: instance                                                                                           
      - target_label: __address__                                                                                        
        replacement: 192.168.11.110:9121                                                                                   
  ## config for scraping the exporter itself                                                                             
  - job_name: 'redis_exporter'                                                                                           
    static_configs:                                                                                                      
      - targets:                                                                                                         
        - 192.168.11.110:9121

或者添加如下配置到Prometheus配置文件中

  - job_name: 'redis'
    scrape_interval: 10s
    static_configs:
      - targets:
        - ['192.168.11.110:9121']

4.2 重新加載Prometheus server配置

curl -X POST http://10.86.78.175:9090/-/reload

5. 配置Grafana展示

redis_exporter 在 Grafana 上為我們提供好了 Dashboard 模板:https://grafana.com/dashboards/763

 根據文章https://www.cnblogs.com/miaocbin/p/12009974.html中描述的方法, 導入redis看板.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM