博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5.32. Spring boot with ELK(Elasticsearch + Logstash + Kibana)
阅读量:6321 次
发布时间:2019-06-22

本文共 2192 字,大约阅读时间需要 7 分钟。

将 Spring boot 日志写入 ELK 有多种实现方式,这里仅提供三种方案:

  1. Spring boot -> logback -> Tcp/IP -> logstash -> elasticsearch

    这种方式实现非常方便不需要而外包或者软件
  2. Spring boot -> logback -> Redis -> logstash -> elasticsearch

    利用 Redis 提供的发布订阅功能将日志投递到 elasticsearch
  3. Spring boot -> logback -> Kafka -> logstash -> elasticsearch

    Kafka 方法适合大数据的情况。

5.32.1. TCP 方案

logstash 配置

input {  tcp {    host => "172.16.1.16"     port => 9250    mode => "server"    tags => ["tags"]    codec => json_lines  //可能需要更新logstash插件  }}output { stdout{codec =>rubydebug}  elasticsearch {   hosts => ["localhost:9200"]  //这块配置需要带端口号    flush_size => 1000  }}

Spring boot logback.xml 配置

%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
172.16.1.16:9250

5.32.2. Redis 方案

https://github.com/kmtong/logback-redis-appender

Maven pom.xml 增加 Logback Redis 依赖

com.cwbase
logback-redis-appender
1.1.5

Spring boot logback.xml 配置

spring-application
${type.name}
localhost
logstash:redis
test-2
true
true
0
MyKey
MyValue
MySecondKey
MyOtherValue

logstash 配置

input {    redis {        host => 'localhost'        data_type => 'list'        port => "6379"        key => 'logstash:redis' #自定义        type => 'redis-input'   #自定义    }}output {    elasticsearch {        host => "localhost"         codec => "json"        protocol => "http"    }}

5.32.3. Kafka 方案

 

5.32.4. Other

 

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

你可能感兴趣的文章
C# 视频监控系列(6):服务器端——封装API(上) [HikServer.dll]
查看>>
SqlService过期的解决方案
查看>>
由于字符集问题导致 Package Body created with compilation errors.
查看>>
Express模版引擎hbs备忘
查看>>
Symantec Backup Exec Remote Agent 2010在Redhat Enterprise 6.6上启动问题
查看>>
关于redo writing竞争
查看>>
Android下 使用百度地图sdk
查看>>
Qt之重启应用程序
查看>>
c++ template学习总结3
查看>>
INBOUND_CONNECT_TIMEOUT与SQLNET.INBOUND_CONNECT_TIMEOUT小结
查看>>
codeforces A. Bayan Bus(简单模拟)
查看>>
App提交审核被拒的原因汇总(不断更新...)
查看>>
iOS之小功能模块--彩虹动画进度条学习和自主封装改进
查看>>
Cocos2D旋转炮塔到指定角度(二)
查看>>
【C++】步步为营之知识点积累
查看>>
调试U-Boot笔记(八)
查看>>
项目ITP(五) spring4.0 整合 Quartz 实现任务调度
查看>>
轻松自动化---selenium-webdriver(python) (三)
查看>>
【DataGuard】ORA-16032: parameter destination string cannot be translated
查看>>
iOS开发之SQLite--C语言接口规范(四) —— Result Values From A Query  
查看>>