Docker + ELK + SpringBoot部署

2023-11-06

步骤一:Docker安装ELK镜像

docker pull sebp/elk

步骤二:启动镜像

方法一:Docker部署

docker run 
-e ES_JAVA_OPTS="-Xms256m -Xmx256m"    # 设置虚拟机所需内存大小
-p 5601:5601 						# Kibana Web 接口
-p 5040:5040  						# Logstash Beat 接口
-p 5041:5041                        
-p 5042:5042
-p 5043:5043
-p 5044:5044
-p 5045:5045
-p 5046:5046
-p 5047:5047
-p 5048:5048
-p 5049:5049

-p 9200:9200                          # Elasticsearch JSON 接口
-p 9300:9300                          # Elasticsearch transport接口
-it                                   # 虚拟机交互
--name elk -d  ******

方法二:dokcer-compose部署

docker-compose启动

version: '2'
services:
  elk: #服务名称(不是容器名,名称最好不要含有特殊字符,碰到过用下划线时运行出错)
    image: sebp/elk:latest
    container_name: elk #容器名称 
    ports:
      - "9200:9200"
      - "9300:9300"
	  - "5601:5601"
	  - ......                # 继续映射开启的服务端口

    environment: #设置镜像变量,它可以保存变量到镜像里面
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"

注意事项:

运行启动ELK碰到vm.max_map_count限制问题,在Elasticsearch version 5属于最常出现的问题.
持久性的做法是修改/etc/sysctl.conf文件中的vm.max_map_count.
echo "vm.max_map_count=262144" > /etc/sysctl.conf       #持久设置最大值
sysctl -p                                                                                    # 生效
其次,logstash的配置文件在/etc/logstash/conf.d/目录下,将input,filter,out分开,最终组合成一个,建议将/etc/logstash/conf.d映射出来,自行管理

步骤三:修改ELK内部配置文件

cd etc/logstash/conf.d/
vim 02-beats-input.conf

input {
  tcp {
    port => 5040						#设置输入端口
    codec => json_lines
    type => system                      #对应服务名称
  }
}
    ........                            #可配置多个
}

