natejeams 2017-05-15
引言
我们都知道当我们系统上线以后,一旦出现什么什么问题,系统日志是我们重要的参考依据,当我们系统数据量非常大的时候,通过我们的日志还可以分析出非常多的有价值的信息,可以为公司的发展方向起到指导性作用,但是随着系统的日益庞大,互联网技术的不断发展,现在的日志都分布在很多台服务器上面,这对于日志的收集和分析是个非常大的挑战,显然如果通过传统的方式会死人的,而ELK架构专为收集、分析和存储日志所设计。
ELK作为一个日志收集和检索系统,感觉功能还是相当的强大的。 ELK是啥, 其实是是三个组件的缩写, 分别是elasticsearch, logstash, kibana. ELK平台可以用于实现日志收集、日志搜索和日志分析。
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
下面给大家介绍一下ELK环境的安装:
1、jdk安装
首先检查是否已经安装jdk,如果已经安装有jdk并且版本和上面版本不一样的话,需要先卸载jdk,然后安装
提供版本的jdk。
1、卸载命令:yum groupremove java。
2、将jdk压缩包(jdk-8u45-linux-x64.tar.gz)复制到/opt 目录下
3、在opt路径下面执行命令:Tar zxf jdk-8u45-linux-x64.tar.gz
4、进入/etc目录,修改profile文件 在最后添加下面代码
#JDK1.8
export JAVA_HOME=/opt/jdk1.8.0_45
export JAVA_BIN=/opt/jdk1.8.0_45/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
5、重启系统:reboot
2、elasticsearch安装
1、将elasticsearch-1.7.2.tar.gz 复制到/opt下面
2、解压该安装包
在opt路径下面执行命令:tar zxf elasticsearch-1.7.2.tar.gz
3、启动elasticsearch服务
进入安装的bin目录下:cd opt/elasticsearch-1.7.2/bin
执行命令:./elasticsearch -d (-d确保服务可以在后台运行)
在浏览器中输入:ip+9200端口 出现下面json数据,证明安装成功
1、Head插件安装
保证你的Linux系统可以上网,然后执行下面命令完成安装
./plugin -install mobz/elasticsearch-head
在浏览器中输入:192.168.92.12:9200/_plugin/head 后出现下图效果,说明安装成功
2、bigdesk插件
保证你的Linux系统可以上网,然后执行下面命令完成安装
./plugin -install lukas-vlcek/bigdesk/2.5.0
在浏览器中输入:192.168.92.12:9200/_plugin/bigdesk后出现下图效果,说明安装成功
3、Logstash安装
1、将logstash-1.5.5.tar.gz 复制到/opt下面
2、解压该安装包
在opt路径下面执行命令:tar zxf logstash-1.5.5.tar.gz
4、kibana安装
1、将kibana-4.1.0-linux-x64.tar.gz 复制到/opt下面
2、解压该安装包
在opt路径下面执行命令:tar zxf kibana-4.1.0-linux-x64.tar.gz
3、启动kibana服务
进入安装的bin目录:cd /opt/kibana-4.1.0-linux-x64/bin
然后执行 ./kibana 出现下面效果,证明服务启动成功
在浏览器中输入:ip+5601端口 出现下面效果证明安装成功
小结
上面是在Linux服务器上面的一个基本的环境搭建,但是在企业中一般不会采用这个简单的架构,因为这个架构
是存在一些问题的在性能方面,所以我们为了解决这些问题会对这个架构和别的技术进行结合,从而达到大数据量的
日志收集系统。在后面的博客中小编会陆续详细的介绍里面用到的技术。
另外一部分,则需要先做聚类、分类处理,将聚合出的分类结果存入ES集群的聚类索引中。数据处理层的聚合结果存入ES中的指定索引,同时将每个聚合主题相关的数据存入每个document下面的某个field下。