首页 > 其他分享 >spring boot集成elk 7.9.1

spring boot集成elk 7.9.1

时间:2023-11-04 23:48:20浏览次数:32  
标签:opt -- spring boot kibana elasticsearch docker 7.9 logstash

一、组件安装

es

第一次运行es

 docker run -d \
  --name elasticsearch \
  --env ES_JAVA_OPTS=-"Xms1024m -Xmx1024m" \
  --env "discovery.type=single-node" \
  --env TZ=Asia/Shanghai \
  -p 9200:9200/tcp \
  -p 9300:9300/tcp \
  --restart=always \
  elasticsearch:7.9.1

将容器内的文件复制到主机上

 # 这里要提前新建文件夹 否则第一次cp的是容器文件夹下的内容 而不是容器文件夹
 mkdir /opt/elasticsearch/
 docker cp elasticsearch:/usr/share/elasticsearch/config /opt/elasticsearch/
 mv /opt/elasticsearch/config /opt/elasticsearch/conf
 docker cp elasticsearch:/usr/share/elasticsearch/data /opt/elasticsearch/
 docker cp elasticsearch:/usr/share/elasticsearch/logs /opt/elasticsearch/

删除上面容器 正式运行

 docker rm -f elasticsearch
 ​
 docker run -d \
  --name elasticsearch \
  --env ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
  --env "discovery.type=single-node" \
  --env TZ=Asia/Shanghai \
  -p 9200:9200/tcp \
  -p 9300:9300/tcp \
  --restart=always \
  -v /opt/elasticsearch/conf:/usr/share/elasticsearch/config \
  -v /opt/elasticsearch/data:/usr/share/elasticsearch/data \
  -v /opt/elasticsearch/logs:/usr/share/elasticsearch/logs \
  elasticsearch:7.9.1

修改elasticsearch.yml 配置跨域相关 否则es-head无法连接

 cluster.name: "docker-cluster"
 network.host: 0.0.0.0
 # 增加下面两行
 http.cors.enabled: true
 http.cors.allow-origin: "*"

安装ik分词器

 # 进入elasticsearch容器
 docker exec -it elasticsearch /bin/bash
 # 下载并安装ik分词器
 elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.1/elasticsearch-analysis-ik-7.9.1.zip
 # 退出容器
 exit
 # 重启elasticsearch容器
 docker restart elasticsearch

装分词器前

image-20231104224928738

装完分词器测试

image-20231104224354077

es-head

第一次运行

 docker run -d \
  --name elastic-head \
  --env TZ=Asia/Shanghai \
  -p 9100:9100/tcp \
  --restart=always \
  mobz/elasticsearch-head:5

将容器内的文件复制到主机上

 mkdir -p /opt/elastic-head/_site
 docker cp elastic-head:/usr/src/app/_site/vendor.js /opt/elastic-head/_site

删除上面容器 正式运行

 docker rm -f elastic-head
 ​
 docker run -d \
  --name elastic-head \
  --env TZ=Asia/Shanghai \
  -p 9100:9100/tcp \
  --restart=always \
  -v /opt/elastic-head/_site/vendor.js:/usr/src/app/_site/vendor.js \
  mobz/elasticsearch-head:5

修改vendor.js 否则es-head查询的时候会报“Content-Type header [application/x-www-form-urlencoded] is not supported” 406

  # 将6886行和7573行 application/x-www-form-urlencoded 改成 application/json;charset=UTF-8

logstash

第一次运行logstash

 docker run -d \
  --name logstash \
  --env TZ=Asia/Shanghai \
  -p 4560:4560/tcp \
  -p 9600:9600/tcp \
  --restart=always \
  logstash:7.9.1

将容器内的文件复制到主机上

 mkdir /opt/logstash
 docker cp logstash:/usr/share/logstash/config /opt/logstash/
 mv /opt/logstash/config /opt/logstash/conf
 docker cp logstash:/usr/share/logstash/data /opt/logstash/
 chmod -R 777 /opt/logstash

删除上面容器 正式运行

docker rm -f logstash

docker run -d \
--name logstash \
--privileged \
--env TZ=Asia/Shanghai \
-p 4560:4560/tcp \
-p 9600:9600/tcp \
--restart=always \
-v /opt/logstash/conf:/usr/share/logstash/config \
-v /opt/logstash/data:/usr/share/logstash/data \
logstash:7.9.1

