ELK简介:
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。
Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
Elasticsearch 安装
ElasticSearch在linux上安装部署 - socket强 - 博客园
Logstash 安装
首先下载 logstash-5.6.3.tar.gz (可根据自己情况选择版本)
进行文件解压 tar -zxvf logstash-5.6.3.tar.gz
cd logstash-5.6.3/config
创建 test.conf
input{
tcp {
mode => "server"
host => "0.0.0.0" #我这里是本地
port => 9061 #开放这个端口进行采集
codec => json_lines # 编解码器 有的版本需要肚子安装
}
}
output{
elasticsearch{ #es地址
hosts=>["127.0.0.1:9200"]
# 在es里产生的index的名称
index => "springboot-lx-%{+YYYY.MM.dd}"
}
stdout{codec => rubydebug}
}
进入 bin 目录 启动 logstash
./logstash -f ../config/test.conf
Kibana安装
Kibana在Linux下的安装和启动、访问_殇莫忆的博客-CSDN博客_kibana安装linux
Spring Boot 项目添加一下配置
pom文件 添加 maven 依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.4</version> </dependency> <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>4.9</version> </dependency>
resources 目录下新增 logback.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="30 seconds" debug="true"> <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>192.168.116.200:9061</destination> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" /> </appender> <root level="INFO"> <appender-ref ref="LOGSTASH" /> </root> </configuration>
测试日志采集功能
添加测试接口并添加日志输出并查看Elasticsearch数据