前提條件
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不顯示數據
效果