zoukankan      html  css  js  c++  java
  • windows 10下ELK环境快速搭建实践

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

    但是,在系统分布式后,日志通常被分散的储存不同的设备上。比如当系统为数十上百台服务器,必须依次登录每台机器的传统方法查阅日志,这样很繁琐和效率低下。因此日志的集中化管理是随着系统架构分布式演进,其矛盾越来越明显,而开源实时日志分析ELK平台完美的解决上述矛盾。

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

    • ES是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
    • Logstash是一个完全开源的工具,可以对日志进行收集、分析、并将其存储供以后使用。
    • kibana也是一个开源和免费的工具,他Kibana可以为Logstash和ES提供的日志分析友好的Web界面,可以帮助您汇总、分析和搜索重要数据日志。

    本文用于指导ELK在windows10环境下单机版使用,版本选择:

    • logstash-5.4.3
    • elasticsearch-5.4.3
    • kibana-5.4.3-windows-x86

    由于是单机版,这里采用最简单的架构构建:

    读者可以在ELK官网 https://www.elastic.co/下载最新版本的工具安装包,Windows环境选择后缀为zip格式的下载。

    1.1  准备并安装Java环境

    Java是ELK三软件依赖的运行环境,读者可以在Oracle官网获取最新版的Java版本,由于只是运行不是开发,所以也可以只下载JRE。安装完成后配置安装完成后,配置JAVA_HOME和JRE_HOME环境变量。执行如下命令成功:

    C:Users45014>java -version

    java version "1.8.0_171"

    Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

    Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

    由于Logstash服务依赖ES服务,Kibana服务依赖Logstash和ES,所以这里建议ELK的服务启动顺序为:ES->Logstash->Kibana,为了配合服务启动顺序,我们安装顺序和启动顺序保持一致。

    1.2  Elasticsearch安装并使用

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

    1、编辑ES配置文件:

    进入目录:

    D:Studycodeprojectelasticsearch-5.4.3configelasticsearch.yml,修改如下配置:

     network.host:192.168.1.106       #ES的网络IP

     http.port: 9200       #ES服务端口

    2、启动ES

    进入目录D:Studycodeprojectelasticsearch-5.4.3in执行

    elasticsearch.bat

    打开浏览器访问,展现如下信息表示成功。

    3、elasticsearch-head安装

    elasticsearch-head是一个用于管理Elasticsearch的web前端插件

    https://github.com/mobz/elasticsearch-head

    运行环境准备NodeJS,Grunt

    npm install -g grunt-cli

    git clone git://github.com/mobz/elasticsearch-head.git

    cd elasticsearch-head

    npm install

    修改elasticsearch.yml,增加跨域的配置(需要重启es才能生效)

    http.cors.enabled: true

    http.cors.allow-origin: "*"

    编辑elasticsearch-head/Gruntfile.js,修改服务器监听地址,connect节点增加hostname属性,将其值设置为*

    connect: {

        server: {

            options: {

                hostname:'*',

                port: 9100,

                base: '.',

                keepalive: true

            }

        }

    }

    编辑elasticsearch-head/_site/app.js, 修改默认es地址为http://192.168.1.102:9200/, 也可以不修改。

     启动

    npm run start

    浏览器打开http://192.168.1.106:9100/

     

    注意下列信息需要在Logstash连接ES上后才可以展现。

     

    查看数据是否已经同步到ES。

     

    ES数据默认存储位置:

    D:Studycodeprojectelasticsearch-5.4.3data

    1.3  Logstash安装并使用

    Logstash是一个接收,处理,转发日志的工具。支持各种类型的日志。

    进入 D:Studycodeprojectlogstash-5.4.3config,然后新建Logstash日志分析配置文件logstash.conf,内容如下:

     input {

        file {

            type => "nginx_access"

            path => "D: ginxlogsaccess.log"

        }

    }

    output {

        elasticsearch {

            hosts => ["192.168.1.106:9200"]

            index => "access-%{+YYYY.MM.dd}"

        }

        stdout {

            codec => json_lines

        }

    }

    2、启动Logstash

    logstash.bat -f ../config/logstash.conf

    并在D: ginxlogsaccess.log文件中添加如下数据。

     

    请转到ES查看数据同步情况。

    1.4  Kibana安装并使用

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

    1、编辑Kibana配置文件:

    D:Studycodeprojectkibana-5.4.3-windows-x86configkibana.yml 修改如下配置

    server.port: 5601    #本机的端口

    server.host: 192.168.1.102  #本机IP地址

    elasticsearch.url: http://192.168.1.102:9200  #ES的服务IP+端口

    2、启动Kibana

    D:Studycodeprojectkibana-5.4.3-windows-x86in 执行

     kibana.bat

    3、浏览Kibana数据

    kibana: http://192.168.1.102:5601/

     

    刚才在写入数据的时候已经创建了access开头的索引,因此这里需要创建access-*

     

    输入access-*,然后点击create

     

    点击discover,页面展现获取的数据

     

    1.5  总结

  • 相关阅读:
    【rust】Rust 的构建系统和包管理工具Cargo认识并初步使用(2)
    【rust】rust安装,运行第一个Rust 程序 (1)
    linux 双网卡桥接,实现网卡流量镜像与转发
    【原创】使用golang访问windows telnet服务器
    使用centos 7安装conpot
    用Redis作Mysql数据库缓存
    python解析处理snmp回显----snmp
    snmp自定义OID与文件下载----服务器端配置
    golang map输出排序
    计算机组成原理---第1章 计算机系统概述
  • 原文地址:https://www.cnblogs.com/taoweizhong/p/10462194.html
Copyright © 2011-2022 走看看