第一篇博客

        今天刚好还是金庸老先生去世的日子,也刚好做完我的答辩ppt,顺手写下我的第一篇博客。

        在搭建我的github博客的时候突然发现node.js这个东西在我之前做日志分析搭建ELK平台的时候竟然用过,那就刚好再来看一遍ELK平台。其实近些年,在安全方面感觉在校大学生做日志分析的比较少,大多都往web,逆向等等一些与ctf竞赛关系比较大,以后有比较好就业前景的方向去了,所以其实找日志分析的资料也比较难找,在设计实验的时候也是相当头痛,这篇ELK平台搭建也是参考了很多网上的经验分享,其实也有遇到很多问题,我自己整理的这一份是我认为目前我看到过比较完整的实验步骤了,希望可以为以后还有被要求设计日志分析的伙伴们提供一些参考。

 

Windows环境下ELK平台的搭建

一、实验背景

        日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

        通常,日志被分散的储存不同的设备上。如果需要管理数十上百台服务器,必须依次登录每台机器的传统方法查阅日志,这样很繁琐和效率低下。当务之急是使用集中化的日志管理,开源实时日志分析ELK平台能够完美的解决上述所提到的问题。

 

二、实验工具

       ELK由ElasticSearch(ES)、Logstash和Kiabana三个开源工具组成。

        ES是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

        Logstash是一个完全开源的工具,可以对日志进行收集、分析、并将其存储供以后使用。

        kibana也是一个开源和免费的工具,Kibana可以为Logstash和ES提供的日志分析友好的Web界面,可以帮助汇总、分析和搜索重要数据日志。

可以在ELK官网 https://www.elastic.co/下载最新版本的工具安装包,Windows环境选择后缀为zip格式的下载。如遇下载速度慢或下载中途停止,可以采用VPN代理下载或者云服务器下载。

 

三、安装环境

         本次ELK平台搭建均在Windows环境下进行,Linux平台下环境搭建和Windows下基本类似,就不再介绍。

 

四、安装过程

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,为了配合服务启动顺序,我们安装顺序和启动顺序保持一致。

        解压三个压缩包到同一个目录中,目录的绝对路径中最好不要出现中文字符和空格。如下图(解压到E盘的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服务

        解压完毕后,进入 bin 目录,首先要写响应的配置文件,先新建一个配置文件,pipeline.conf 配置文件主要包括三个部分,分别是 input、filter、output 分别定义了输入来源,过滤规则,输出到什么地方。一个简单地配置文件如下,从控制台输入,在输出到控制台,没有过滤规则。

      配置代码:

 

1 input { stdin { } }
2 
3 output { stdout {} }

 

     然后在命令行执行命令 logstash agent -f pipeline.conf ,运行成功后,在命令行输入 hello world ,显示如下:

     接下来,我们将Logstash服务与ES服务相连。

     修改 logstash 配置文件 pipeline.conf,配置代码如下(为在较快地看到收集效果,此处配置了从控制台输入,也可以自行配置路径):

 

 1     input {
 2 
 3         stdin { }
 4 
 5     }
 6 
 7 
 8     output {
 9 
10         elasticsearch {
11 
12         hosts=>["localhost:9200"]
13 
14         }
15 
16         stdout { codec=>rubydebug}
17 
18     }

 

      执行命令 logstash -f pipeline.conf,然后在控制台输入 hello,显示如下:

     则显示配置成功,在浏览器输入 localhost:9200/_search/pretty 显示如下,则说明 elasticsearch 已接受到数据。

4.5 安装Kibana服务

     安装Kibana到windows服务:从nssm官网上下载nssm压缩包,根据操作系统是32位还是64位提取出压缩包中的nssm.exe,将nssm拷贝到kibana的bin目录下,在cmd中运行nssm install kibana。如下图: 

        填写如下内容: 

    在依赖里面根据填写如下内容(注意:Java是32位的后缀是x86,64位的是x64): 

    最后单击install service按钮,执行安装过程。

 

五、启动服务

       在cmd中运行services.msc打开windows服务,依次启动如下服务:

       Elasticsearch

       Logstash

       Kibana

       在浏览器中输入:http://localhost:5601/,如果出现如下界面,表示服务启动成功:

       单击“create”按钮,然后点击Discover

       此时可返回http://localhost:9200/_plugin/head/,发现在ES服务中也创建了对应的索引。

 

posted @ 2018-10-30 22:58  IcyYs  阅读(137)  评论(0编辑  收藏  举报