Splunk rex 查询不返回所需的结果



我正在寻找在我的 spunk 中搜索错误类型。典型的错误日志如下所示:

错误

2016/03/16 22:13:55 程序退出,出现错误 呼叫服务: 发布 http://hostname/v1.21/resource/create?name=/60b80cf9-ebc4-11e5-a9cb-3c4a92db9491-2:读取 unix @->/var/run/program.sock:使用封闭的网络连接(等待标头时超出客户端超时)

请注意,公共部分是"程序退出并出错"。我希望捕获错误消息的此常见部分后面的部分。我尝试了几个雷克斯表情。两者都返回了不同的结果。重要的是,两者都没有捕获我上面显示的错误类型。我在这里给出的是一个效果更好的。

* | rex "Program exited with errors+(?<reason>.+)" |  top reason

它匹配的日志示例-无法获取程序状态,获取 http://192.168.0.2:2774/program/v1/status:net/http:等待响应标头的超时

但是,它与表单的日志不匹配-

initial ZK connection failed, stat /var/program/f47aae5c-ea42-11e5-8975-fc15b40f4cc4/srcheck/started: no such file or directory
Calling service: Post http://hostname/v1.21/resource/create?name=/60b80cf9-ebc4-11e5-a9cb-3c4a92db9491-2: read unix @->/var/run/program.sock: use of closed network connection (Client.Timeout exceeded while awaiting headers)

有人可以帮助我了解我的 rex 表达式有什么问题以及正确的表达式是什么,以便我获得所有可能的错误类型吗?

这个食谱:

"ERROR.*Program exited with error.*:.*:.*:s+(?<reason>.+)" 

将产生:

use of closed network connection (Client.Timeout exceeded while awaiting headers)

我没有足够的样本数据来知道这是否成立。 例如,我指望正好 3 个冒号,让我进入有趣的部分。 我也不知道你是否关心其他事情,比如主机名、它是一个帖子的事实等。 但是根据你的样本 1,这个答案应该可以解决问题。

最新更新