ELK 上手3 logback接入logstash
一、准备工作
- 已安装 Elasticsearch
- 已安装logstash
- Java开发环境
二、Logstash配置
在 Logstash 的config目录下,新建 logstash-logback.conf 文件 :
input {
tcp {
host => "0.0.0.0"
port => 4560
mode => "server"
tags => ["tags"]
codec => json_lines
}
}
output {
stdout { codec => rubydebug }
#输出到es
elasticsearch { hosts => "127.0.0.1:9200" }
}
启动时,加载该配置文件:
nohup ./bin/logstash -f config/logstash-logback.conf &
三、Logback设置
1. pom.xml引用
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
2. logback-spring.xml设置
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>你的logstash ip</destination>
<param name="Encoding" value="UTF-8"/>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
<customFields>{"appname":"${appName}"}</customFields>
</encoder>
</appender>
这样就可以测试log了。
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
@WebAppConfiguration
public class ConstantsTest {
@Test
public void Test() {
for(int i=0;i<5;i++) {
log.info("{},测试日志{}",i, "看看可能写入logstash");
}
}
}
可以看到logstash的日志: logback的日志已经传到了logstash。
四、kibana查看日志
点开Kibana的Discover。
1. 设置索引
2. 查看日志
|