Logstash Grok 解析器

     2023-02-22     70

关键词:

【中文标题】Logstash Grok 解析器【英文标题】:Logstash Grok parser 【发布时间】:2015-12-02 17:10:00 【问题描述】:

我是 log-stash 和 grok 的新手,我需要解析非常自定义的日志文件。我在任何地方都找不到一个很好的教程来完成这项工作。尝试了 syslog 示例,但在我的情况下它不起作用。

例子:

11 月 19 日 00:06:37 srv-fe-05 ssh-server-g3: 2037 Sft_server_open_dir, "2037 Sft_server_open_dir, 目录名称: /home/folder1/input, 文件句柄: 007800B000782170, "成功", Session-Id : 162351"

我要提取的项目:

    时间戳:11 月 19 日 00:06:37 将添加到当前年份并作为时间戳存储在弹性搜索中。 服务器主机 srv-fe-05 /home/folder1/input 中的文件夹名称 folder1 成功状态“成功” Session-Id: 162351 来自 Session-Id: 162351

任何帮助或指示将不胜感激。

按照答案我想出了这个模式:

%SYSLOGTIMESTAMP:logTimestamp %USERNAME:sftpServer %USERNAME:processName: %INT:operationType %WORD, \"%INT %WORD, %WORD %WORD: /%WORD/%WORD:clientName/%WORD, %WORD %WORD: %WORD:submissionId, \"%WORD:status\", %WORD-%WORD: %INT:sessionId

我的 2 个新问题是:

    效率如何?我的意思是有哪些方法可以提高效率?

【问题讨论】:

【参考方案1】:

首先,熟悉basic built-in grok patterns。了解 %WORD、%NUMBER 等基本工具将大有帮助。

其次,熟悉在线调试器(heroku 和appspot)。他们各有优势。

第三,慢慢开始。在您的示例中,您可以匹配调试器中字符串开头的日期和时间吗?如果是这样,请尝试为主机名添加匹配项。继续从左到右慢慢移动,直到完成。

如果您查看核心模式,您会注意到“nov”仅出现一次,作为模式 %MONTH 的一部分。有道理,对吧?但还要注意,%MONTH 是较大结构的一部分,例如 %SYSLOGTIMESTAMP,它会在一个步骤中匹配您的日期时间。

最后,还有一些在线指南和教程。 Here's one.

【讨论】:

感谢指导,有没有关于定义自定义模式的教程?例如,我使用日志行到达这里: %SYSLOGTIMESTAMP:logTimestamp%SPACE%USERNAME:sftpServer%SPACE%USERNAME:sftpProcessName%GREEDYDATA:message 但找不到方法在“:”字符之后继续,因为它不是常见的模式。如何定义自己的模式并在 grok 匹配器中使用它们? 你可以在你的模式中加入文字。对于单个空格,我更喜欢使用“”而不是 %SPACE。你也可以在你的模式中加入一个冒号,例如%WORD:%WORD。

logstash笔记-----grok插件的正则表达式来解析日志

(一)简介:   丰富的过滤器插件的存在是logstash威力如此强大的重要因素。名为过滤器,其实提供的不单单是过滤的功能,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的logs... 查看详情

logstash:日志解析的grok模式示例(代码片段)

如果没有日志解析,搜索和可视化日志几乎是不可能的,一个被低估的技能记录器需要读取他们的数据。解析结构化你的传入(非结构化)日志,以便用户可以在调查期间或设置仪表板时搜索清晰的字段和值... 查看详情

logstash:日志解析的grok模式示例(代码片段)

...和分析工具中解析日志数据。在这里查看我的Grok教程“Logstash:Grokfilter入门”。但是用Grok解析日志可能会很棘手。本博客将研究一些Grok模式示例,这些示例可以帮助你了解如何解析日志数据。什么是grok?最初的术语实际... 查看详情

logstash grok,用 json 过滤器解析一行

】logstashgrok,用json过滤器解析一行【英文标题】:logstashgrok,parsealinewithjsonfilter【发布时间】:2018-04-2002:54:52【问题描述】:我正在使用ELK(弹性搜索、kibana、logstash、filebeat)来收集日志。我有一个包含以下几行的日志文件,每... 查看详情

logstash:grok模式示例(代码片段)

