監控Redis集群,有兩種方法


前提條件

redis集群:已搭建三主三從(三台主機)
prometheus、grafana已安裝
三台主機ip: 192.168.0.39,192.168.0.164,192.168.0.68

第一種方法和第二種方法

第一種方法需要再安裝 redis_exporter和prometheus,過程較麻煩,第二種方法就簡單很多
使用方法一的話,prometheus搭配alertmanager可以實現告警功能,使用方法二還沒找到咋配置告警功能

優先選擇使用第二種方法

第一種方法

數據路徑:redis集群-> redis_exporter -> prometheus -> grafana

安裝redis_exporter(三台都要操作)

cd /usr/local/src
wget https://github.com/oliver006/redis_exporter/releases/download/v1.31.4/redis_exporter-v1.31.4.linux-amd64.tar.gz
tar -zxv -f redis_exporter-v1.31.4.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv redis_exporter-v1.31.4.linux-amd64/ redis_exporter

groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
chown -R prometheus.prometheus /usr/local/redis_exporter

系統system啟動(三台都要操作,以此類推后面節點ip和端口根據實際情況修改)

# 一台主機2個節點

vim /usr/lib/systemd/system/redis_exporter6379.service

[Unit]
Description=redis_exporter6379
After=network.target

[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.68:6379 -redis.password 123456 -web.listen-address 192.168.0.68:59121
Restart=on-failure

[Install]
WantedBy=multi-user.target


vim /usr/lib/systemd/system/redis_exporter6380.service

[Unit]
Description=redis_exporter6380
After=network.target

[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.68:6380 -redis.password 123456 -web.listen-address 192.168.0.68:59122
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl daemon-reload

systemctl start redis_exporter6379
systemctl start redis_exporter6380

systemctl status redis_exporter6379
systemctl status redis_exporter6380

systemctl enable redis_exporter6379
systemctl enable redis_exporter6380

ss -tulnp | grep 5912

修改Prometheus配置

  - job_name: 'redis-cluster'
    scrape_interval: 5s
    static_configs:
    - targets:
      - redis://192.168.0.39:6379
      - redis://192.168.0.39:6380
      - redis://192.168.0.164:6379
      - redis://192.168.0.164:6380
      - redis://192.168.0.68:6379
      - redis://192.168.0.68:6380
    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.0.39:59121

  - job_name: 'redis_exporter'
    scrape_interval: 5s
    static_configs:
    - targets:
      - 192.168.0.39:59121
      - 192.168.0.39:59122
      - 192.168.0.164:59121
      - 192.168.0.164:59122
      - 192.168.0.68:59121
      - 192.168.0.68:59122

重新啟動Prometheus服務后再訪問,查看是否正常

在grafana中添加Prometheus數據源

在Grafana 中導入redis集群使用的dashboard

ID: 14615 面板效果

ID:14661 面板效果


第二種方法

數據路徑:redis集群-> redis data source -> grafana

使用 Grafana 的 Redis Data Source 插件監控 Redis

這里使用的數據源不是Prometheus,而是redis集群,需要安裝redis數據源插件,否則grafana里找不到redis數據源

官網地址:https://grafana.com/grafana/plugins/redis-datasource/

grafana-cli plugins install redis-datasource

重啟Grafana :systemctl restart grafana-server,添加redis數據源

選擇redis集模式,添加6個redis集群節點,設置redis集群訪問密碼。

添加使用數據源本身提供的dashboard,使用其他dashboard不顯示數據

效果



免責聲明!

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



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