监控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不显示数据

效果


posted @ 2021-11-20 15:25  哈喽哈喽111111  阅读(1796)  评论(0编辑  收藏  举报