Logstash可以轻松解析CSV和JSON文件,因为这些格式的数据组织得很好,可以进行Elasticsearch分析。但是,有时我们需要处理非结构化数据,例如纯文本日志。在这些情况下,我们需要使用LogstashGrok或其他第三方服... 查看详情

使用 Grok for Logstash 解析 Apache2 错误日志

】使用GrokforLogstash解析Apache2错误日志【英文标题】:ParseApache2ErrorlogswithGrokforLogstash【发布时间】:2013-06-2406:32:12【问题描述】:我正在尝试解析我的apache2错误日志,但遇到了一些麻烦。它似乎与过滤器不匹配。我很确定时间戳... 查看详情

logstash / grok 模式文件

】logstash/grok模式文件【英文标题】:logstash/grokpatternfile【发布时间】:2015-09-2902:24:38【问题描述】:我正在解析IIS日志,当所有模式都在配置文件中时,我一切正常。我想取出所有模式并将它们放在一个模式文件中,但似乎无... 查看详情

elk日志处理之使用grok解析日志

...。Grok内置了120多种的正则表达式库,地址:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/ 查看详情

logstash:grok模式示例(代码片段)

Logstash可以轻松解析CSV和JSON文件,因为这些格式的数据组织得很好,可以进行Elasticsearch分析。但是,有时我们需要处理非结构化数据,例如纯文本日志。在这些情况下,我们需要使用LogstashGrok或其他第三方服... 查看详情

logstash语法常用案例解析

摘要此篇主要讲Filter插件,已经对nginx日志的各种处理实例接着上篇继续说插件1,Filter插件Grok:正则捕获Date:时间处理Mutate:数据修改Geoip:查询归类JSON:编解码Grok:解析和结构化任何文本。http://grokdebug.herokuapp.com/patterns# ... 查看详情

grok 解析数据的重复字段值

...er中运行的uwsgi应用程序捕获日志的filebeat。数据被发送到logstash,它解析它并转发到elasticsearch。这里是logstashconf文件:inputbeatsport=>5044filtergrokma 查看详情

logstash的过滤插件及其应用

一、Logstash的过滤插件数据从源传输到存储库的过程中,Logstash过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便进行更强大的分析和实现商业价值。Logstash能够动态地转换和解析数据,不... 查看详情

Grok 用于日志文件 Logstash

】Grok用于日志文件Logstash【英文标题】:GrokforlogfilesLogstash【发布时间】:2020-04-2212:03:00【问题描述】:我需要编写一个grok模式来检索“****”中的内容-----Startofscriptforserversitboap1at**FriApr1714:24:19**HKT2020---------**user11**8775110Apr16?00:00... 查看详情

logstash / grok 自定义字段

】logstash/grok自定义字段【英文标题】:logstash/grokcustomfileds【发布时间】:2017-07-1810:37:32【问题描述】:我是ELK堆栈的全新用户。我在从日志中过滤掉特定部分时遇到了一点问题。示例日志:[2017-05-3013:58:09,336]INFO[com.qwerty.test.core... 查看详情

logstash grok 模式来监控 logstash 本身

】logstashgrok模式来监控logstash本身【英文标题】:logstashgrokpatterntomonitorlogstashitself【发布时间】:2016-05-0316:07:48【问题描述】:我想将logstash.log日志添加到我的ELK堆栈中,但我总是遇到grokparsefailure。我的模式在http://grokconstructor.a... 查看详情

Logstash - grok 使用消息以外的字段

】Logstash-grok使用消息以外的字段【英文标题】:Logstash-grokuseafieldotherthanmessage【发布时间】:2014-09-1505:55:01【问题描述】:我正在使用Logstash转发器从远程服务器接收Log4j生成的日志文件。日志事件的字段包括一个名为“文件”... 查看详情

Logstash,grok 过滤器不适用于固定长度字段

】Logstash,grok过滤器不适用于固定长度字段【英文标题】:Logstash,grokfilternotworkingforfixedlengthfields【发布时间】:2015-11-1315:08:37【问题描述】:我是logstash的新手,我有一个带有固定长度字段的输入文件和一个使用正则表达式配置... 查看详情

用于logstash的grok过滤器

】用于logstash的grok过滤器【英文标题】:grokfilterforlogstash【发布时间】:2014-10-1519:34:38【问题描述】:我的日志文件有以下形式的行:10/1314:05:18.192[modulename]:[pid]:(debuglevelstring):messagestringXYZ:<xyzvalue>在哪里modulename是一个字符... 查看详情