Prometheus运维十一 监控Redis

1.安装部署

1.1 安装Prometheus

部署Prometheus请点击此链接:https://blog.csdn.net/ZhanBiaoChina/article/details/107024115

1.2 安装redis

部署redis请点击此链接:http://note.youdao.com/noteshare?id=905e177672b21c6667647a6220f2b0c3&sub=B3462C0DFD7141B8994591AE951FE63A

2.安装redis_exporter

prometheus监控redis需要用到redis_exporter。
redis_exporter 项目地址:https://github.com/oliver006/redis_exporter

2.1下载安装redis_exporter

$ cd /usr/local/src
$ wget https://github.com/oliver006/redis_exporter/releases/download/v0.21.2/redis_exporter-v0.21.2.linux-amd64.tar.gz
$ mkdir /usr/local/redis_exporter/
$ tar zxf redis_exporter-v0.21.2.linux-amd64.tar.gz -C /usr/local/redis_exporter/

2.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

2.3创建redis_exporter.service启动脚本

vim /etc/systemd/system/redis_exporter.service
#添加如下内容:
[Unit]
Description=redis_exporter
Documentation=https://github.com/oliver006/redis_exporter
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr xxx.xxx.xxx.xxx:6379  -redis.password 123456
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动服务

$ systemctl daemon-reload
$ systemctl start redis_exporter
$ systemctl status redis_exporter
$ ss -tnl|grep 9121

redis_up来确认是否正常连接redis实例,1代表正常连接!
在这里插入图片描述

2.4 集成Prometheus

$ vim /usr/local/prometheus/prometheus.yml
  - job_name: redis
    static_configs:
    - targets: ['localhost:9121']

重启服务。

$ systemctl restart prometheus

在这里插入图片描述

3.redis监控指标

监控Redis可以解决两个问题:Redis本身的资源问题以及支持基础架构中其他地方出现的问题

3.1 性能指标:Performance metrics

除错误率低外,良好的性能是系统健康状况的最佳顶级指标之一。性能不佳通常是由内存问题引起的。

name Description Type
latency Redis服务器平均响应请求的时间 Performance
instantaneous_ops_per_sec 平均每秒处理请求总数 Throughput
hit rate (calculated) 缓存命中率(计算出来的)keyspace_hits / (keyspace_hits + keyspace_misses) Success

1.需要告警的指标: latency(延迟)
延迟是客户端请求与实际服务器响应之间的时间的度量。跟踪延迟是检测Redis性能变化的最直接方法。
由于Redis的单线程特性,异常情况下的延迟可能会导致严重的瓶颈。一个请求的长响应时间会增加所有后续请求的延迟。

哪些因素会引起延迟?
1.slowlog 慢查询引起的延迟

slowlog-log-slower-than: 慢查询时间阈值,超过这个阈值的查询将会被记录,默认值10000,但是微妙,也即10毫秒。
slowlog-max-len:慢查询日志最大条数,默认值128,先进先出的队列的形式记录在内存中。
slowlog-get n:获取前n条慢查询日志
127.0.0.1:6379> CONFIG GET slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "10000"
127.0.0.1:6379> CONFIG GET slowlog-max-len
1) "slowlog-max-len"
2) "128"
127.0.0.1:6379> SLOWLOG get 10
(empty list or set)

2.网络延迟
redis-cli --latency 命令用来检测网络延迟,输出的时间单位为毫秒。
它通过Redis PING命令测量Redis服务器响应的时间(以毫秒为单位)来实现这一点。
r

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值