问题标签 [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.
filter - Logstash 用 syslog 日期替换 @timestamp
我有点困惑。我正在尝试拔出syslog date (backfilling the logstash)
并用它替换@timestamp
。我几乎什么都试过了。
这是我的过滤器
样本输出:
tmatch 在标签中,所以我假设日期过滤器有效,但为什么我仍然有:
?
感谢您的帮助(我logstash
的是logstash-1.2.2-flatjar.jar
)
filter - 如何处理不匹配的 Logstash grok 过滤器
我想知道使用我的 Logstash Grok 过滤器的最佳方法是什么。我有一些针对特定日志条目的过滤器,不适用于所有条目。那些不适用的总是生成 _grokparsefailure 标签。例如,我有一个适用于每个日志条目的 grok 过滤器,它工作正常。然后我有另一个过滤器,用于带有回溯的错误消息。回溯过滤器为每个没有回溯的日志条目引发 grokparsefailure。
如果没有匹配项,我宁愿让它通过规则,而不是添加 parsefailure 标记。我使用 parsefailure 标记来查找无法正确解析的内容,而不是与特定过滤器不匹配的内容。也许只是命名法“解析失败”让我着迷。对我来说,这意味着过滤器有问题(例如格式错误),而不是它不匹配。
那么问题来了,我该如何处理呢?
使过滤器模式可选使用?
(ab) 使用 tag_on_failure 选项,将其设置为空 []
使用“如果在消息中回溯”之类的内容使过滤器有条件
还有什么我不考虑的?
提前致谢。
编辑
我采取了在过滤器周围添加条件的路径:
不过仍然对反馈感兴趣。什么在这里被认为是“最佳实践”?
logstash - 由管道分隔的数据的 Grok 模式
我有一个日志文件,其中数据由管道符号分隔。“|”。下面是一个例子。有谁知道如何编写一个 GROK 模式来将其提取到 logstash 中?
2014-01-07 11:58:48.7694|日志级别|日志源|日志消息
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 并且过滤器工作正常。所以这绝对是一个字符集问题。我想我需要确定日志文件的正确字符集是什么,它应该可以工作。
elasticsearch - Logstash 不解析多个命名的捕获组
我刚刚开始使用 Logstash、ElasticSearch 和 Kibana 来实现日志的可视化,目前遇到了一些问题。
我有一个 logstash 正在收集的日志文件,我想在将这些字段写入 ElasticSearch 之前从日志条目中提取字段。
我已经在我的 logstash 配置文件中定义了一个包含多个命名捕获组的过滤器,但此时只有这些命名捕获组中的第一个是匹配的。
我的日志文件如下所示:
[2014-01-31 12:00:00] [FIELD1:SOMEVALUE] [FIELD2:SOMEVALUE]
我的logstash过滤器看起来像下面这样:
我已经验证了我所有字段的正则表达式都是正确的,但是当我转到 Kibana 仪表板时,FIELD1 和 FIELD2 没有出现。
如果有人能对此有所了解,我将不胜感激。
谢谢
凯文
filter - logstash:具有不同模式的多个日志文件
我们想为我们公司的几个不同项目设置一个logstash服务器。现在我尝试在 Kibana 中启用它们。我的问题是:如果我有不同模式的日志文件,我该如何为它们构建过滤器?示例:logstash.conf:
我是否必须为每个项目(A、B、C、...)创建一个自己的过滤器,当我为每个项目再次使用不同模式的日志文件时,我该怎么办?
logstash - 使用 Grok 调试器测试 Logstash 过滤器是否存在 Apache 错误
我试图了解使用 grok 过滤我的 apache 错误日志。
我的错误日志文件如下所示:
我如何使用 grok 过滤它?我已经做到了这一点:
我尝试使用Grok 调试器,但我几乎不知道我在做什么。我对logstash来说是全新的。
parsing - Logstash:嵌套的 grok 搜索?将一个字段解析为多个字段?
我有看起来像这样的日志条目......
我有一个正确解析行的 grok 过滤器......
如果“body”以“***Request Completed***”开头,我想从“body”中解析更多数据。即“esaspsedms”和“uri”。我怎样才能做到这一点?
在其他地方,有人建议我像这样向 grok 过滤器添加另一个消息条目......
...这可行,但对于时间线,'body' 的值没有设置。理想情况下,我希望正文始终包含条目的最后一部分,并且当条目是时间线时,执行 elapsedms 和 uri 的附加解析。
任何想法我怎么能做到这一点?
有没有办法解析字段?这样我就可以尝试将“body”解析为 elapsedms/uri,如果失败,请继续。或者有没有办法在 grok 表达式中嵌套字段匹配?
想法?
编辑:如果设置了“elaspedms”,我是否可以只从“elaspedms”和“uri”创建主体,而不是确保始终设置“body”?
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 过滤器的工作方式,如果有人能对此有所了解,将不胜感激。
谢谢,
阿卜杜。
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}" ] }
.
我要过滤:
请注意,这些都不适合我:
或者