搭建日志分析系统ELK

elasticsearch.jpg

日志分析组件3件套:

  • E:Elasticsearch是一个搜索引擎,基于Lucene,天然分布式,很容易水平扩展,屏蔽了复杂的分布式概念,对外提供RESTfulAPI。
  • L:Logstash用于收集日志,写入Elasticsearch
  • K:Kibana是一个展示层,基于NodeJS,可以图标形式展示数据,界面简洁。 这3大组件,都可以在 这里 直接下载。

搭建安装步骤:

  • 下载elasticsearch,解压后,运行bin/elasticsearch -d,以守护进程形式启动,打开localhost:9200会返回json信息如下,说明启动成功。
    json.png

  • 下载Logstash,解压,在/bin/config下创建一个配置文件vi logstash.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
input {
tcp {
host => "192.168.1.91" # 要监听的日志来源地址
port => 4567
mode => "server"
}
}
output {
stdout{ codec => rubydebug }
elasticsearch {
hosts => ["192.168.1.91:9200"] # elasticsearch中配置的host地址
}
}
  • 指定配置文件并后台启动:bin/logstash -f logstash.conf &
  • 在你的应用程序中配置日志输出到Logstash,比如Logback.xml
    1. 引入logstash-logback-encoder:compile group: 'net.logstash.logback', name: 'logstash-logback-encoder', version: '4.11'
    2. 配置logback.xml
1
2
3
4
5
6
7
8
9
10
11
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.1.91:4567</destination>
<!-- encoder is required -->
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="DEBUG">
<appender-ref ref="stdout"/>
<appender-ref ref="fileout"/>
<appender-ref ref="stash"/>
</root>
  • 下载Kibana,解压后启动:bin/kibana &,打开localhost:5601即可。

注意事项