The most comprehensive and important information about a Redis instance can be obtained with redis-cli with the INFO command. In this section, we will see how to use the INFO command to fetch these essential statistics.
Getting server information
Getting ready…
You need an up-and-running Redis Server as we described in the Starting and shutting down Redis recipe in this chapter.
How to do it...
Follow these steps to get server information of Redis:
- Connect to a Redis instance and then use the INFO command:
$ bin/redis-cli 127.0.0.1:6379> INFO
The result looks as follows:
# Server redis_version:4.0.1 ... # Clients connected_clients:1 ... # Memory used_memory:828352 used_memory_human:808.94K used_memory_rss:9420800 used_memory_rss_human:8.98M ...
# Persistence loading:0 rdb_changes_since_last_save:0 rdb_bgsave_in_progress:0 rdb_last_save_time:1504223311 ...
# Stats total_connections_received:1 total_commands_processed:1 instantaneous_ops_per_sec:0 ...
# Replication role:master connected_slaves:0 ...
# CPU used_cpu_sys:0.01 used_cpu_user:0.00 ...
# Cluster cluster_enabled:0
- You can select a specific section by adding an optional <section> parameter.
For example, you will get the memory metrics by sending INFO memory in redis-cli:
- Another way to get information from a Redis instance is by using redis-cli INFO directly in a shell command line. In this way, it is quite handy for piping the output to a script for metrics analysis or performance monitoring.
How it works...
The INFO command gives you all the current Redis metrics and the pattern of each metric is metric-name: metric-value, which can be easily parsed afterwards.
The following table summarizes the description of each section returned by INFO:
Section name |
Description |
Server |
Basic information about the Redis Server |
Clients |
Status and metrics of client connections |
Memory |
Overall memory consumption metrics |
Persistence |
Data persistence related states and metrics |
Stats |
General statistics |
Replication |
Status and metrics of master-slave replication |
CPU |
CPU consumption |
Cluster |
Status of Redis Cluster |
Keyspace |
Database related statistics |
There's more…
It is a common practice to build a Redis monitor application by getting information from the INFO command periodically.
See also
- Refer to the Health checking in Redis, Troubleshooting latency issues, and Troubleshooting memory issues sections in Chapter 10, Troubleshooting Redis for more detailed use of INFO for Redis maintenance operation and troubleshooting
- You can further refer to https://redis.io/commands/INFO, which lists the meanings of all the metrics returned by INFO