问题标签 [logstash-grok]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
42051 浏览

filter - Logstash 用 syslog 日期替换 @timestamp

我有点困惑。我正在尝试拔出syslog date (backfilling the logstash)并用它替换@timestamp。我几乎什么都试过了。

这是我的过滤器

样本输出:

tmatch 在标签中,所以我假设日期过滤器有效,但为什么我仍然有:

?

感谢您的帮助(我logstash的是logstash-1.2.2-flatjar.jar

0 投票
4 回答
65509 浏览

filter - 如何处理不匹配的 Logstash grok 过滤器

我想知道使用我的 Logstash Grok 过滤器的最佳方法是什么。我有一些针对特定日志条目的过滤器,不适用于所有条目。那些不适用的总是生成 _grokparsefailure 标签。例如,我有一个适用于每个日志条目的 grok 过滤器,它工作正常。然后我有另一个过滤器,用于带有回溯的错误消息。回溯过滤器为每个没有回溯的日志条目引发 grokparsefailure。

如果没有匹配项,我宁愿让它通过规则,而不是添加 parsefailure 标记。我使用 parsefailure 标记来查找无法正确解析的内容,而不是与特定过滤器不匹配的内容。也许只是命名法“解析失败”让我着迷。对我来说,这意味着过滤器有问题(例如格式错误),而不是它不匹配。

那么问题来了,我该如何处理呢?

  • 使过滤器模式可选使用?

  • (ab) 使用 tag_on_failure 选项,将其设置为空 []

  • 使用“如果在消息中回溯”之类的内容使过滤器有条件

  • 还有什么我不考虑的?

提前致谢。

编辑

我采取了在过滤器周围添加条件的路径:

不过仍然对反馈感兴趣。什么在这里被认为是“最佳实践”?

0 投票
4 回答
17720 浏览

logstash - 由管道分隔的数据的 Grok 模式

我有一个日志文件,其中数据由管道符号分隔。“|”。下面是一个例子。有谁知道如何编写一个 GROK 模式来将其提取到 logstash 中?

2014-01-07 11:58:48.7694|日志级别|日志源|日志消息

0 投票
1 回答
2691 浏览

windows - 将 grok 过滤器与 logstash 和 windows 文件一起使用的问题

我正在尝试使用 Logstash 和 grok 过滤 sql server 错误日志。Logstash 1.3.3 使用 NSSM 和 JRE6 作为 Windows 服务运行。我的配置文件在下面

日志文件内容示例如下。

事件在 Kibana 中可见,但折叠时消息显示为 {"message":"\u00002\u00000\u00001\u00004...

展开后,表格视图将事件消息显示为文本。查看时事件的原始数据如下。

我不确定消息的编码是否会阻止 Grok 正确过滤它。

我希望能够使用 Grok 过滤这些事件,但不确定如何继续。

更多信息:

我将日志文件的副本创建为 UTF-8 并且过滤器工作正常。所以这绝对是一个字符集问题。我想我需要确定日志文件的正确字符集是什么,它应该可以工作。

0 投票
2 回答
2823 浏览

elasticsearch - Logstash 不解析多个命名的捕获组

我刚刚开始使用 Logstash、ElasticSearch 和 Kibana 来实现日志的可视化,目前遇到了一些问题。

我有一个 logstash 正在收集的日志文件,我想在将这些字段写入 ElasticSearch 之前从日志条目中提取字段。

我已经在我的 logstash 配置文件中定义了一个包含多个命名捕获组的过滤器,但此时只有这些命名捕获组中的第一个是匹配的。

我的日志文件如下所示:

[2014-01-31 12:00:00] [FIELD1:SOMEVALUE] [FIELD2:SOMEVALUE]

我的logstash过滤器看起来像下面这样:

我已经验证了我所有字段的正则表达式都是正确的,但是当我转到 Kibana 仪表板时,FIELD1 和 FIELD2 没有出现。

如果有人能对此有所了解,我将不胜感激。

谢谢

凯文

0 投票
1 回答
16765 浏览

filter - logstash:具有不同模式的多个日志文件

我们想为我们公司的几个不同项目设置一个logstash服务器。现在我尝试在 Kibana 中启用它们。我的问题是:如果我有不同模式的日志文件,我该如何为它们构建过滤器?示例:logstash.conf:

我是否必须为每个项目(A、B、C、...)创建一个自己的过滤器,当我为每个项目再次使用不同模式的日志文件时,我该怎么办?

0 投票
1 回答
4674 浏览

logstash - 使用 Grok 调试器测试 Logstash 过滤器是否存在 Apache 错误

我试图了解使用 grok 过滤我的 apache 错误日志。

我的错误日志文件如下所示:

我如何使用 grok 过滤它?我已经做到了这一点:

我尝试使用Grok 调试器,但我几乎不知道我在做什么。我对logstash来说是全新的。

0 投票
3 回答
5330 浏览

parsing - Logstash:嵌套的 grok 搜索?将一个字段解析为多个字段?

我有看起来像这样的日志条目......

我有一个正确解析行的 grok 过滤器......

如果“body”以“***Request Completed***”开头,我想从“body”中解析更多数据。即“esaspsedms”和“uri”。我怎样才能做到这一点?

在其他地方,有人建议我像这样向 grok 过滤器添加另一个消息条目......

...这可行,但对于时间线,'body' 的值没有设置。理想情况下,我希望正文始终包含条目的最后一部分,并且当条目是时间线时,执行 elapsedms 和 uri 的附加解析。

任何想法我怎么能做到这一点?

有没有办法解析字段?这样我就可以尝试将“body”解析为 elapsedms/uri,如果失败,请继续。或者有没有办法在 grok 表达式中嵌套字段匹配?

想法?

编辑:如果设置了“elaspedms”,我是否可以只从“elaspedms”和“uri”创建主体,而不是确保始终设置“body”?

0 投票
4 回答
47642 浏览

regex - 如何使用 logstash 过滤器处理多行日志条目?

背景:

我有一个自定义生成的日志文件,它具有以下模式:

第二个条目[2014-03-02 17:34:20] - 127.0.0.1|DEBUG| flush_multi_line是一个虚拟行,只是为了让 logstash 知道多行事件已经结束,此行稍后会被删除。

我的配置文件如下:

内容字段的输出是:The error message goes here ; array (

问题:

我的问题是我想将多行的其余部分存储到内容字段:

所以我可以稍后删除消息字段。

@message字段包含整个多行事件,所以我尝试了mutate过滤器,上面带有替换功能,但我无法让它工作:(。

我不了解 Multiline 过滤器的工作方式,如果有人能对此有所了解,将不胜感激。

谢谢,

阿卜杜。

0 投票
4 回答
45582 浏览

filter - Logstash Grok 过滤 Apache 访问日志

我一直在四处寻找,但找不到有效的解决方案。我尝试在 Logstash 配置文件中使用 Grok Filter 来过滤 Apache-Access 日志文件。日志消息如下所示:{"message":"00.00.0.000 - - [dd/mm/YYYY:hh:mm:ii +0000] \"GET /index.html HTTP/1.1\" 200 00"}.

此时我只能使用grok { match => [ "message", "%{IP:client_ip}" ] }.

我要过滤:

请注意,这些都不适合我:

或者