干货 | ELK 日志实时分析实战

发布于 2022-4-21 14:54
浏览
0收藏

干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区

input、output 基本结合字段含义都能看懂。

就中间部分的 grok、date 处理感觉有点云里雾里,我们下一小节拆解讲解。

干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区

干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区干货 | ELK 日志实时分析实战-开源基础软件社区

 
干货 | ELK 日志实时分析实战-开源基础软件社区
3.1.1 date 插件定义


date 插件也可以称为:日期过滤器。

 

用途:用于解析字段中的日期,然后使用该日期或时间戳作为事件的日志记录时间戳。

 

如下代码代表将:timestamp 字段转换成 ISO8601 数据类型。

干货 | ELK 日志实时分析实战-开源基础软件社区

3.1.2 date 插件适用场景


日期或时间戳类型转换。

 

3.1.3 date 插件核心参数解读


ISO8601 的本质含义:将日期字段解析为 “2011-04-19T03:44:01.103Z“ 类型。

 

还有其他类型,诸如:UNIX、UNIX_MS、TAI64N 等。

 

详细解释参考官方文档:

 

https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html

 

干货 | ELK 日志实时分析实战-开源基础软件社区
3.2.1 grok 插件定义


将非结构化日志数据解析为结构化和可查询的日志。

 

3.2.2 grok 插件适用场景


适合 syslog 日志、apache 日志和其他网络服务器日志、mysql 日志,以及通常为人类而非计算机使用编写的任何日志格式。

 

3.2.3 grok 插件附带的 120 + 匹配模式


第一次看 filter 处理环节,不理解:

干货 | ELK 日志实时分析实战-开源基础软件社区

类似语法的含义。

 

实际上:

 

 • TIMESTAMP_ISO8601 就是匹配模式;


 • timestamp 解析后存储 TIMESTAMP_ISO8601 格式数据的变量,且该变量会作为 elasticsearch Mapping 中的一个字段。

 

匹配模式的本质其实是:正则表达式。

 

120 + 匹配模式对应的官方文档:

 

https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns

 

本文用到的匹配模式对应的正则表达式如下:

 

字段说明:

 

第一列:匹配类型名称。

 

第二列:匹配的正则表达式。

干货 | ELK 日志实时分析实战-开源基础软件社区

代码面前,了无秘密。

 

所以,再回头看 filter 语法会很通透。

 

3.2.4 grok 插件测试工具


为了更方便我们的提前测试,官方也提供了匹配工具,

 

工具一:一个网站 http://grokdebug.herokuapp.com/。

 干货 | ELK 日志实时分析实战-开源基础软件社区
工具二:kibana 自带 Grok Debugger 工具。

 干货 | ELK 日志实时分析实战-开源基础软件社区
显然,Kibana 自带 Grok Debugger 更为清爽。

 

干货 | ELK 日志实时分析实战-开源基础软件社区
日志实时分析是 ELK 组件的核心业务场景之一,而核心中的核心是 Logstash 中间处理 filter 环节。

 

掌握了 filter 环节,就掌握了 ELK 实时日志分析的精髓。

 

欢迎大家留言讨论自己的 ELK 实战遇到的问题。

 

收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