MONITOR(3valkey)

πŸ“¦
version 9.0.6 Β· 2 versions
, in fedora 44

🌸 MONITOR(3valkey) β€” the valkey command manual, bestie edition 🌸

okay so this is the manual page for MONITOR from the Valkey Command Manual. yes it's a real page, yes it's iconic, let's get into it πŸ’…


✨ NAME ✨

monitor β€” Listens for all requests received by the server in real-time.

πŸ¦‹ SYNOPSIS πŸ¦‹

MONITOR

πŸ’– DESCRIPTION πŸ’–

okay so MONITOR is a debugging command that streams back every single command processed by the Valkey server. it's giving surveillance but make it helpful πŸ’€ it can help in understanding what is happening to the database. and the best part? this command can both be used via valkey-cli and via telnet. versatile queen πŸ‘‘

the ability to see all the requests processed by the server is useful in order to spot bugs in an application both when using Valkey as a database and as a distributed caching system. literally your bug-hunting bestie πŸ›πŸ”

$ valkey-cli monitor
1339518083.107412 [0 127.0.0.1:60866] "keys" "*"
1339518087.877697 [0 127.0.0.1:60866] "dbsize"
1339518090.420270 [0 127.0.0.1:60866] "set" "x" "6"
1339518096.506257 [0 127.0.0.1:60866] "get" "x"
1339518099.363765 [0 127.0.0.1:60866] "eval" "return server.call('set','x','7')" "0"
1339518100.363799 [0 lua] "set" "x" "7"
1339518100.544926 [0 127.0.0.1:60866] "del" "x"

Use SIGINT (Ctrl-C) to stop a MONITOR stream running via valkey-cli. know when to log off, periodt βœ‹

$ telnet localhost 6379
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
MONITOR
+OK
+1339518083.107412 [0 127.0.0.1:60866] "keys" "*"
+1339518087.877697 [0 127.0.0.1:60866] "dbsize"
+1339518090.420270 [0 127.0.0.1:60866] "set" "x" "6"
+1339518096.506257 [0 127.0.0.1:60866] "get" "x"
+1339518099.363765 [0 127.0.0.1:60866] "del" "x"
+1339518100.544926 [0 127.0.0.1:60866] "get" "x"
QUIT
+OK
Connection closed by foreign host.

Manually issue the valkey-quit(7) QUIT or valkey-reset(7) RESET commands to stop a MONITOR stream running via telnet. manual exit, no drama πŸŽ€

🚫 Commands not logged by MONITOR

Because of security concerns, no administrative commands are logged by MONITOR's output and sensitive data is redacted in the command valkey-auth(7) AUTH. privacy first, always 🫢

Furthermore, the command QUIT is also not logged.

πŸ’Έ Cost of running MONITOR

Because MONITOR streams back all commands, its use comes at a cost. the following (totally unscientific) benchmark numbers illustrate what the cost of running MONITOR can be. ngl bestie, it's not cheap 😭

Benchmark result without MONITOR running:

$ src/valkey-benchmark -c 10 -n 100000 -q
PING_INLINE: 101936.80 requests per second
PING_BULK: 102880.66 requests per second
SET: 95419.85 requests per second
GET: 104275.29 requests per second
INCR: 93283.58 requests per second

Benchmark result with MONITOR running (valkey-cli monitor > /dev/null):

$ src/valkey-benchmark -c 10 -n 100000 -q
PING_INLINE: 58479.53 requests per second
PING_BULK: 59136.61 requests per second
SET: 41823.50 requests per second
GET: 45330.91 requests per second
INCR: 41771.09 requests per second

In this particular case, running a single MONITOR client can reduce the throughput by more than 50%. Running more MONITOR clients will reduce throughput even more. it's giving "one more won't hurt" and then it absolutely does πŸ™ˆ

Note that, - valkey-auth(7) AUTH is excluded from the command's output. - valkey-reset(7) RESET can be called to exit monitor mode. - AUTH, valkey-hello(7) HELLO, valkey-eval(7) EVAL, valkey-eval_ro(7) EVAL_RO, valkey-evalsha(7) EVALSHA and valkey-evalsha_ro(7) EVALSHA_RO are included in the command's output.

🌈 REPLY 🌈

Non-standard return value. Dumps the received commands in an infinite flow. it literally never stops talking, main character energy fr fr πŸ’œ

πŸ‘‘ ACL CATEGORIES πŸ‘‘

@admin @dangerous @slow

⭐ HISTORY ⭐

  • Available since: 1.0.0 β€” a legend since day one, no cap 🌟

πŸŽ€ SEE ALSO πŸŽ€


and that's the whole page bestie 🫢 this was Valkey version 9.0.0, dated 2025-10-21 β€” go forth, monitor responsibly, and don't leave it running in prod, i'm literally begging πŸ˜­πŸ’–βœ¨

πŸ“¦ where this page comes from