解析用户的Amazon CloudWatch RDS审核日志

时间:2019-12-06 18:08:47

标签: amazon-web-services parsing amazon-cloudwatch

我正在使用RDS审核日志,并尝试使用日志查询来解析用户名。 @message列的审核中的数据如下所示: 1234567890,rds-instance-name,rdsadmin,localhost,123,0,CONNECT ,,, 0

我想汇总日志中各个条目的计数,但是我不知道如何从@message列中解析用户名。在上面的示例中,用户名是rdsadmin。

这是我到目前为止的查询:

fields @timestamp, @message
| filter @message like /(?i)(connect)/
| parse @message /(?<@ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/
| stats count() AS counter by @user, @ip
| sort by @user desc, @counter desc
| limit 50

正则表达式能否解析逗号分隔的字符串中的第三个值?

1 个答案:

答案 0 :(得分:0)

这似乎可行,也许不是最好的方法? :

fields @timestamp, @message
| filter @message like /(?i)(CONNECT)/
| parse @message ',*,*,' as @instance,@user
| parse @message /(?<@ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/
| stats count() AS counter by @user, @ip
| sort by @user desc, @counter desc
| limit 50