1,ELK介绍
接到上峰命令,产品要上ELK,遂就有了这篇文章
ELK介绍
网上copy的:
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。
Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好Web 界面,可以帮助汇总、分析和搜索重要数据日志。
自己的理解:
ELK是什么东西,很好理解,就是收集(L:Logstash),存储(E:Elasticsearch),可视化日志(K:Kibana)的。在前几年ELK为什么没有怎么听说,那是因为在服务器上tail -f就可以看日志,或者下载下来打开直接看。但是随着软件的不断发展,分布式,推荐系统,大数据等等,这些数据日积月累后的必然产物就诞生了。就拿分布式系统来说,日志都分布在各个node上,要查看一个bug,需要登录到服务器上看好多node上的日志,再比如调用连很长的话,在服务器上看日志,或者下载下来看日志,我只能说有可能好几天都找不出来问题所在。还有登陆到服务器上,是一个很危险的信号,万一rm -rf,就真的是从入门到删库跑路了。以上种种问题怎么解决呢?这个时候就是ELK上场了。
单机版安装
首先说明一下ELK采用最简单的一套策略(不包含FileBeat,FileBeat是一个好东西,但是这次不用):elasticsearch 5.6.4+kibana5.2.0+logstash5.6.3,在安装过程中,问题最多的就是ES,会遇到几个问题请参考:https://www.jianshu.com/p/6d0d78be9e30【Elasticsearch安装与应用】
之前的版本是5.52,这次用的是当前最稳定的版本5.6.4
经测试,单机版ES可以存储50G的日志,前提是8G内存,ES之所以速度快,是牺牲了一定的内存和cpu的,如果必须要存储50G以上的日志,就必须用集群,一般中小型公司单机版的完全可以满足,ES一般保存近三个月的就可以了,3个月没有发现的问题,之前的就更没有意义了。但是如果要做推荐,大数据分析,行为分析等等就需要将这些十分宝贵的日志保存下来了。
到这里ELK是什么,为什么要用ELK,什么时候用ELK已经说的很清楚了。
望指正,不吝赐教