logstash.yml

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.0.82:9200" ]
path.config: /usr/share/logstash/config/*.conf

logstash-springboot.conf

 input {
  tcp {
    port => 4560
    codec => "json_lines"
  }
 }
 ​
 output {
  elasticsearch {
    hosts => ["192.168.0.82:9200"]
    index => ["springboot-logstash-%{+YYYY.MM.dd}"]
  }
  stdout { codec => rubydebug }
 }

kibana

第一次运行

 docker run -d \
  --name kibana \
  --env ELASTICSEARCH_URL=http://192.168.0.82:9200 \
  --env TZ=Asia/Shanghai \
  -p 5601:5601/tcp \
  --restart=always \
  kibana:7.9.1

将容器内的文件复制到主机上

 mkdir -p /opt/kibana/conf
 docker cp kibana:/usr/share/kibana/config/kibana.yml /opt/kibana/conf

删除上面容器 正式运行

 docker rm -f kibana
 ​
 docker run -d \
  --name kibana \
  --env ELASTICSEARCH_URL=http://192.168.0.82:9200 \
  --env TZ=Asia/Shanghai \
  -p 5601:5601/tcp \
  --restart=always \
  -v /opt/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml \
  kibana:7.9.1
 server.name: kibana
 server.host: "0"
 # 设置Elasticsearch集群的主机地址和端口号
 elasticsearch.hosts: [ "http://192.168.0.82:9200" ]
 monitoring.ui.container.elasticsearch.enabled: true
 # 设置界面语言,将界面语言设置成中文
 i18n.locale: "zh-CN"

二、代码集成测试

elk demo代码

 

image-20231104230326205

image-20231104230446664

image-20231104230530142

image-20231104230720971

 

image-20231104230641650

点击创建索引模式

image-20231104230804477

image-20231104230927921

 

image-20231104231007470

image-20231104231103570

参考文档

 

 

 

 

标签:opt,--,spring,boot,kibana,elasticsearch,docker,7.9,logstash
From: https://www.cnblogs.com/shengruxiahuaya/p/17810053.html

相关文章

  • 基于Spring Boot的图书管理系统
    系统关键词图书管理、图书类别、图书借阅、图书归还、图书丢失、图书续借、借还统计、图书统计技术栈后端技术栈:SpringBoot、Shiro、MySQL、Redis、MyBatis-Plus、WebSocket前端技术栈:LayUI、Thymeleaf、jQuery、FontAwesome、WangEditor、zTree功能模块功能截图登......
  • SpringBoot系列之MyBatis Plus自动填充实现
    系列博客专栏:SpringBoot2.0系列博客专栏开发环境JDK1.8SpringBoot2.2.1Maven3.2+Mysql5.7.36开发工具IntelliJIDEAsmartGit项目场景在项目中经常会遇到需要自动填充数据的情况,比如新增一个DO类,里面可能会有id、create_time、modify_time、create_u......
  • 基于springboot的计算机毕业设计帮写
    主要内容:基于springboot的毕业作品设计、基于VUE的、基于安卓APP、基于微信小程序的、原创、设计、毕设、哪里、找我、添加me企鹅numberisone--zero-three-two-three-seven-one-two-one步骤:1.毕设第一步,首先是选题尽量选择新颖的设计题目;2.确定系统功能,完成开题报告;3.编码实......
  • day128-spring boot依赖管理特性与自动配置特性
    springboot依赖管理特性父项目做依赖管理依赖管理:<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.4.RELEASE</version></parent>   其父项目:<......
  • SpringCloudAlibaba引入Gateway统一网关
    一、概述网关是我们服务的守门神,是所有微服务的统一入口,一切请求都要先到网关,再到微服务,它可以帮助我们统一的进行一种操作,处理一些问题。网关的核心功能特性:1.请求路由、负载均衡一切请求都必须先经过gateway网关,但网关不处理业务,而是根据某种规则把请求转发到某个微服务,这个过程......
  • springboot启动报错[main] o.a.catalina.core.AprLifecycleListener
    详细信息为:---[main]o.a.catalina.core.AprLifecycleListener:Anincompatibleversion[1.2.17]oftheApacheTomcatNativelibraryisinstalled,whileTomcatrequiresversion[1.2.34]解决方法:下载对应版本的native文件,地址为https://archive.apache......
  • 部署SpringBoot的学习笔记
    如何部署微服务到服务器上面?一、后端宝塔下载一键部署Java环境,配置jdk1.8的环境变量分模块部署微服务项目、部署nacos和redislinux部署SpringCloud微服务,宝塔部署_微服务项目可以使用宝塔部署吗-CSDN博客利用宝塔面板部署springboot项目_工地精神的博客-CSDN博客云服务器安......
  • Spring新注解
    Spring新注解Spring5.0之后的注解称为新注解==使用上面的注解还不能全部替代xml配置文件,还需要使用注解替代的配置==注解说明@Configuration表示当前类是一个配置类,用于代替配置文件,相当于applicationContext.xml@Bean作用于方法上,用于将方法的返回值存入sprin......
  • spring boot智慧工厂人员定位系统源码,可寻、可视、可防、可控的一体化管控平台
    随着经济的高速发展,现代制造业规模不断扩大,生产车间面积广阔,生产设备日益繁多,生产工人数量多且分散作业,难以进行有效管理和实施全方位风险管控。现代工厂安全管理极需向智慧工厂转型,通过科技手段提升安全及经济效益,成为企业生存发展的关键。智慧工厂人员定位系统通过在作业现场部署......
  • SpringBoot项目从resources目录读取文件
    SpringBoot从resources读取文件使用Spring给我们提供的工具类来进行读取Filefile=org.springframework.util.ResourceUtils.getFile("classpath:人物模板.docx");可能读取失败,出现如下错误:java.io.FileNotFoundException:classpathresource[人物模板.docx]cannot......