output {
 if [type] == "system" {				#根据输出类型判断输出节点
   elasticsearch {
    	hosts => ["localhost:9200"]
    	index => "system"               #对应服务名称
    }

    ........                            #可配置多个

}
访问localhost:9200查看启动状态   
{
  "name" : "elk",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "FNt0O9UfRPeruL10xraQSw",
  "version" : {
    "number" : "7.16.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "2b937c44140b6559905130a8650c64dbd0879cfb",
    "build_date" : "2021-12-18T19:42:46.604893745Z",
    "build_snapshot" : false,
    "lucene_version" : "8.10.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
访问localhost:5601 进入Kibana页面
进入管理会话,创建索引模式,由于上文中设置输出文件为logstash-%{+YYYY.MM.dd}
设置索引为logstash-*

步骤四:编写SpringBoot中Log.xml中添加

<Appenders>
    <Console name="Console" target="SYSTEM_OUT" follow="true">
        <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}"/>
    </Console>
    <!-- 设置连接   -->
    <Socket name="logstash-tcp" host="ip地址" port="5044" protocol="TCP">
        <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}"/>
    </Socket>
</Appenders>
<Loggers>
    <Root level="INFO" additivity="false">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="logstash-tcp" />
    </Root>
</Loggers>

常见问题

  • Kibana汉化

        进入elk终端
        docker exec -it elk /bin/bash
        cd /opt/kibana/config/
        vim kibana.yml
        最后一行添加  i18n.locale: zh-CN   # 冒号后有空格
        docker restart elk

  • 页面Message展示不全问题

        进入ELK容器
        docker exec -it elk /bin/bash
        cd /opt/logstash/bin/
        ./logstash-plugin list                                                           # 查看是否安装multiline
        ./logstash-plugin install logstash-filter-multiline                 #  安装multiline

        cd /etc/logstash/conf.d/
        vim 10-syslog.conf
        添加如下
        filter {
            multiline {
                pattern => "^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}"
                negate => true
                what => "previous"
            }
        }
        docker restart elk

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker + ELK + SpringBoot部署 的相关文章

随机推荐

  • mysql安装(Linux中redhat版本,redhat密码破解)

    破解密码 1 先重启系统 开始界面点击鼠标入进电脑 按下e键 2 在界面中间输入rd break 输入Ctrl x执行 3 输入下面命令 修改命令 mount o 是字母o不是数字0 remount rw sysroot chroot sy
  • 【华为OD机试真题 python】等和子数组最小和【2022 Q4

    前言 华为OD笔试真题 python 专栏含华为OD机试真题 华为面试题 牛客网华为专栏真题 如果您正在准备华为的面试 或者华为od的机会 有任何想了解的可以私信我进行交流 我会尽可能的给一些建议 和帮您解答 PS 文中答案仅供参考 不能照
  • 操作系统实验—处理机调度算法的模拟

    操作系统实验 处理机调度算法的模拟 一 实验目的 二 实验内容 PCB进程控制块结构 设计要求 三 实验过程记录 1 算法的思路 2 主要数据结构 3 程序代码 运行效果 一 实验目的 熟悉处理器调度算法的工作原理 掌握调度算法的实现 进程
  • WEB网站常见受攻击方式及解决办法

    一个网站建立以后 如果不注意安全方面的问题 很容易被人攻击 下面就讨论一下几种漏洞情况和防止攻击的办法 一 跨站脚本攻击 XSS 跨站脚本攻击 XSS Cross site scripting 是最常见和基本的攻击WEB网站的方法 攻击者在
  • 大端小端问题总结及相关面试题

    昨天有一同学问了我一个关于大端小端的面试题 以前掌握的蛮好的现在突然之间想不起来了 回来翻了翻书 觉得现在有必要写一篇文章来记录一下这个知识点 大端小端是存储讲的是数据在内存中的存放顺序 大端存储格式就是自数据的高字节存放在低地址中 低字节
  • 数据库设计的 10 个最佳实践

    作者 Emily Williamson 译者 孙薇 责编 屠敏 出品 CSDN ID CSDNnews 以下为译文 数据库是应用及计算机的核心元素 负责存储运行软件应用所需的一切重要数据 为了保障应用正常运行 总有一个甚至多个数据库在默默运
  • make menuconfig 添加新选项

    如何在make menuconfig 界面添加新选项步骤 1 先在Linux内核源码目录下创建个新目录 哪个位置都行 一般添加新驱动时 都会在 drivers目录下创建 这里为了实验的方便就在 源码目录下创建了 mkdir hmq test
  • Visual Studio 2019(VS 2019)配置Qt开发环境(最新!)

    1 Qt下载与安装 1 Qt下载 Qt全版本下载网址 Index of archive qt 根据操作系统下载对应的安装包即可 我选择的是5 9 9的版本 2 Qt的安装 双击打开下载好的qt opensource windows x86
  • FRP代理及其在数据库安全上的实践

    1 代理 现如今的互联网世界里 代理服务已经十分常见 它通常作为一个第三方或者说中转站角色替代用户取得信息或者服务 根据代理对象的不同 代理服务可以分为正向代理和反向代理 1 1 正向代理 我们通常所说的代理一般都指的是正向代理 正向代理的
  • LlamaIndex 提供的索引

    LlamaIndex 以前称为 GPT Index 是一个开源项目 它在 LLM 和外部数据源 如 API PDF SQL 等 之间提供一个简单的接口进行交互 它提了供结构化和非结构化数据的索引 有助于抽象出数据源之间的差异 它可以存储提示
  • 严重漏洞已存在16年,数亿台打印机受影响

    聚焦源代码安全 网罗国内外最新资讯 编译 奇安信代码卫士 安全专家在惠普 Xerox 和三星使用的常用打印机驱动中找到一个严重漏洞 该漏洞编号为 CVE 201 3438 在2005年就存在于打印机驱动代码中 影响过去16年来出售的数亿台打
  • 火狐浏览器使用HttpRequester模拟发送http请求

    个人感觉网上的在线模拟http请求工具相比火狐的HttpRequester没那么实用方便 首先安装HttpRequester 打开菜单 附加组件 搜索框输入 HttpRequester 就会搜出来 然后点击安装 成功后在工具这里就会显示有H
  • Android数据的四种存储方式

    Android数据的四种存储方式 SharePreferences SQLite Contert Provider File 网络存储 作为一个完整的应用程序 数据存储的操作是必不可少的 Android系统提供了四种存储数据方式 分别为 S
  • Cache-Control浏览器缓存

    描述 同一个标签页 打开 A 站点 访问 config 接口 正常 打开 B 站点 访问 config 接口 正常 通过浏览器后退返回 A 站点 访问 config 接口 数据异常 config 返回了 B 站点的数据 测试站点数据 htt
  • 浅谈Spring切面编程AOP的实现,以及两种写法aspect和advisor

    在开发过程种 很多地方会用到Spring的AOP 之前一致使用
  • 在centos7系统下解决java程序需要依赖外部jar包的问题

    javac cp xxxx jar bbbbb java cp也可以换成 classpath 转载 https blog csdn net weixin 34023863 article details 94448291 utm mediu
  • LVS+Keepalived群集

    Keeoalived 工具介绍 专门为LVS 和 HA 设计的一款健康检查工具 专为LVS和HA设计的一款健康检查工具 支持故障自动切换 Failover 以及节点健康状态检查 Health Checking 判断LVS负载调度器 节点服务
  • cairo[00] Windows环境学习笔记——Visual Studio配置GTK

    GTK是什么 GTK是一个跨平台的前端 在本笔记中 只会用作呈现 实际绘图依然由cairo完成 配置GTK 我们可以直接通过终端来将GTK直接加载进Visual Studio的内核 这样每次新建任务就不用再进行配置 前提是你安装了Visua
  • 【C++从入门到放弃】C++/g++不同文件夹的编译

    本文大面积参考了简书资料 https www jianshu com p 2b047bcce8fa 由于源书上存在好几处细节上的问题 比如 class Afunc 应该是 class A std cout lt lt include A l
  • Docker + ELK + SpringBoot部署

    步骤一 Docker安装ELK镜像 docker pull sebp elk 步骤二 启动镜像 方法一 Docker部署 docker run e ES JAVA OPTS Xms256m Xmx256m 设置虚拟机所需内存大小 p 560