β

如何使用elasticsearch、logstash、kibana快速搭建实时日志分析平台

Mindy 88 阅读
最近使用ELK收集分析日志感觉很不错,于是乎就在本地环境尝试搭建了一下,顺便了解一下实现的流程。
虽然ELK很牛逼,可考虑有的小伙伴在实战中还没用到,分享一下网上比较靠谱的简介:
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。

  
了解以上基本情况后,我们开始分步骤进行安装实战。
 去官网分别下载:logstash、elasticsearch、kibana  https://www.elastic.co/cn/downloads
 将下载的ELK解压到指定目录   我的目录是:/usr/local/elk3 安装logstash  ① logstash 依赖于java 需要安装java环境(自行查询安装)  ② 配置logstash,我们使用配置文件形式启动    $ cd /usr/local/elk/logstash-5.3.0/config    $ vim simple-config.conf    添加如下内容:    input {stdin{}}  output {stdout {codec=>rubydebug}}
    启动logStash    $ /usr/local/elk/logstash-5.3.0/bin/logstash -f simple-config.conf    在终端输入:    $ hello world     终端会显示类似下面的结果,代表成功:    4 安装elasticSearch  ① 修改配置:     $ cd /usr/local/elk/elasticsearch-5.3.0/config     $ vim elasticsearch.yml     修改如下内容:     network.host: 127.0.0.1     http.port: 9200  ② 启动elasticSearch,任选下面3种之一     a. /usr/local/elk/elasticsearch-5.3.0/bin/elasticsearch     b. /usr/local/elk/elasticsearch-5.3.0/bin/elasticsearch -d #表示以daemon的方式启动     c. nohup /usr/local/elk/elasticsearch-5.3.0/bin/elasticsearch > /var/log/logstash.log 2>&1 &
  ③ elasticSearch和logStash结合    新增logStash配置文件    $ cd /usr/local/elk/logstash-5.3.0/config         $ vim ela.conf    添加如下内容  input {    stdin {        add_field => {"newFiled" => "hedong"}        codec => "plain"        tags => ["add"]        type => "std"    }  }  output {    elasticsearch {        hosts => ["127.0.0.1:9200”] # elasticSearch的端口是9200        index => "logstash-%{type}-%{+YYYY.MM.dd}” #索引名        document_type => "%{type}"        flush_size => 20 # 攒够20条一次性发送        idle_flush_time => 2 # 如果2秒内还没攒够20条,会自动发送        sniffing => true        template_overwrite => true    }  }
启动logStash$ logstash -f ela.conf这样logStash中收集的日志会自动存入elasticSearch中使用curl或在浏览器中访问:  http://127.0.0.1:9200/_search?pretty内容类似: 
 安装kibana:对收集的日志进行可视化搜索、查看  ① 配置kibana    $ cd /usr/local/elk/kibana-5.3.0/config    $ vim kibana.yml     修改如下内容:     server.port: 5601 #监听端口     server.host: “127.0.0.1"     elasticsearch.url: "http://127.0.0.1:9200”
  ② 启动kibana   $ /usr/local/elk/kibana-5.3.0/bin/kibana
  ③ 打开浏览器访问:http://127.0.0.1:5601     首次会提示设置,使用默认的logstash-*的索引名称,并且是基于时间的,点击“Create”即可。  
搜索刚才写入elasticSearch的日志,大功告成。
 
总结:以上只是ELK平台的搭建过程,还有好多强大的功能,需要结合官网及搜索引擎进一步探索,其实平台搭建起来就完成80%的工作了,剩下的只是细节问题,比如:你可以使用redis队列形式存储日志、可自定义配置日志字段等,希望本篇文章对你有所帮助。
作者:Mindy
我是好人,好人就是我,我就是一码农Mindy

发表评论