ELK = ElasticSearch + Logstash + Kibana的集合。ELK主要用于日志的集中管理、快速查询和分析。主要是通过 Logstash 将应用系统的日志通过 input 收集,然后通过内部整理,通过 output 输出到 Elasticsearch 中,其实就是建立了一个 index,然后 kibana作为可视化平台,将 ES 的index进行输出到平台展示。
- ELK下载地址:https://www.elastic.co/downloads/
下载完成后,需要分别对其进行处理,下面是步骤
2、ElasticSearch安装
2.1、解压ElasticSearch
2.2、修改config/elasticsearch.yml配置文件(也是默认配置,可以不做修改)
network.host=localhost
network.port=9200
2.3、修改windows认证,将下图框出来的改为false,不然windows报错,windows下开启了安全认证,改为false就为免密登录。
2.4、双击elasticsearch.bat
,启动成功,访问localhost:9200
3、Logstash安装
3.1、解压Logstash
3.2、在bin目录中创建logstash.conf文件,加入配置如下
input{
tcp {
mode => "server"
host => "127.0.0.1"
port => 9061 #开放这个端口进行采集
codec => json_lines # 编解码器 有的版本需要独自安装
}
}
output{
elasticsearch{
#es地址
hosts=>["127.0.0.1:9200"]
# 在es里产生的index的名称
index => "logstash"
}
stdout{codec => rubydebug}
}
3.3、启动Logstash(在bin目录终端中):logstash -f ./bin/logstash.conf
4、Kibana安装
4.1、解压Kibana
4.2、将kibana/config/kibana.yml
中的默认配置#i18n.locale: "en"
改为i18n.locale: "zh-CN",页面即为中文版
4.3、启动,双击bin目录下的kibana.bat,然后访问:http://localhost:5601/
5、springboot集成logstash
5.1 、pom.xml添加依赖
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.6</version>
</dependency>
5.2、配置logback.xml
----------省去自己的配置----------
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>127.0.0.1:9061</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="INFO">
<appender-ref ref="LOGSTASH"/>
</root>
6、kibana添加索引,具体步骤
找到management下的stack management,点进去,如下图
点进去后,再找到数据视图,右上角创建数据视图,添加logstash.conf配置文件里面es索引的index。如下图
索引创建好后,可以在索引管理中看到自己创建的索引。如下图
创建好索引后,在首页Discover中看到elk收集的日志信息。如下图。查询可以用es的查询语句查询。