介绍ELLK三部分的组成:
关于这三者的安装环境均是Centos7,安装步骤也较简单,详情如下:
《Linux安装Elasticsearch》
《Linux安装Kibana》
Logstash安装:
input {
tcp {
mode => "server"
host => "192.168.145.134" ##安装logstash的ip
port => 4560 ##设置logstash的端口
codec => json_lines
}
}
output {
elasticsearch {
hosts => "127.0.0.1:9200" #es的ip和端口(本次logstash和es是同一个服务器)
index => "springboot-logstash-%{+YYYY.MM.dd}" ##es的index名称
}
}
./logstash -f ../config/logstash-sample.conf #在bin目录下执行
将Logstash的安装步骤写在SpringBoot环境搭建块,是因为Logstash的配置文件和SpringBoot的日志文件有很重要的关系。
SpringBoot环境的搭建:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/net.logstash.logback/logstash-logback-encoder -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>4.11</version>
</dependency>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<!--这里必须和logstash配置文件中input -tcp 中的host 和 port一致-->
<destination>192.168.145.134:4560</destination>
<!-- 日志输出编码 -->
<encoder charset="UTF-8"
class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"logLevel": "%level",
"serviceName": "${springAppName:-}",
"pid": "${PID:-}",
"thread": "%thread",
"class": "%logger{40}",
"rest": "%message"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="LOGSTASH" />
<appender-ref ref="CONSOLE" />
</root>
</configuration>
@RequestMapping("/test")
public String testlogstash() {
logger.info("===================开始logstash的测试");
return "hello word";
}