监控Redis集群--废弃,使用新教程

2022-11-01,,,,

prometheus监控redis需要用到redis_exporter。

redis_exporter 项目地址:https://github.com/oliver006/redis_exporter

1、安装部署

这里则部署在了Prometheus Server之上。

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

2、redis_exporter 用法

解压后只有一个二进制程序就叫 redis_exporter 通过 -h 可以获取到帮助信息,下面列出一些常用的选项:

-redis.addr:指明一个或多个 Redis 节点的地址,多个节点使用逗号分隔,默认为 redis://localhost:6379
-redis.password:验证 Redis 时使用的密码;
-redis.file:包含一个或多个redis 节点的文件路径,每行一个节点,此选项与 -redis.addr 互斥。
-web.listen-address:监听的地址和端口,默认为 0.0.0.0:9121

3,运行 redis_exporter 服务

创建 redis_exporter.service 启动脚本

vim /usr/lib/systemd/system/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.0.254:6371
Restart=on-failure [Install]
WantedBy=multi-user.target

注意:关于redis的相关信息,则在ExecStart配置项当中进行定义!

1.若是需要修改默认的监听端口,则修改成:ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.254:6371 -web.listen-address 0.0.0.0:9122

2.若是redis集群有密码,则修改成:ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.254:6371 -redis.password -web.listen-address 0.0.0.0:9122

若是修改默认监听端口的话,则在prometheus.yml文件中也需要做相应的修改

之所以要在启动命令中配置一个:-redis.addr 192.168.0.254:6371 也就是集群中的随意一个地址,是因为只要能连接到一个集群的一个节点,自然就能查询其他节点的指标了。否则不配置这个的话,日志中则会报错:level=error msg="Couldn't connect to redis instance"

redis_exporter 使用 prometheus 用户运行,所以需要创建该用户

groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus # 若有用户,则直接执行这个
chown -R prometheus.prometheus /usr/local/redis_exporter

启动服务:

systemctl daemon-reload
systemctl start redis_exporter
systemctl status redis_exporter
systemctl enable redis_exporter
ss -tulnp | grep 9121

4、配置 prometheus.yml 添加监控目标

vim /usr/local/prometheus/prometheus.yml
- job_name: 'redis_cluster_targets'
static_configs:
- targets:
- redis://192.168.0.254:6371
- redis://192.168.0.254:6372
- redis://192.168.0.254:6373
- redis://192.168.0.254:6374
- redis://192.168.0.254:6375
- redis://192.168.0.254:6376
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.254:9121
## config for scraping the exporter itself
- job_name: 'redis_cluster'
static_configs:
- targets:
- 192.168.0.254:9121

重启服务。

systemctl restart prometheus

效果图:

5,配置 Grafana 的模板

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

下载后在 Grafana 中导入 json 模板就可以看到官方这样的示例截图啦:

监控Redis集群--废弃,使用新教程的相关教程结束。

《监控Redis集群--废弃,使用新教程.doc》

下载本文的Word格式文档,以方便收藏与打印。