文章目录
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


2846

被折叠的 条评论
为什么被折叠?



