springboot+elasticsearch+logstash+kibana

Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在是使用最广的开源搜索引擎之一。

Logstash 简单来说就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端,与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供了很多功能强大的滤网以满足你的各种应用场景。

Kibana 是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图标、表格、地图等,kibana能够很轻易的展示高级数据分析与可视化。

1.elasticsearch+logstash+kibana的下载(注意版本保持一致)
下载中心:https://elasticsearch.cn/download/

2.elasticsearch的配置
windows:bin目录下直接点击elasticsearch.bat启动;
启动之后,访问:http://localhost:9200
es
3.kibana的配置
进入config目录,编辑kibana.yml
kibana_1

server.port: 5601
server.name: “kibana”
server.host: “0.0.0.0”
elasticsearch.hosts: “http://127.0.0.1:9200”
kibana.index: “.kibana”

启动:bin/kibana.bat
启动之后,访问:http://localhost:5601
kibana_2
4.logstash的配置

解压后输入命令logstash -e “”,可以测试logstash,该命令启动之后,输入hello world!
logstash_1
4.1 在bin中添加logstash.conf文件:

input{
	tcp{
		mode => "server"
		host => "127.0.0.1"
		port => 5044
		codec => json_lines
	}
}

output{
	#控制台直接输出
	stdout{
		codec => rubydebug
	}
	#可以注释掉elasticsearch部分,查看控制台是否输出,判断logback->logstash是否生效,@zhengkai.blog.csdn.net
	elasticsearch {
		hosts => ["127.0.0.1:9200"]
		index => "log-%{+YYYY.MM.dd}"
	}
}

4.2 在bin下开启cmd,logstash启动:logstash -f logstash.conf

5.springboot的配置

5.1 pom中引用:

<dependency>
	<groupId>net.logstash.logback</groupId>
	<artifactId>logstash-logback-encoder</artifactId>
	<version>7.0</version>
</dependency>

5.2 在resources下添加logback-spring.xml

<?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>localhost:5044</destination>
        <!-- 日志输出编码 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>

    <root level="INFO">
        <appender-ref ref="LOGSTASH" />
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

5.3 application.properties 修改配置

logging.config=classpath:logback-spring.xml
#包名根据个人的工程名而定
logging.level.com.yjxl.demo=debug

5.4 在springboot项目的controller打印日志,访问 http://localhost:8080/elk,可以看到启动 logstash 的控制台输出日志,就可以了。

@RestController
@RequestMapping("/elk")
@Slf4j
public class ELKController {

    @GetMapping
    public void index() throws Exception {
        log.info("测试的elk的info日志收集");
        log.error("测试的elk的error日志收集");
        log.debug("测试的elk的debug日志收集");
    }

}

logstash

6.日志查看

6.1 create index patterns
view_1
6.2 discover
view_2
the end…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值