redis监控状态
Redis介绍
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表、哈希、集合和有序集合5种。支持在服务器端计算集合的并、交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。
Redis监控
首先判断客户端和服务器连接是否正常
1
2
3
4
5
6
7
|
# 客户端和服务器连接正常,返回PONG redis> PING PONG # 客户端和服务器连接不正常(网络不正常或服务器未能正常运行),返回连接异常 redis 127.0 . 0.1: 6379 > PING Could not connect to Redis at 127.0 . 0.1: 6379: Connection refused |
Redis 监控最直接的方法就是使用系统提供的 info 命令,只需要执行下面一条命令,就能获得 Redis 系统的状态报告。
1
|
redis-cli info |
结果会返回 Server、Clients、Memory、Persistence、Stats、Replication、CPU、Keyspace 8个部分。从info大返回结果中提取相关信息,就可以达到有效监控的目的。
先解释下各个参数含义
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# Server redis_version: 2.8 . 8 # Redis 的版本 redis_git_sha 1: 00000000 redis_git_dirty: 0 redis_build_id:bf 5 d 1747 be 5380 f redis_mode:standalone os:Linux 2.6 . 32 -220.7 . 1 .el 6 .x 86 _ 64 x 86 _ 64 arch_bits: 64 multiplexing_api:epoll gcc_version: 4.4 . 7 #gcc版本 process_id: 49324 # 当前 Redis 服务器进程id run_id:bbd 7 b 17 efcf 108 fdde 285 d 8987 e 50392 f 6 a 38 f 48 tcp_port: 6379 uptime_in_seconds: 1739082 # 运行时间(秒) uptime_in_days: 20 # 运行时间(天) hz: 10 lru_clock: 1734729 config_file:/home/s/apps/RedisMulti_video_so/conf/zzz.conf # Clients connected_clients: 1 #连接的客户端数量 client_longest_output_list: 0 client_biggest_input_buf: 0 blocked_clients: 0 # Memory used_memory: 821848 #Redis分配的内存总量 used_memory_human: 802.59 K used_memory_rss: 85532672 #Redis分配的内存总量(包括内存碎片) used_memory_peak: 178987632 used_memory_peak_human: 170.70 M #Redis所用内存的高峰值 used_memory_lua: 33792 mem_fragmentation_ratio: 104.07 #内存碎片比率 mem_allocator:tcmalloc -2.0 # Persistence loading: 0 rdb_changes_since_last_save: 0 #上次保存数据库之后,执行命令的次数 rdb_bgsave_in_progress: 0 #后台进行中的 save 操作的数量 rdb_last_save_time: 1410848505 #最后一次成功保存的时间点,以 UNIX 时间戳格式显示 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec: 0 rdb_current_bgsave_time_sec: -1 aof_enabled: 0 #redis是否开启了aof aof_rewrite_in_progress: 0 aof_rewrite_scheduled: 0 aof_last_rewrite_time_sec: -1 aof_current_rewrite_time_sec: -1 aof_last_bgrewrite_status:ok aof_last_write_status:ok # Stats total_connections_received: 5705 #运行以来连接过的客户端的总数量 total_commands_processed: 204013 # 运行以来执行过的命令的总数量 instantaneous_ops_per_sec: 0 rejected_connections: 0 sync_full: 0 sync_partial_ok: 0 sync_partial_err: 0 expired_keys: 34401 #运行以来过期的 key 的数量 evicted_keys: 0 #运行以来删除过的key的数量 keyspace_hits: 2129 #命中key 的次数 keyspace_misses: 3148 #没命中key 的次数 pubsub_channels: 0 #当前使用中的频道数量 pubsub_patterns: 0 #当前使用中的模式数量 latest_fork_usec: 4391 # Replication role:master #当前实例的角色master还是slave connected_slaves: 0 master_repl_offset: 0 repl_backlog_active: 0 repl_backlog_size: 1048576 repl_backlog_first_byte_offset: 0 repl_backlog_histlen: 0 # CPU used_cpu_sys: 1551.61 used_cpu_user: 1083.37 used_cpu_sys_children: 2.52 used_cpu_user_children: 16.79 # Keyspace db 0: keys= 3 ,expires= 0 ,avg_ttl= 0 #各个数据库的 key 的数量,以及带有生存期的 key 的数量 |
内存使用
如果 Redis 使用的内存超出了可用的物理内存大小,那么 Redis 很可能系统会被杀掉。针对这一点,你可以通过 info 命令对 used_memory 和 used_memory_peak 进行监控,为使用内存量设定阀值,并设定相应的报警机制。当然,报警只是手段,重要的是你得预先计划好,当内存使用量过大后,你应该做些什么,是清除一些没用的冷数据,还是把 Redis 迁移到更强大的机器上去。
持久化
如果因为你的机器或 Redis 本身的问题导致 Redis 崩溃了,那么你唯一的救命稻草可能就是 dump 出来的rdb文件了,所以,对 Redis dump 文件进行监控也是很重要的。可以通过对rdb_last_save_time 进行监控,了解最近一次 dump 数据操作的时间,还可以通过对rdb_changes_since_last_save进行监控来获得如果这时候出现故障,会丢失(即已改变)多少数据。
Keys
通过获取Keyspace中的结果得到各个数据库中key的数量
QPS
即每分钟执行的命令个数,即:(total_commands_processed2-total_commands_processed1)/span,为了实时得到QPS,可以设定脚本在后台运行,记录过去几分钟的total_commands_processed。在计算QPS时,利用过去的信息和当前的信息得出QPS的估计值。
PING
使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。
通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。
- 可用版本:
- >= 1.0.0
- 时间复杂度:
- O(1)
- 返回值:
- 如果连接正常就返回一个 PONG ,否则返回一个连接错误。
# 客户端和服务器连接正常 redis> PING
PONG # 客户端和服务器连接不正常(网络不正常或服务器未能正常运行) redis 127.0.0.1:6379> PING
Could not connect to Redis at 127.0.0.1:6379: Connection refused
redis监控状态的更多相关文章
- Open-Falcon 监控系统监控 MySQL/Redis/MongoDB 状态监控
背景: Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案,具体的安装和使用说明请见官网:http://open-falcon.org/,是一款比较全的监控.而且提供各种API ...
- zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态
zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...
- DB监控-redis监控
公司的redis业务很多,redis监控自然也是DB监控的一大模块,包括采集.展示.监控告警.本文主要介绍redis监控的主要指标和采集方法. 一.Redis监控系统逻辑 1.DBA通过前台页面添加r ...
- [转]细说Redis监控和告警
原文 https://zhuoroger.github.io/2016/08/20/redis-monitor-and-alarm/? 对于任何应用服务和组件,都需要一套完善可靠谱监控方案. 尤其r ...
- Redis监控技巧(转)
来自:http://blog.nosqlfan.com/html/4166.html Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,你只需要执行下面一条命令,就能获得 Re ...
- Redis监控方案
Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,你只需要执行下面一条命令,就能获得 Redis 系统的状态报告. redis-cli info 内存使用 如果 Redis 使 ...
- Redis监控
首先判断客户端和服务器连接是否正常 # 客户端和服务器连接正常,返回PONG redis> PING PONG # 客户端和服务器连接不正常(网络不正常或服务器未能正常运行),返回连接异常 re ...
- 做个简单的Redis监控(源码分享)
Redis监控 Redis 是目前应用广泛的NoSQL,我做的项目中大部分都是与Redis打交道,发现身边的朋友也更多人在用,相对于memcached 来说,它的优势也确实是可圈可点.在随着业务,数据 ...
- redis查看状态信息
redis查看状态信息 info all|default Info 指定项 server服务器信息 redis_version : Redis 服务器版本 redis_git_sha1 : Git S ...
随机推荐
- Java遇见HTML——JSP篇之JavaWeb简介
一.什么是WEB应用程序 Web应用程序是一种可以通过Web(互联网)访问的应用程序.Web应用程序的一个最大好处是用户很容易访问应用程序.用户只需要有浏览器即可,不需要再安装其他软件. 为什么要学习 ...
- 第四篇 SQL Server代理配置数据库邮件
本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...
- RFS_窗口或区域之间的切换
1. 测试用例描述 [前置条件]: 1. 已经登录系统 [测试步骤]: 1. 验证登录成功 2. 选择[用户管理]菜单 3. 打开[新增用户]页面 4. 输入必填字段,点击[Submit]按钮 [预 ...
- iOS 自定义UIButton(图片和文字混合)
// UIApplicationDelegate .h文件 #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder &l ...
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之三---角色管理源码分享
使用Jquery+EasyUI 进行框架项目开发案例讲解之三 角色管理源码分享 在上两篇文章 <使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享> ...
- js 多选题选项内容显示在标题下
<body><div class="page-container"> <div class="view-container"> ...
- 理解JDBC和JNDI
下面的英文是我找过来的,因为是英文所以不敢翻译出来误导别人,但是它描述的确实恰到好处,比所谓网上的JNDI和JDBC云云的解释要精辟很多,如果遇到不认识的单词,用有道吧~~:) The Java Na ...
- 不等高cell搭建(二)
一.commentView模块搭建 commentView样式分为两种 1.xib搭建界面 1.1 因为评论的样式大体上一样,我们可以用同一个xib来处理 1.2 最热评论 用 ...
- Jquery 知识表
- Subversion how[Reprint]
1. Subversion简介 Subversion(简称SVN)是一款功能强大的开源版本控制工具,支持Linux和Windows平台. SVN可以有两个访问方式,一种是独立服务器直接访问,即利用 ...