Redis命令监控与简单分析

redis,命令,监控,简单,分析 · 浏览次数 : 74

小编点评

**命令监控脚本** **部分-1:文件操作** ```bash for i in `ls *monitor.log ` ; do tar -czvf ${i}.tar.gz $i rm -rf ${i} done ``` **部分-2:文件分析** ```bash cd /redismonitorcat date +%Y%m%d 01_redis_monitor.log | egrep '\"SCAN\" \"0\"' >/redismonitor/`date +%Y%m%d%H`_redis_monitor_scan.logcat date +%Y%m%d%H 01_redis_monitor.log | awk '{print $4}' |awk -F \"\\\"\" '{print $2}' |sort |uniq -c |sort -k1h >/redismonitor/`date +%Y%m%d%H`_redis_monitor_type.log/bin/redis-cli dbsize >/redismonitor/`date +%Y%m%d%H`_redis_monitor_dbsize.log ``` **分析命令类型数量和键值对数量** ```bash cat 2023041201_redis_monitor.log |grep -in \"\\\"match\\\" \\\"functionDistributedCacheName\" > scanfunctionDistributedCacheName.log ``` **计划任务** ```bash plan -e "/deploy/redismo1 */2 * * * /deploy/redismocheck每天凌晨一点一份开始监控" ``` **总结** 该脚本监控redis,并对扫描命令的类型和数量进行分析,以及键值对数量的统计。此外,还设置计划任务每天凌晨一点对redis进行监控。

正文

Redis命令监控与简单分析


前言

为了能够快速识别分析redis的命令
自己在环境上面进行了一些简单的跟踪以及脚本
这里不全是进行metrics, 细致到具体的命令分析

脚本部分-1

mkdir -p /redismonitor/ 
cd /redismonitor/ 
find . -mtime +10 -iname *redis_monitor.log.tar.gz -exec rm -rf {} \; 
sleep 10
kill -9 `ps -ef |grep redis-cli |grep monitor |grep -v grep | awk '{print $2}'`
for i in `ls *monitor.log ` ; do tar -czvf ${i}.tar.gz $i ; rm -rf ${i} ; done
sleep 10
nohup /bin/redis-cli monitor > /redismonitor/`date +%Y%m%d%H`_redis_monitor.log & 

删除十天前的备份.
将上一天的文件打包成tar包并且执行删除验文件操作.
执行monitor监控redis, 存储文日期时间的文件.

脚本部分-2

cd /redismonitor
cat `date +%Y%m%d`01_redis_monitor.log |egrep '"SCAN" "0"' >/redismonitor/`date +%Y%m%d%H`_redis_monitor_scan.log
cat `date +%Y%m%d`01_redis_monitor.log | awk '{print $4}' |awk -F "\"" '{print $2}' |sort |uniq -c |sort -k1h  >/redismonitor/`date +%Y%m%d%H`_redis_monitor_type.log
/bin/redis-cli dbsize >/redismonitor/`date +%Y%m%d%H`_redis_monitor_dbsize.log

分析所有的scan命令.
分析所有的指令类型并且进行排序.
分析当前redis的键值对数量.

非自动执行的脚本

cat 2023041201_redis_monitor.log |grep -in "\"match\" \"functionDistributedCacheName" > scanfunctionDistributedCacheName.log

分析scan命令分组情况.

计划任务处理

1 1 * * * /deploy/redismo
1 */2 * * * /deploy/redismocheck

每天凌晨一点一份开始监控.
每两个小时查看一下redis信息 归集出接过来.

与Redis命令监控与简单分析相似的内容:

Redis命令监控与简单分析

Redis命令监控与简单分析 前言 为了能够快速识别分析redis的命令 自己在环境上面进行了一些简单的跟踪以及脚本 这里不全是进行metrics, 细致到具体的命令分析 脚本部分-1 mkdir -p /redismonitor/ cd /redismonitor/ find . -mtime +

[转帖]抛砖系列之redis监控命令

处理一下.. 前言 redis是一款非常流行的kv数据库,以高性能著称,其高吞吐、低延迟等特性让广大开发者趋之若鹜,每每看到别人发出的redis故障报告都让我产生一种居安思危,以史为鉴的危机感,恰逢今年十一西安烟雨不断,抽时间学习了几个redis监控命令,和大家分享一波。 redis-cli --s

[转帖]Redis命令DEL与UNLINK的区别,如何正确删除大Key!

https://www.itxm.cn/post/47824.html 背景 在这篇文章中做过使用del命令删除大key的实验,结果是del命令随着key的增大,主线程阻塞的时间就越长。 这与之前看redis5.0.8版本的代码中关于多线程删除操作的感官不符,于是决定先查看redis关于删除操作的代

[转帖]Redis命令详解:Keys

https://jackeyzhe.github.io/2018/09/22/Redis%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3%EF%BC%9AKeys/ 介绍完Redis连接相关命令后,再来介绍一下与Key相关的命令,Redis作为一个key-value数据库,对

[转帖]Redis 慢查询分析

https://www.zeekling.cn/articles/2020/07/23/1595493094855.html 简介 慢查询,顾名思义就是比较慢的查询,但是究竟是哪里慢呢?首先,我们了解一下Redis命令执行的整个过程: 20200322150028330.jpg 发送命令 命令排队

Python学习之十九_程序运行时间的验证

# Python学习之十九_程序运行时间的验证 ## 背景 ``` 最近一段时间比较忙. 而且还遇到了一个lua脚本优化redis访问的场景. 想着自己还在学习python(时断时续) 所以想借着这个场景,学习一下python连接redis,以及验证lua脚本和原生redis命令的效率问题. 虽然方

Redis monitor命令

MONITOR Syntax MONITOR Available since:1.0.0Time complexity:ACL categories:@admin, @slow, @dangerous MONITOR is a debugging command that streams back

[转帖]Redis SCAN命令详解

https://www.jb51.net/article/257083.htm 处理一下.. SCAN 命令是一个基于游标的迭代器,每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数, 以此来延续之前的迭代过程,这篇文章给大家介绍了Red

[转帖]Redis Info 命令

https://www.runoob.com/redis/server-info.html Redis Info 命令以一种易于理解和阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。 通过给定可选的参数 section ,可以让命令只返回某一部分的信息: server : 一般 Red

[转帖]Redis各种命令时间复杂度一览表

String类型 命令时间复杂度set0(1)get0(1)del0(k),k是键的个数mset0(k),k是键的个数mget0(k),k是键的个数incr0(1)decr0(1)incryby0(1)decryby0(1)incrybyfloat0(1)append0(1)strlen0(1)se