ACL 日志
Syntax
ACL LOG [count | RESET]
- Available since:
- 6.0.0
- Time complexity:
- O(N) with N being the number of entries shown.
- ACL categories:
-
@admin
,@slow
,@dangerous
,
该命令显示最近的ACL安全事件列表:
可选参数指定显示多少条目。默认情况下,最多返回十个失败记录。特殊的RESET
参数用于清除日志。条目从最近的开始显示。
示例
> AUTH someuser wrongpassword
(error) WRONGPASS invalid username-password pair
> ACL LOG 1
1) 1) "count"
2) (integer) 1
3) "reason"
4) "auth"
5) "context"
6) "toplevel"
7) "object"
8) "AUTH"
9) "username"
10) "someuser"
11) "age-seconds"
12) "8.038"
13) "client-info"
14) "id=3 addr=127.0.0.1:57275 laddr=127.0.0.1:6379 fd=8 name= age=16 idle=0 flags=N db=0 sub=0 psub=0 ssub=0 multi=-1 qbuf=48 qbuf-free=16842 argv-mem=25 multi-mem=0 rbs=1024 rbp=0 obl=0 oll=0 omem=0 tot-mem=18737 events=r cmd=auth user=default redir=-1 resp=2"
15) "entry-id"
16) (integer) 0
17) "timestamp-created"
18) (integer) 1675361492408
19) "timestamp-last-updated"
20) (integer) 1675361492408
每个日志条目由以下字段组成:
count
: 此条目表示的60秒内检测到的安全事件数量。reason
: 记录安全事件的原因。可能是command
,key
,channel
, 或auth
。context
: 检测到安全事件的上下文。可能是toplevel
、multi
、lua
或module
。object
: 用户权限不足无法访问的资源。当原因为auth
时,显示auth
。username
: 执行导致安全事件的命令的用户名或认证尝试失败的用户名。age-seconds
: 日志条目的年龄,以秒为单位。client-info
: 显示导致安全事件之一的客户端的客户端信息。entry-id
: 自服务器进程启动以来,条目的序列号(从0开始)。也可以用来检查是否有条目“丢失”,如果它们落在两个周期之间。timestamp-created
: 条目首次创建时的UNIX时间戳,单位为毫秒
。timestamp-last-updated
: 条目最后更新时的UNIX时间戳,单位为毫秒
。
RESP2/RESP3 回复
当调用以显示安全事件时:
- Array reply: 一个由Bulk string reply元素组成的数组,表示ACL安全事件。
当使用
RESET
调用时: - Simple string reply: 如果安全日志被清除,则返回
OK
。
历史
- 从 Redis 7.2.0 版本开始:添加了条目 ID、创建时间戳和最后更新时间戳。