| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 干货 | ELK 日志实时分析实战 -> 正文阅读 |
|
[大数据]干货 | ELK 日志实时分析实战 |
0、问题来源1、日志实时分析是 Elasticsearch 三大核心业务场景之一Elasticsearch架构选型指南——不止是搜索引擎,还有......曾强调:Elasticsearch 三大核心业务场景:
2、少啰嗦,先看东西2.1 日志数据准备以 Python 日志作为数据源,开搞。 在 Python 中,日志记录可以分为 5 种不同级别:
日志随机生成 Python 3.X 脚本如下:
生成日志文件 logFile.txt 部分内容如下:
2.2 Logstash 数据处理本文 Logstash、Elasticsearch、Kibana 版本均为:7.12.0。 Logstash 三段论核心:
结合本文日志场景:
input、output 基本结合字段含义都能看懂。 就中间部分的 grok、date 处理感觉有点云里雾里,我们下一小节拆解讲解。 2.3 数据同步到 ElasticsearchLogstash 中的 output 环节已经设置输出的索引名称:my_log_index。 同步执行只需要在 logstash 路径下执行如下命令即可:
执行成功截图如下: 导入 Elasticsearch 数据如下:
2.4 Kibana 可视化分析Kibana 可视化分析就是基于日期维度的数据源做分析。 核心步骤如下:
如上三个环节都“中规中矩”、几乎没有坑,不再拆解解读,有问题可以留言讨论。 3、filter 环节核心原理解读filter 中间处理环节用到了两个核心插件: 3.1 插件一:date 插件3.1.1 date 插件定义date 插件也可以称为:日期过滤器。 用途:用于解析字段中的日期,然后使用该日期或时间戳作为事件的日志记录时间戳。 如下代码代表将:timestamp 字段转换成 ISO8601 数据类型。
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 3.2 插件二:grok 插件3.2.1 grok 插件定义将非结构化日志数据解析为结构化和可查询的日志。 3.2.2 grok 插件适用场景适合 syslog 日志、apache 日志和其他网络服务器日志、mysql 日志,以及通常为人类而非计算机使用编写的任何日志格式。 3.2.3 grok 插件附带的 120 + 匹配模式第一次看 filter 处理环节,不理解:
类似语法的含义。 实际上:
匹配模式的本质其实是:正则表达式。 120 + 匹配模式对应的官方文档: https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns 本文用到的匹配模式对应的正则表达式如下: 字段说明: 第一列:匹配类型名称。 第二列:匹配的正则表达式。
代码面前,了无秘密。 所以,再回头看 filter 语法会很通透。 3.2.4 grok 插件测试工具为了更方便我们的提前测试,官方也提供了匹配工具, 工具一:一个网站 http://grokdebug.herokuapp.com/。 工具二:kibana 自带 Grok Debugger 工具。 显然,Kibana 自带 Grok Debugger 更为清爽。 4、小结日志实时分析是 ELK 组件的核心业务场景之一,而核心中的核心是 Logstash 中间处理 filter 环节。 掌握了 filter 环节,就掌握了 ELK 实时日志分析的精髓。 欢迎大家留言讨论自己的 ELK 实战遇到的问题。 参考https://www.elastic.co/guide/en/logstash/current/filter-plugins.html https://medium.com/free-code-camp/how-to-use-elasticsearch-logstash-and-kibana-to-visualise-logs-in-python-in-realtime-acaab281c9de 推荐更短时间更快习得更多干货! 中国50%+Elastic认证工程师出自于此! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/22 23:52:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |