Prometheus监控Redis的详细配置

目录

前 言

技术架构

安装部署redis_exporter

1. 每个redis_exporter抓取一个redis的指标

配置选项

启动

Prometheus配置

2、一个redis_exporter抓取多个redis的指标

3. 在Kubernetes环境使用sidecar抓取redis的指标


前 言

使用Prometheus监控Redis

Github地址:GitHub - oliver006/redis_exporter: Prometheus Exporter for ValKey & Redis Metrics. Supports ValKey and Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x

技术架构

Prometheus通过redis_exporter抓取redis的指标,一个Prometheus可以配置多个redis_exporter,一个redis_exporter也可以抓取多个redis的指标

安装部署redis_exporter

1. 每个redis_exporter抓取一个redis的指标

主机上安装redis_exporter有两种方式,一种是git下redis_exporter的源码,本地使用go编译,第二种是直接下载redis_exporter的二进制包

编译安装(需要本机有go环境):

git clone https://github.com/oliver006/redis_exporter.git
cd redis_exporter
go build .
./redis_exporter –version

直接下载二进制安装:

​
~# cd /usr/local/
~#wget https://github.com/oliver006/redis_exporter/releases/download/v1.66.0/redis_exporter-v1.66.0.linux-amd64.tar.gz
~# tar zxvf redis_exporter-v1.66.0.linux-amd64.tar.gz
~# cd redis_exporter-v1.66.0.linux-amd64

配置选项

redis_exporter 常用的选项:

-redis.addr:指明一个或多个 Redis 节点的地址,多个节点使用逗号分隔,默认为 redis://localhost:6379

-redis.password:验证 Redis 时使用的密码;

-redis.file:包含一个或多个redis 节点的文件路径,每行一个节点,此选项与 -redis.addr 互斥。

-web.listen-address:监听的地址和端口,默认为 0.0.0.0:9121

其他选项参见GitHub - oliver006/redis_exporter: Prometheus Exporter for ValKey & Redis Metrics. Supports ValKey and Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x

启动

进入根目录下,输入以下命令:

cd redis_exporter-v1.66.0.linux-amd64
nohup ./redis_exporter -redis.addr 172.16.1.11:6379 &
tail -f nohup.out

注:-redis.addr 请修改相应环境redis服务地址,如同一台服务器部署了多个实例,全部都要填写

启动成功后,可以访问 http://172.16.1.11:9121/metrics/  (IP和端口要改成相应环境的)

看抓取的信息如下:

Prometheus配置

重启或重新热加载prometheus配置后,从Prometheus页面上即可看到redis的指标数据:

.

Grafana上导入Redis单机的Dashboard ID:763

2、一个redis_exporter抓取多个redis的指标

一个redis_exporter抓取多个redis时的配置与上面类似,如果这些redis属于同一个redis-cluster,redis_exporter只配置一个redis-cluster的节点即可获取所有节点的指标

Prometheus配置时需要将所有节点的IP:Port写全,所有节点的__address__都指向redis_exporter的IP:Port即可

redis_exporter通过/scrape路径暴露其他节点的指标数据

Grafana上导入redis_cluster的Dashboard ID: 17507

3. 在Kubernetes环境使用sidecar抓取redis的指标

Kubernetes环境上可以将redis和redis_exporter部署在同一个Pod中,redis_exporter直接通过Pod的网络栈直接导出redis的指标数据,deploy文件模版如下

部署成功后该Pod里包含两个container

Kubernetes集群内Pormetheus配置了Pod的自动发现,所以可以自动发现该redis的exporter

修改deploy的副本数量为2,Prometheus也能自动发现新产生的redis Pod

Grafana上导入redis的监控模版ID 763可以正常查看redis的相关指标


欢迎关注作者的公众号jnlikai,公众号每天分享运维干货文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值