需要解析日志并创建2个受控组,其中一个组具有另一个组的文本



我想知道是否有人可以帮助我解析问题。我一直在分析一个特定的日志,我使用控制组(描述,FooBar等)。解析这个日志是一个很大的挑战。

日志文件看起来像这样:

2021-02-10T09:0022.041-05:00 | Info | TransactionGUID=yyyy1234-12a1-1a99-1234-01ab1ab12abc | TransactionID=123456 | Saving uploaded file to shared folder \foobarfoofilENV1ABMylocingZoneTIMSFileTemplates12345678_12345678_01ab1ab12abc-99f5-4a43-9127-01ab1ab12abc.xlsx | CopyToSharedFolder()

我需要放置这组文本:

将上传的文件保存到共享文件夹foobarfoofilENV1ABMylocingZoneTIMSFileTemplates12345678_12345678_01ab1ab12abc-99f5-4a43-9127-01ab1ab12abc.xlsx | CopyToSharedFolder()

放到"描述"中捕获组。

我需要放置这组文本:

12345678

在FooBar"捕获组。

下面是我到目前为止能想到的。如果我尝试添加FooBar控制组(从下面的规则中省略),我将丢失部分Description控制组。由于我正在使用的应用程序,我需要使用GROK调试器来创建和调试我的规则:

[A-Za-z0-9]{0,7}%{SPACE}%{TIMESTAMP_ISO8601:dateTime}%{SPACE}|%{SPACE}%{LOGLEVEL:Loglevel}%{SPACE}|%{SPACE}TransactionGUID=%{UUID:GUID}%{SPACE}|%{SPACE}TransactionID=%{NUMBER:TransactionId}%{SPACE}|%{SPACE}(?<Description>(?<=|s).*(?=)?))

简体版:

这个消息……

MyGroup12345679ContainsInfo

…被message组捕获,并且其包含的数字被hidden_message组捕获。

(?<message>[a-zA-Z]+(?<hidden_message>%{NUMBER})[a-zA-Z]+)

完整版本:

至于你的确切日志,我会这样解析:(为了测试目的,必须用NUMBER代替UUID)

grok {
message => [
"%{TIMESTAMP_ISO8601:dateTime}%{SPACE}|%{SPACE}%{LOGLEVEL:Loglevel}%{SPACE}|%{SPACE}TransactionGUID=%{NUMBER:GUID}%{SPACE}|%{SPACE}TransactionID=%{NUMBER:TransactionId}%{SPACE}|%{SPACE}(?<Description>.*(\(?<FooBar>[0-9]+)_[^\]+.[a-zA-Z0-9]+).*)",
"+ the pattern you are using now, unless there is always a path to match there"
]
}

测试日志:

2021-02-10T09:0022.041-05:00 | Info | TransactionGUID=82147 | TransactionID=123456 | Saving uploaded file to shared folder \foobarfoofilENV1ABMylocingZoneTIMSFileTemplates12345678_12345678_01ab1ab12abc-99f5-4a43-9127-01ab1ab12abc.xlsx | CopyToSharedFolder()

description部分解释:

.*      # greedily consumes characters 
(                           # matches a filename beginning with a number :
\(?<FooBar>[0-9]+)      # one "", a number,
_[^\]+                     # one _, anything but a "" once or more
.[a-zA-Z0-9]+              # a file extension
)
.*       # the rest of it

相关内容

  • 没有找到相关文章

最新更新