Docker安装ELK结合Springboot应用

环境搭建

版本介绍

组件版本号
logstash7.6.2
elasticsearch7.6.2
kibana7.6.2

Docker安装ELK

安装Elasticsearch

1、 启动elasticsearch

linux
复制代码
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-d elasticsearch:7.6.2

2、 安装中文分词器IKAnalyzer

linux
复制代码
# 进入容器
docker exec -it elasticsearch /bin/bash
# 安装分词器
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
# 退出容器
exit
# 重启
docker restart elasticsearch
安装Logstash

1、 下载logstash

linux
复制代码
docker pull logstash:7.6.2

2、 创建配置文件

linux
复制代码
mkdir /mydata/logstash
cd /mydata/logstash
vi logstash.conf

logstash.conf配置文件如下:

linux
复制代码
input {
# 读取网络数据采用tcp,生产环境不建议使用,因为tcp只能在sizeQueue中缓存20个事件(日志记录)
  tcp {
    mode => "server"
    host => "0.0.0.0"
    # 定义的端口
    port => 4560
    # codec表示使用的插件,json_lines就是之前安装的插件
    codec => json_lines
    # type可以自定义名称
    type => "debug"
  }
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4561
    codec => json_lines
    type => "error"
  }
  redis {
    # data_type有三种类型
    # list => BLPOP
    # channel => SUBSCRIBE
    # pattern_channel => PSUBSCRIBE
    data_type => "pattern_channel"
    # 订阅的key,可以使用模糊
    key => "logstash-*"
    # redis服务器
    host => "192.168.1.41"
    # redis端口
    port => 6379
    threads => 5
  }
}
# 过滤器,对数据进行处理
filter{
  # 对type=error的日志进行过滤
  if [type] == "error" {
    mutate {
      remove_field => "port"
      remove_field => "host"
      remove_field => "@version"
    }
    # 启用json插件解码
    json {
      # 解码的key名称
      source => "message"
      # 如果json是多层结构,设置target=jsoncontent
      target => "jsoncontent"
    }

  }
}
output {
  # 将日志输出到elasticsearch
  elasticsearch {
    # 地址
    hosts => "192.168.1.41:9200"
    # 日志文件名称格式,type引用input中定义的type值
    index => "log-%{type}-%{+YYYY.MM.dd}"
  }
}

具体的其它类型配置说明可以参考链接 \

3、 启动logstash服务

linux
复制代码
docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \
--link elasticsearch:es \
-v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-d logstash:7.6.2

4、 在logstash安装json_lines插件

linux
复制代码
# 进入容器
docker exec -it logstash /bin/bash
# 进步bin目录
cd /bin/
# 安装插件
logstash-plugin install logstash-codec-json_lines
# 退出容器
exit
# 重启logstash
docker restart logstash
安装Kibana
linux
复制代码
# 下载
docker pull kibana:7.6.2
# 启动
docker run --name kibana -p 5601:5601 --link elasticsearch:es -e "elasticsearch.hosts=http://es:9200" -d kibana:7.6.2

通过访问http://ip:5601 进入kibana

界面说明

image.png

image.png

image.png

image.png

image.png

整合Springboot

  1. Maven导入
xml
复制代码
<!--集成logstash-->
<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>5.3</version>
</dependency>
  1. 修改日志文件,将日志输出到logstash
xml
复制代码
<!-- appender可以配置多个,每一个可以分别记录不同的日志,输出到logstash配置的端口中 -->
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <!--可以访问的logstash日志收集端口,该端口可以在logstash中配置,可以有多个-->
    <destination>192.168.1.41:4560</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<appender name="LOGSTASHINFO" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <destination>192.168.1.41:4561</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
  1. 启动项目并访问,那么打印的日志最终会输出到kibana中

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉CSDN大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉CSDN大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值