ELK 上手3 logback接入logstash
Posted 编程圈子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK 上手3 logback接入logstash相关的知识,希望对你有一定的参考价值。
ELK 上手3 logback接入logstash
一、准备工作
- 已安装 Elasticsearch
- 已安装logstash
- Java开发环境
二、Logstash配置
在 Logstash 的config目录下,新建 logstash-logback.conf 文件 :
input
tcp
// 在4560端口接收logback传来的日志
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引用
<!-- https://mvnrepository.com/artifact/net.logstash.logback/logstash-logback-encoder -->
<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"/>
<!-- <filter class="com.program.interceptor.ELKFilter"/>-->
<!-- encoder is required -->
<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. 查看日志
以上是关于ELK 上手3 logback接入logstash的主要内容,如果未能解决你的问题,请参考以下文章
第三十二章 elk- broker架构 + 引入logback
ELK 上手2 在CentOS下安装logstash和Kibana
ELK 上手2 在CentOS下安装logstash和Kibana