1.背景
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果需要管理数十上百台服务器,必须依次登录每台机器的传统方法查阅日志,这样很繁琐和效率低下。当务之急是使用集中化的日志管理,开源实时日志分析ELK平台能够完美的解决上述所提到的问题。
2.工具
ELK由ElasticSearch(ES)、Logstash和Kiabana三个开源工具组成。
ES是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,可以对日志进行收集、分析、并将其存储供以后使用。
kibana也是一个开源和免费的工具,他Kibana可以为Logstash和ES提供的日志分析友好的Web界面,可以帮助您汇总、分析和搜索重要数据日志。
可以在ELK官网 https://www.elastic.co/下载最新版本的工具安装包,Windows环境选择后缀为zip格式的下载。如遇下载速度慢或下载中途停止,可以采用VPN代理下载或者云服务器下载。
3.安装环境
本次ELK平台搭建均在Windows环境(Windows 10)下进行,Linux平台下环境搭建和Windows下基本类似,就不再介绍。
4.安装过程
4.1安装配置Java环境
在Oracle官网获取最新版的Java版本,由于只是运行不是开发,所以也可以只下载JRE。官网:http://www.oracle.com/
安装过程比较简单,运行可执行文件一直下一步即可。安装完成后,配置JAVA_HOME和JRE_HOME,如下图所示:
在cmd命令窗口中运行java -version命令,如果现实如下结果,表示安装成功:
4.2安装ELK
由于Logstash服务依赖ES服务,Kibana服务依赖Logstash和ES,所以ELK的服务启动顺序为:ES->Logstash->Kibana,为了配合服务启动顺序,我们安装顺序和启动顺序保持一致。
解压三个压缩包到同一个目录中,目录的绝对路径中最好不要出现中文字符和空格。如下图(解压到D盘的ELK目录下):
4.3安装ES服务
cmd进入elasticsearch的bin目录,运行Service install,安装ES服务,如下图:
运行 service manager,管理配置ES,点击Start启动服务,如下图:
如果启动未成功,检查以下配置是否正常,如图:
至此,ES服务安装配置基本完成。
打开浏览器,输入http://localhost:9200/,若出现以下结果,则表示安装成功,服务启动:
安装head插件,在bin目录下,运行plugin install mobz/elasticsearch-head。安装完成后,在浏览器里输入:http://localhost:9200/_plugin/head/,出现类似以下结果,表示插件安装成功:
4.4安装Logstash服务
在logstash文件夹的bin目录里新建logstash.conf配置文件,具体内容如下,具体参数可以自定义:
在bin目录中新建logstash启动批处理文件run.bat
内容如下:
安装logstash到windows服务:从nssm官网上下载nssm压缩包,根据操作系统是32位还是64位提取出压缩包中的nssm.exe,拷贝到logstash的bin目录下,在cmd中运行nssm install logstash,出现安装界面并填写相应的内容:
在依赖里面根据填写如下内容(注意:Java是32位的后缀是x86,64位的是x64):
添加依赖的原因是,logstash的输出配置的是Elasticsearch,如果Elasticsearch没有启动,logstash无法正常工作。
最后单击install service按钮,执行安装过程。
4.5安装Kibana服务
安装Kibana服务和logstash服务步骤差不多,将nssm拷贝到kibana的bin目录下,在cmd中运行nssm install kibana,填写如下内容:
依赖里面配置如下内容:
最后单击install service按钮,执行安装过程。
5.启动服务
在cmd中运行services.msc打开windows服务,依次启动如下服务:
Elasticsearch
Logstash
Kibana
在浏览器中输入:http://localhost:5601/,如果出现如下界面,表示服务启动成功:
单击“create”按钮,然后点击Discover
至此,所有服务安装完成,平台搭建完成,后续集群的部署还需要在ELK的各个配置文件中进行详细的配置,安装配置过程中出现的各种问题和解决方案也会在后面详细说明。如有疑问:请发邮件至pilihaotian@163.com,欢迎指正交流。