• 2017.7.18 windows下ELK环境搭建


    参考来自:Windows环境下ELK平台的搭建

    另一篇博文:2017.7.18 linux下ELK环境搭建

    0 版本说明

    因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7,所以采用的是5.0前的最新版本。

    1 Elasticsearch : 2.4.4
    2 Logstash:2.4.1 
    3 kibana:4.6.4 

    操作环境:(windows 2003上操作过,提示kibana不支持该系统)

    1 下载和解压

    下载地址:https://www.elastic.co/downloads

    其中nssm是用来注册windows服务的。

    解压三个压缩包到同一个目录中,目录的绝对路径中最好不要出现中文字符和空格,解压目录如下:

    2 安装Elasticsearch服务

    2.1 修改配置文件elasticsearch.yaml

    为了能通过浏览器访问elasticsearch,需要修改配置文件elasticsearch.yaml的host和port。

    2.2 cmd至elasticsearch的bin目录,执行Service install

    2.3 bin目录下运行service manager,进行配置

     

    2.4 访问localhost:9200 来验证

    访问localhost:9200,出现如下页面则安装并启动服务成功。

    2.5 安装head插件

    仍然在bin目录下,执行plugin install mobz/elasticsearch-head

     访问localhost:9200/_plugin/head/,出现如下页面,表示安装head插件成功。这里已经有一些建好的索引了。

     3 安装Logstash服务

    3.1 在bin目录下,新建配置文件logstash.conf和run.bat

    3.2 logstash.conf

    简单的配置如下:input和output为必填,filter可以根据需求来写或者不写。因为这里处理的数据为json,所以在codec里设置了json

    更详细的配置参看官网。

     1 input{
     2     file{
     3       path => "E:/lyh/software/ELK/sample/data/accounts.json"
     4       start_position => "beginning"
     5       type => "testdata"
     6       codec => json{
     7         charset => "UTF-8"
     8       }
     9     }
    10 }
    11 
    12 filter{
    13 }
    14 
    15 output{
    16    elasticsearch{
    17         hosts => "localhost:9200"
    18         index => "logstash-%{type}"
    19    } 
    20 }

    3.3 run.bat

    1 logstash.bat agent -f logstash.conf

    3.4 通过nssm安装logstash服务

    根据操作系统的位数是32还是64,取出对应的nssm.exe,放入logstash的bin目录下。

    在cmd中运行nssm install logstash。

    在跳出来的窗口中配置application和dependences页。

    4  安装kibana服务

    4.1 通过nssm安装logstash服务

    根据操作系统的位数是32还是64,取出对应的nssm.exe,放入kibana的bin目录下。

    在cmd中运行nssm install kibana。

    在弹出的窗口中配置application和dependences页。

     

    4.2 查看ELK服务是否成功启动

    在cmd中运行services.msc,打开windows服务,查看是否已经成功安装并启动。如果没有启动,在这里直接启动也一样。

     

    4.3 访问localhost:5601 来验证

    访问localhost:5601,出现如下画面则成功:

    5  使用ELK处理数据

    上面访问localhost:5601的时候,可以看到有一个提示:unable to fetch mapping,do you have indices matching the pattern?

    而访问localhost:9200的时候,也可以看到索引里没有刚刚logstash.conf配置里的:logstash-testdata

      

    这是因为数据没有被成功写入,造成原因是对于logstash来说数据没有更新。
    打开account.json,随意修改(内容可以不变但是要有操作)然后点击保存。重启服务后,再刷新这两个页面就有新数据了。

    ps:只要重启elasticsearch服务,就会一起启动其他两个服务。

    刷新页面后可以看到elasticsearch中已经有了新的索引和数据:

     这个时候再去kibana中创建对应的索引,就可以查看相应的数据了。此时的提示已经不见,变成了create。

    点击创建后,访问kibana的discover页,就可以看到数据了。

     经过一些处理后,可以看到一些更直观的画面信息。

  • 相关阅读:
    zabbix之自定义告警
    Appium获取toast消息
    fiddler在小米8下抓取https数据包.
    shell 获取指定ip的丢包率
    打造个人多媒体服务器之二
    关于pycharm+opencv没有代码提示的问题解决方法记录
    chrome出现“由贵单位管理”原因及解决方法
    jQuery 页面加载后执行的事件(3 种方式)
    VSCode
    2019.7月-前端面试总结(H5+C3+JS+ES6+Vue+浏览器)
  • 原文地址:https://www.cnblogs.com/lyh421/p/7204632.html
Copyright © 2020-2023  润新知