首页 > 解决方案 > 如何构建 Splunk 搜索查询?

问题描述

我是 Splunk 的新手。因此,我需要一些支持来构建搜索查询。

以下是我的日志打印方式:

[181] xxxx-xx-xx xx:xx:xx 信息(大量文本)RITM1234::FAILED BECAUSE ROOT CAUSE::Ticket 是一个添加,但用户没有名为 XYZ 的有效帐户

[181] xxxx-xx-xx xx:xx:xx 信息(大量文本)RITM1234::::FAILED BECAUSE::Account XYZ 对用户 1234 不正确。不会关闭工单。

我希望得到下表格式的输出:

RITM |应用程序|用户|错误

RITM1234|XYZ|1234|Ticket 是 Add,但用户没有名为 XYZ 的有效帐户

标签: splunksplunk-query

解决方案


以下命令将从事件中提取重要字段。它只是使用正则表达式来分解事件。

rex field=_raw "RITM (?<RITM>\d+):+(?<msg>[^:]+)+:+(?<root_cause>[^:]+)"

完成后,您可以通过以下方式提取用户名,再次使用正则表达式

rex field=root_cause "(named|user) (?<username>\S+)"

把所有东西和一张桌子放在一起,你应该得到类似下面的东西

rex field=_raw "RITM (?<RITM>\d+):+(?<msg>[^:]+)+:+(?<root_cause>[^:]+)" | rex field=root_cause "(named|user) (?<username>\S+)" | table RITM, username, root_cause

推荐阅读