自己对日志分析挖掘处理感兴趣,然后自己在学,没有找到太好的视频,都比较零散,或者有的只是讲Elastic,对于ELK的概念,原理不是很清楚,所以自己在网上也有遇到好的文章,讲的非常清楚。链接放在这里,方便查看。
这篇文章所附的链接,我出于这样的目的:其一,这是一个总分总的结构布局, 先从一篇好的文章开始进行了解,再看一下官方的介绍视频,大致知道elastic stack 的技术范畴,能够给我们带来什么便利,解决什么问题。然后实战,实操,逐个技术的进行拆分开的学习。实操是一件让人非常头疼的事,也是最能提升我们自身价值,丰富我们技术栈的一趴。最后再来一个实战视频,整体的连接在一起。
自己的学习路线,分享给大家。
# # 我的建议是先看看这篇文章,弄明白ELK做什么的,什么原理,什么架构。
# # 另外 看看elastic 官方的讲解视频(具体介绍了elastic能做什么,以及整个生态)
# # 这套是黑马的 ELK从入门到实践(这个听着比较舒服一点,如果是系统的学,我建议看这个)
https://www.bilibili.com/video/av67957955?p=6
# # 千锋的讲解视频 ES(整套)
https://www.bilibili.com/video/av75009506?p=33
# # ElasticTalk #1 用 ElasticStack 快速收集和分析 Nginx 日志 讲解视频(大约一个小时)
https://www.bilibili.com/video/av27123368/
# # elasticsearch 官方文档
https://www.elastic.co/guide/cn/elasticsearch/guide/current/_finding_exact_values.html
# # logstash 官方文档
http://docs.flycloud.me/docs/ELKStack/logstash/get-start/hello-world.html
# # 接下来是我看官方视频的记录内容
elastic的软件生态
计算机世界的本质,程序的本质,其实也就是数据的输入,数据的处理(可能需要先将数据存放起来),数据的输出,只不过因为需求的不同,而进行了不同的中间过程。
这张图先看左下角的一块内容,可以看到和我前边提到的本质对应起来了。 beats 是一个轻量级的日志收集的开箱即用的工具,它的优点就在于占用更少的 cup 以及 内存空间。 logstash可以直接用作日志收集的,也可以作为一个单独的服务,来接收 beats 收集到的日志信息。 不管是用不用 beats ,都要用logstash,然后将日志处理完了以后,交给 elasticserch来存储,计算(这就是 elastic的特长所在了,他有近实时的处理能力,秒级别) kibana 就是用来做数据展示的,我把它叫做输出。
前边提到的这些内容,都是开源免费的。中间的黄色部分,从数据安全开始向下直到机器学习,是elastic是商业化提供的服务。
# # 再来说一下elastic stack 成员扮演的角色是什么,以及想要自己搭建一个 日志分析系统应该怎么做
bests 包括了 fileBeat 和 MetricBeat 等 ,filebeat 看前缀就知道它是用来处理文件的,而metricBeat 一般用来收集系统内存 和 CPU 等使用的情况。 beats 充当的就是数据采集的角色,通过监听某个目录下的指定的文件,来采集数据,这里一般采集ngix 日志 或者数据库日志 等等。
logstash 充当的是数据处理工厂的作用,其实它也可以用作数据的收集,并处理,但是 beat 轻量级的,节省CPU 和 内存。所以 logstash 只能让专业的人做专业的事,而自己乖乖的做数据处理。这里数据的处理是指,从日志文件中收集到数据以后,日志中往往是很长的内容,非结构化。处理就是做一些分割呀什么的。
elasticserch 充当是存储的觉得,它自己相比较 mysql 这类数据库,自己有独特的处理方法,在存储的基础上能做到秒级别的检索。这里完全就可以理解为数据仓库,用来存放数据的仓库。同时 它提供搜索的功能。
kibana 充当的是数据展示的作用。数据的来源就是上边提到的 elasticserch,将elasticserch存储并检索到的数据,做一个数据展示的作用。其实这是我们最终想实现的目的。就是看到想看的数据,一些服务器的CPU使用的情况呀,内存使用的情况呀,nginx 日志收集到的用户请求情况呀,等等。
标签:ELK,www,elastic,学习,https,资料,日志,数据,logstash From: https://blog.51cto.com/u_15812686/5740294