问题标签 [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 投票
1 回答
1024 浏览

regex - 为 logstash 链接 grok 过滤器模式

我正在尝试配置 logstash 来管理我的各种日志源,其中之一是 Mongrel2。Mongrel2 使用的格式是tnetstring,其中日志消息将采用以下形式

我想编写自己的 grok 模式来从上述格式中提取某些字段。我在尝试提取主机时收到了有关此问题的帮助。所以如果在grok-patterns我定义

然后在logstash conf中指定

它按预期工作。我现在遇到的问题是我想指定多个模式,例如 M2HOST、M2ADDR 等。我尝试在同一个 grok-patterns 文件中定义其他模式

并更改logstash conf

但现在我得到了错误_grokparsefailure

0 投票
1 回答
28841 浏览

logstash - Logstash 自定义日期日志格式匹配

我有这个打印日期格式的日志,如下所示:

所以我已经在 grok 调试器上运行了过滤器,但仍然不知道如何删除单词On

模式文件,

我当前的时间戳输出是

2014 年 4 月 4 日 10:45:33 在 grok 调试器上。

那么我怎样才能使它与 logstash @timestamp 兼容/匹配?

0 投票
1 回答
1038 浏览

elasticsearch - logstash - 过滤日志并发送到不同的弹性搜索集群

假设我有一个这样的堆栈:logstash-forwarder -> logstash -> elasticsearch -> kibana

我想知道是否可以使用 logstash-forwarder 监控整个目录并根据过滤器将日志发送到不同的弹性搜索集群。用例:

我有一些程序可以将日志打印到同一目录。这些日志可能包含两种类型的消息 - “私人”或调试。同样,这些消息可以出现在相同的日志文件中。我知道可以给某些文件一个不同的类型,并用 if 过滤它们到不同的输出。我不知道当某个日志可以包含不止一种类型的日志消息时您可以做什么。

有没有办法拆分它们?我想限制某些用户对带有私人信息的日志消息的访问,我想到了两个不同的弹性搜索集群,每个集群都有自己的 Kibana 和 LDAP。

BR

0 投票
2 回答
3151 浏览

parsing - grok 匹配模式的最后一部分是什么?

我注意到有些人在 grok 匹配谓词中使用第三部分,比如

前 2 的含义很明显,我可以猜到第三是结果的明确类型,但我找不到关于第三部分是什么的全面解释。

我检查了Logstash 文档Grok 的文档,看不到任何综合语法描述的痕迹。

有参考吗?

更新

这是一个有效且语法正确的示例:

对于配置文件:

的输出12345是:

如果您删除:float,则它将更改为

至少 logstash v1.4.2 是这样

0 投票
2 回答
5425 浏览

elasticsearch - 如何在 ElasticSearch / Kibana 中准确搜索 URL

我已导入 IIS 日志文件,数据已通过 Logstash (1.4.2) 移动到 ElasticSearch (1.3.1) 中,然后显示在 Kibana 中。

我的过滤器部分如下:

在 Kibana 中使用术语面板并使用“uri”(我从 Logstash 捕获的字段之一)时,它与 URI 中的令牌匹配。因此,它匹配以下项目:

  • '脚本'
  • '/'
  • 'EN

问:如何以完整形式显示“热门 URL”?

问:我如何通知 ElasticSearch 该字段是“not_analysed”。我不介意有 2 个字段,例如:

  • uri - 标记化的 URI
  • uri.raw - 完整的 URL。

这可以在 Logstash 端完成,还是需要在 ElasticSearch 中设置映射?


映射如下:

0 投票
0 回答
617 浏览

logstash - qmail logstash 多行过滤

我使用logstash 已经有一段时间了,在apache 访问日志和偶尔的mysql 日志方面取得了巨大的成功。我刚刚开始将它用于 qmail 日志,但想要一种更好的方法来根据 qmail ID 对 qmail 日志进行分组,并能够跟踪退回或其他传递失败和状态。我见过一些关于 postfix 但不是 qmail 的东西。

有人在qmail中使用过这样的logstash吗?您的 logstash 配置看起来如何?您的 Kibana 仪表板看起来如何?

任何帮助,将不胜感激。

以下是一些 qmail 日志的示例:

理想情况下,我希望能够跟踪这些日志的整个解剖结构。这是我现在在logstash中的输入和过滤器:

0 投票
2 回答
637 浏览

logstash - Grok 多行食谱?

我对logstash还是很陌生,解析出多行日志消息似乎仍然有点吓人,但我希望我正在尝试做的事情(也就是解析logstash日志)这是经过验证和测试的模式,希望有人也许可以为我指出一个可行的解决方案。

基本上我有这样的错误:

这似乎对我在 Kibana 仪表板中使用“主机”作为数字感到犹豫。我实际上对实际错误并不感兴趣,而是对能够以一种有效的 logstash 方式解析它更感兴趣,以便我可以查看 Kibana 并查看合理的错误消息。

我假设它会在multiline { ... }我的文件输入中使用一些编解码器,但看看那条消息,它看起来很毛茸茸......肯定有一个众所周知的“轮子”在某个地方我不需要发明吗?

0 投票
3 回答
40322 浏览

regex - 如何匹配 grok/logstash 中的换行符?

我有一台远程机器,它结合了多行事件并通过伐木工人协议发送它们。

进来的是看起来像这样的东西:

当我尝试将消息与

GREEDYDATA并不像我想的那么贪婪。

所以然后我尝试使用gsub:

但那个没有工作,而不是

我有

所以...

如何将换行符添加回我的数据,使GREEDYDATA匹配成为我的换行符,或者以其他方式获取我的消息的相关部分?

0 投票
1 回答
822 浏览

logstash - 获取 grok 过滤器转换为的正则表达式?

我有一个复杂的 grok 过滤器表达式...是否可以获得此过滤器转换为的正则表达式?

0 投票
1 回答
2348 浏览

regex - grok 正则表达式解析与日志不匹配。当指定一个组为可选但不是最后一个组时

例子:

信息:2014-10-28T22:39:46.593Z - 信息:尝试处理命令时发生错误:PlaceMarketOrderCommand,xkkdAAG​​Ril。错误:现金不足 #userId=5 #orderId=Y5545

图案:

使用的额外模式:

工作正常:删除可选的最后一个 orderId 也可以

信息:2014-10-28T22:39:46.593Z - 信息:尝试处理命令时发生错误:PlaceMarketOrderCommand,xkkdAAG​​Ril。错误:现金不足#userId=5

但是如果我保留 orderId 并删除 userId,那么我会得到“不匹配”

信息:2014-10-28T22:39:46.593Z - 信息:尝试处理命令时发生错误:PlaceMarketOrderCommand,xkkdAAG​​Ril。错误:现金不足 #orderId=Y5545

user_id 组也以 ? 作为可选组..

在 heroku 中使用grok 调试器

这是一个错误吗?(logstash 1.4.2)缺少正则表达式的东西?(更有可能......但是什么?)

我查看了grok 正在使用的正则表达式库,并且看起来这种语法应该可以工作。它适用于最后一组(orderId),但不适用于前一组。

谢谢您的帮助!