我的日志看起来像这样:
system,info,account user admin logged out from 192.168.1.9 via local
system,info log rule added by admin
每一行都以逗号分隔的主题列表开始,在第一个空格之后列表结束。列表中可以有一个、两个、三个或更多主题。我需要得到的主题作为一组值,就像它是[ "system", "info", "account" ]
的第一行和[ "system", "info" ]
的第二。
我尝试先使用^\S+
提取列表,然后在第一个正则表达式结果上使用[^,]+
。它工作正常,但也许有一种方法,允许这样做,与一个正则表达式?
我需要一行正则表达式,因为我将在Grok pattern中使用该正则表达式来添加这些主题作为标记。Grok使用Oniguruma正则表达式引擎。
1条答案
按热度按时间uinbv5nw1#
解决方案是在
grok
从消息中提取主题部分后使用mutate { split ... merge ... }
。