Redis
Redis 是一个开源、支持网络、基于内存、键值对存储数据库,使用 ANSI C 编写。根据月度排行网站 DB-Engines.com 的数据显示,Redis 是最流行的键值对存储数据库。
Cloud Insight 通过收集 Redis 连接访问情况来监控,可视化 Redis 性能。
性能指标
Cloud Insight 采集 Redis 以下性能指标:
指标 | 单位 | 具体含义 |
---|---|---|
redis.aof.buffer_length | bytes | AOF 缓冲区大小 |
redis.aof.last_rewrite_time | seconds | 上次 AOF 重写(rewrite)的持续时间 |
redis.aof.rewrite | AOF 重写(rewrite)的次数 | |
redis.aof.size | bytes | AOF 当前文件大小(aof_current_size) |
redis.clients.biggest_input_buf | 当前客户端连接的最大输入缓存 | |
redis.clients.blocked | connections | 等待阻塞调用的连接数 |
redis.clients.longest_output_list | 当前客户端连接的最长输出列表 | |
redis.cpu.sys | seconds | Redis 服务器消耗的系统 CPU |
redis.cpu.sys_children | seconds | 后台进程消耗的系统 CPU |
redis.cpu.user | seconds | Redis 服务器消耗的用户 CPU |
redis.cpu.user_children | seconds | 后台进程消耗的用户 CPU |
redis.expires | keys | 已过期的 key 数量 |
redis.expires.percent | percent | 已过期的 key 百分比 |
redis.info.latency_ms | milliseconds | Redis info 命令的延迟 |
redis.key.length | 给定 key 中元素的数量 | |
redis.keys | keys | Key 的总数量 |
redis.keys.evicted | keys | 由于最大内存限制被驱逐(evict)的 key 的总数量 |
redis.keys.expired | keys | 数据库中过期的 key 的总数量 |
redis.mem.fragmentation_ratio | fractions | used_memory_rss 和 used_memory 的比率 |
redis.mem.lua | bytes | Lua 引擎使用的内存量 |
redis.mem.peak | bytes | Redis 使用的内存的峰值 |
redis.mem.rss | bytes | 系统给 Redis 分配的内存 |
redis.mem.used | bytes | 已经被 Redis 分配的内存量 |
redis.net.clients | connections | 连接的客户端数 (不包括 slaves) |
redis.net.commands | commands | 服务器运行的命令数 |
redis.net.rejected | connections | 被拒绝的连接数 |
redis.net.slaves | connections | 连接的 slave 数 |
redis.perf.latest_fork_usec | microseconds | 最新 fork 的持续时间 |
redis.persist | keys | 持久化的 key 数(redis.keys - redis.expires) |
redis.persist.percent | percent | 持久化的 key 的百分比 |
redis.pubsub.channels | 活跃的发布/订阅的频道数量 | |
redis.pubsub.patterns | 活跃的发布/订阅的模式数量 | |
redis.rdb.bgsave | 一个标志值,记录了服务器是否正在创建 RDB 文件,正在进行中是 1,否则是 0 | |
redis.rdb.changes_since_last | 上次后台保存后,RDB 的改动 | |
redis.rdb.last_bgsave_time | seconds | 最近一次 bg_save 操作的持续时间 |
redis.replication.backlog_histlen | bytes | 积压在同步缓冲区的数据量 |
redis.replication.delay | offsets | 复制延迟的偏移 |
redis.replication.last_io_seconds_ago | seconds | 距离最近一次与主服务器行通信已经过去了多少秒钟 |
redis.replication.master_link_down_since_seconds | seconds | 主从服务器连接断开了多少秒 |
redis.replication.master_repl_offset | offsets | 从 master 报告的复制偏移量 |
redis.replication.slave_repl_offset | offsets | 从 slave 报告的复制偏移量 |
redis.replication.sync | 一个标志值,如果同步正在进行,则为 1,否则为 0 | |
redis.replication.sync_left_bytes | bytes | 距离同步完成还剩多少数据量 |
redis.slowlog.micros.95percentile | microseconds | 在慢日志中,查询报告的持续时间的第 95 百分位值 |
redis.slowlog.micros.avg | microseconds | 在慢日志中,查询报告的持续时间平均值 |
redis.slowlog.micros.count | queries/second | 在慢日志中,报告的查询速率 |
redis.slowlog.micros.max | microseconds | 在慢日志中,查询报告的持续时间最大值 |
redis.slowlog.micros.median | microseconds | 在慢日志中,查询报告的持续时间中位值 |
redis.stats.keyspace_hits | keys | 在数据库中查找 key 成功的次数 |
redis.stats.keyspace_misses | keys | 在数据库中查找 key 失败的次数 |
配置 Redis 监控
编辑配置文件
编辑配置文件 conf.d/redisdb.yaml,使 Cloud Insight Agent 可以与 Redis 通信。
init_config:
instances:
- host: localhost
port: 6379
password: mypassword
tags:
- tag_key1:tag_value1
- tag_key2:tag_value2
keys:
- queue1
重启 Agent
重启 Cloud Insight Agent,使配置生效。 您也可以通过查看 Agent Info 信息,来验证配置是否成功。当出现以下信息,则代表安装成功'。
Checks
======
[...]
redisdb
-------
- instance #0 [OK]
- Collected 8 metrics & 0 events
有关 Agent Info 信息的查看,请访问帮助中心,查看 Cloud Insight Agent 常用操作。
默认标签
Cloud Insight 采集 Redis 以下默认主机标签:
标签种类 | 标签含义 |
---|---|
redis_host | 主机名称(例如 "redis_master") |
redis_port | 主机端口(例如 "6379") |
redis_db | 数据库实例(例如 "db0") |
key | 键名(例如 "test") |
常见问题
- 若要在同一个服务器上监控多个相同的平台服务,参考如何监控多个平台服务。
- 有任何关于产品的使用疑惑,参考常见问题。