监控redis命令--monitor--redis调试

原文链接: https://yq.aliyun.com/articles/316485

monitor是什么?

有时候我们需要知道客户端对redis服务端做了那些命令操作。我们可以试用monitor命令来查看。
他能清楚的看到客户端在什么时间点执行了那些命令

MONITOR 是一个调试命令,每个命令流回来的redis服务器处理。它可以帮助理解数据库中正在发生的事情。此命令可用于通过使用CLI通过telnet。看到所有的请求,由服务器处理为了点时使用Redis作为数据库和分布式缓存系统的一个应用程序错误的能力是非常有用的

效果如下


1507515946.410170 [0 10.10.8.20:56169] "AUTH" "123456"
1507515946.426931 [0 10.10.8.20:56169] "PING"
1507515946.458043 [0 10.10.8.20:56169] "INFO" "ALL"
1507515946.477740 [0 10.10.8.20:56169] "select" "1"
1507515946.485924 [1 10.10.8.20:56169] "select" "2"
1507515946.519736 [2 10.10.8.20:56169] "select" "3"
1507515946.536863 [3 10.10.8.20:56169] "select" "4"
1507515946.539574 [4 10.10.8.20:56169] "select" "5"
1507515946.556423 [5 10.10.8.20:56169] "select" "6"
1507515946.583890 [6 10.10.8.20:56169] "select" "7"
1507515946.618607 [7 10.10.8.20:56169] "select" "8"
1507515946.632856 [8 10.10.8.20:56169] "select" "9"
1507515946.635165 [9 10.10.8.20:56169] "select" "10"
1507515946.656267 [10 10.10.8.20:56169] "select" "11"
1507515946.683463 [11 10.10.8.20:56169] "select" "12"
1507515946.702956 [12 10.10.8.20:56169] "select" "13"
1507515946.721350 [13 10.10.8.20:56169] "select" "14"
1507515946.735145 [14 10.10.8.20:56169] "select" "15"
1507515946.751276 [15 10.10.8.20:56169] "select" "16"
1507515947.879896 [15 10.10.8.20:56169] "SELECT" "0"
1507515947.928903 [0 10.10.8.20:56171] "AUTH" "123456"
1507515947.930488 [0 10.10.8.20:56171] "PING"
1507515947.949174 [0 10.10.8.20:56171] "INFO" "ALL"
1507515948.362843 [0 10.10.8.20:56156] "PING"
1507515948.466909 [0 10.10.8.20:56169] "scan" "0" "MATCH" "*" "COUNT" "10000"
1507515949.498885 [0 10.10.8.20:56169] "type" "2"
1507515949.501959 [0 10.10.8.20:56169] "ttl" "2"
1507515949.528084 [0 10.10.8.20:56169] "SCARD" "2"
1507515950.300299 [0 10.10.8.20:56169] "type" "xxx"
1507515950.302353 [0 10.10.8.20:56169] "ttl" "xxx"
1507515950.891284 [0 10.10.8.20:56169] "GET" "xxx"
1507515952.951806 [0 10.10.8.20:56171] "INFO" "all"
1507515954.605228 [0 10.10.8.20:56169] "type" "2"
1507515954.612624 [0 10.10.8.20:56169] "ttl" "2"
1507515954.616165 [0 10.10.8.20:56169] "SCARD" "2"
1507515954.789474 [0 10.10.8.20:56169] "SSCAN" 

步骤

1、连接客户端

./redis-cli

2、输入密码

auth xxxxx      #xxxxx 表示密码

3、输入monitor命令

monitor

全部命令如下

[root@localhost src]# ./redis-cli 
127.0.0.1:6379> monitor
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> monitor
OK

4、客户端连接

可以直接在 redis-cli里输入命令,也可以是其他的客户端,monitor都可以监控到。这里用java为例
项目使用的是spring-boot, 源码可以到我的github或者码云中获取。

jar

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-redisartifactId>
        dependency>

yml文件

spring:
  redis:
    database: 0
    host: 10.10.20.100
    port: 6379
    password: 123456
    pool:
      max-active: 8
      max-wait: -1
      max-idle: 18
      min-idle: 0
    timeout: 0  

java文件

@Controller
@RequestMapping(value = "/test1")
public class SysTestController {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @ResponseBody
    @GetMapping(value = "/redisTest")
    public void redisTest(){
        stringRedisTemplate.opsForValue().set("xxx","dddd");
        stringRedisTemplate.opsForSet().add("2","x","c");
    }
}

5、请求接口

http://localhost:8081/test1/redisTest


监控台可以看到
1507515925.616458 [0 10.10.8.20:56156] "AUTH" "123456"
1507515925.751292 [0 10.10.8.20:56156] "SET" "xxx" "dddd"
1507515925.914660 [0 10.10.8.20:56156] "SADD" "2" "x" "c"

6、注意

redis需要设置密码和bind绑定的ip,在配置文件redis.conf中

我的官网

我的官网http://guan2ye.com
我的CSDN地址http://blog.csdn.net/chenjianandiyi
我的简书地址http://www.jianshu.com/u/9b5d1921ce34
我的githubhttps://github.com/javanan
我的码云地址https://gitee.com/jamen/
阿里云优惠券https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=vf2b5zld&utm_source=vf2b5zld

阿里云教程系列网站http://aliyun.guan2ye.com

我的开源项目spring boot 搭建的一个企业级快速开发脚手架

你可能感兴趣的:(监控redis命令--monitor--redis调试)