# 007 安全&监控

## 七、Redis 安全&监控

### 7.1 监控

* 实际应用中需要对缓存关键数据进行监控

| **分类**      | **指标**  | **获取参数**             | **具体参数**                            | **示例**                                                                                           | **说明**                               |
| ----------- | ------- | -------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------ |
| **内存使用情况**  | 内存占用量   | **INFO memory**      | **used\_memory**                    | 123456789                                                                                        | Redis实例当前使用的内存总量，单位为字节。              |
|             | 内存碎片情况  | **INFO memory**      | **fragmentation\_ratio**            | 1.23                                                                                             | Redis实例内存碎片比率，通常为内存碎片大小与内存总量的比值。     |
| **命中率**     | 缓存命中率   | **INFO stats**       | **keyspace\_hits**                  | 1000000                                                                                          | 缓存命中次数，表示成功从缓存中获取数据的次数。              |
|             |         |                      | **keyspace\_misses**                | 50000                                                                                            | 缓存未命中次数，表示从缓存中未能成功获取数据的次数。           |
| **键空间统计**   | 键的数量    | **INFO keyspace**    | -                                   | -                                                                                                | Redis实例当前存储的键的数量。                    |
|             | 过期键的数量  | **INFO keyspace**    | -                                   | -                                                                                                | Redis实例当前存储的过期键的数量。                  |
| **连接数**     | 当前连接数   | **INFO clients**     | **connected\_clients**              | 1000                                                                                             | 当前连接到Redis实例的客户端数量。                  |
| **持久化操作**   | 持久化操作频率 | **INFO persistence** | **rdb\_changes\_since\_last\_save** | 20000                                                                                            | 上次RDB持久化操作后发生的变更数量。                  |
|             | 持久化文件大小 | **INFO persistence** | **rdb\_last\_bgsave\_time\_sec**    | 1617114423                                                                                       | 上次RDB持久化操作的时间戳，单位为秒。                 |
| **主从同步延迟**  | 同步延迟情况  | **INFO replication** | **slave\_repl\_offset**             | 123456789                                                                                        | 主从同步偏移量，表示从节点与主节点之间的复制进度。            |
| **网络流量**    | 入流量     | **INFO stats**       | **total\_net\_input\_bytes**        | 100000000                                                                                        | Redis实例接收的总网络流量，单位为字节。               |
|             | 出流量     | **INFO stats**       | **total\_net\_output\_bytes**       | 200000000                                                                                        | Redis实例发送的总网络流量，单位为字节。               |
| **慢查询**     | 慢查询数量   | **SLOWLOG LEN**      | -                                   | 50                                                                                               | Redis实例记录的慢查询数量。                     |
|             | 慢查询响应时间 | **SLOWLOG GET**      | -                                   | \[{"id":1,"timestamp":1617114423,"duration":500},{"id":2,"timestamp":1617114422,"duration":600}] | Redis实例记录的慢查询信息，包括ID、时间戳和查询响应时间。     |
| **CPU 使用率** | CPU 使用率 | **INFO CPU**         | **used\_cpu\_sys**                  | 50.0                                                                                             | Redis实例的系统CPU使用率，表示Redis进程占用的CPU百分比。 |

##
