我正在尝试使用splunk在日志中搜索模式(请参见下文)。我要搜索的字符串包含双引号。
下面的信息日志打印在记录器中。
INFO: o.l.k.SomeClass: {"function": "delete", "tenenId":"15897",.......}
我要搜索的字符串是 “功能”:“删除”
我要执行的Splunk查询是。
index="12585" "\"function\": \"delete\""
我不确定这是否行得通。有什么建议吗?
答案 0 :(得分:0)
function
和delete
之间可能存在多个空格字符。我建议您只搜索两个短语,而不要一起搜索
index="12585" \"function\": \"delete\"
答案 1 :(得分:0)
由于您的数据为原始格式,因此您可以查看Splunk是否自动提取了“功能”字段。如果是,则只需搜索index="index_1" function="delete"
,否则就可以搜索index="index_1" "function" "delete"
,Splunk将搜索函数并在原始事件中删除。
答案 2 :(得分:0)
我正在研究一个类似的问题,我需要搜索包含双引号的精确字符串匹配。看起来我们无法直接使用转义的双引号进行查询。所以我们必须使用regex
。
在您的情况下,您可以尝试以下查询:
index="12585" | regex fieldname=".*\"function\": \"delete\".*"
它将尝试在字段名称上运行正则表达式匹配。可以在任何在线正则表达式测试器中验证正则表达式。
我还没有想出如何使用_raw字段进行查询。 _raw=".*\\\"delete\\\".*"
似乎没有返回任何内容。