美文网首页我爱编程
windows下ELK平台搭建

windows下ELK平台搭建

作者: 留一段空白 | 来源:发表于2018-05-17 10:07 被阅读0次

    1.背景

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

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

    2.工具

    ELK由ElasticSearch(ES)、Logstash和Kibana三个开源工具组成。
    ES是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

    Logstash是一个完全开源的工具,可以对日志进行收集、分析、并将其存储供以后使用。
    kibana也是一个开源和免费的工具,Kibana可以为Logstash和ES提供的日志分析友好的Web界面,可以帮助我们汇总、分析和搜索重要数据日志。

    可以在ELK官网下载ELK最新版本(6.2.3)的工具安装包,Windows环境选择后缀为zip格式的下载,其中Kibana选择windows选项。如遇下载速度慢或下载中途停止,可以采用VPN代理下载或者云服务器下载。

    3.安装环境

    Windows环境(Windows 7)

    4.安装步骤

    4.1安装配置Java环境

    在Oracle官网获取最新版的Java版本,要求至少为1.8 以上版本。JDK官网
    安装过程比较简单,第一步在安装目录下新建JDK和JRE2个文件夹,第一次安装为JDK,第二次为JRE。安装完成后,在计算机的属性->高级系统设置->环境变量中配置JAVA_HOME,如下图所示:

    image1.png

    在cmd命令窗口中运行java -version命令,如果显示如下结果,表示安装成功:

    image2.png

    4.2安装ELK

    由于Logstash服务依赖ES服务,Kibana服务依赖Logstash和ES,所以ELK的服务启动顺序为:ES->Logstash->Kibana,为了配合服务启动顺序,我们安装顺序和启动顺序保持一致。
    解压三个压缩包到同一个目录中,目录的绝对路径中最好不要出现中文字符和空格。如下图(解压到E盘的ELK目录下):

    image3.png

    4.3安装ES服务和插件

    4.3.1安装ES服务

    cmd进入elasticsearch的bin目录,运行elasticsearch-service install,安装ES服务,如下图:

    image4.png

    运行 elasticsearch-service manager,管理配置ES,点击Start启动服务,下方的Startup type设置为Automatic,如下图:

    image5.png

    至此,ES服务安装配置基本完成。
    打开浏览器,输入http://localhost:9200/,若出现以下结果,则表示安装成功,服务启动。

    image6.png

    4.3.2安装head插件

    1. 下载nodejs,点击nodejs官网,在LTS下选择对应版本下载,如下图:
    image7.png
    1. Cmd进入dos命令界面,执行node -v查看是否成功
    image8.png
    1. 在nodejs目录下执行 npm install -g grunt-cli 安装grunt ,-g代表全局安装,安装路径为C:\Users\yourname\AppData\Roaming\npm,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号。
    image9.png
    1. 修改elasticsearch.yml文件
    # 集群名字
    cluster.name: es-6.3 
    # ------------------------------------ Node ------------------------------------
    # node节点名字:
    node.name: node-101 
    # ----------------------------------- Paths ------------------------------------
    # 数据存储目录(多个路径用逗号分隔)
    path.data: E:/ELK/elasticsearch-6.2.3/data 
    # 日志目录
    path.logs: E:/ELK/elasticsearch-6.2.3/logs 
    # ----------------------------------- Memory -----------------------------------
    # 本机IP地址
    network.host: 0.0.0.0 
    # 本机端口号,默认即可:
    http.port: 9200 
    # --------------------------------- Discovery ----------------------------------
    # 增加新的参数,这样head插件可以访问es
    http.cors.enabled: true 
    http.cors.allow-origin: "*" 
    node.master: true 
    node.data: true 
    
    1. 启动ES服务,这个可以在serrvices.msc上启动,也可在bin目录下输入elasticsearch-service start启动。

    2. 把head的源码clone过来,在此之前需要在git官网安装git,然后在ES的bin目录下执行git clone git://github.com/mobz/elasticsearch-head.git

    3. 在Gruntfile.js修改head插件源码,找到connect的地方,修改如下:

         connect: {
                server: {
                    options: {
                        port: 9100,
                                            hostname: '*',
                        base: '.',
                        keepalive: true
                    }
                }
            }
    
    1. 在elasticsearch-head目录下运行
    npm install
    
    grunt server
    
    1. 输入localhost:9100,可查看集群状态,至此ES成功安装。

    4.4安装Logstash服务

    1. 在logstash文件夹的bin目录里新建logstash.conf配置文件,具体内容如下,具体参数可以自定义:
    input {
    tcp {
    port=>5549        
    }}
    output {
    elasticsearch {
    hosts => ["localhost:9200"]
    index => "test-logstash-%{+YYYY-MM}"         
    }}
    
    1. 在bin目录中新建logstash启动文件run.bat,内容如下:
    ![image11.png](https://img.haomeiwen.com/i12218239/d978485e0199780c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    image12.png
    image13.png
    1. 安装logstash到windows服务:从nssm官网下载nssm压缩包,根据操作系统是32位还是64位提取出压缩包中的nssm.exe,拷贝到logstash的bin目录下,在cmd中运行nssm install logstash,出现安装界面并填写相应的内容,在依赖(dependencies)里面根据填写如下内容(注意:Java是32位的后缀是x86,64位的是x64):

    添加依赖的原因是,logstash的输出配置的是Elasticsearch,如果Elasticsearch没有启动,logstash无法正常工作。
    最后单击install service按钮,执行安装过程(注意这里若出现警告的话,选择允许执行全部操作)。

    4.5安装Kibana服务

    安装Kibana服务和logstash服务步骤基本相同,将nssm.exe拷贝到kibana的bin目录下,在cmd中运行nssm install kibana,填写如下内容,最后单击install service按钮,执行安装过程:

    image14.png
    image15.png

    5.启动服务

    在cmd中运行services.msc打开windows服务,依次启动如下服务:
    Elasticsearch->Logstash->Kibana
    在浏览器中输入:http://localhost:5601/ ,如果出现如下界面,表示服务启动成功:

    image16.png

    至此,所有服务安装完成,平台搭建完成,后续集群的部署还需要在ELK的各个配置文件中进行详细的配置,安装配置过程中出现的各种问题和解决方案也会在后面详细说明。

    相关文章

      网友评论

        本文标题:windows下ELK平台搭建

        本文链接:https://www.haomeiwen.com/subject/hlovdftx.html