docker搭建elk

文章目录

      • 1.拉取镜像
      • 2.ES配置
      • 3.logstash配置
      • 4.kibana配置
      • 5.创建自定义网络
      • 6.docker-compose.yml文件
      • 7.springboot对接Logstash
        • 1.创建一个springboot项目引入主要依赖
        • 2.application.yml配置
        • 3.resources目录中新增logback-spring.xml
        • 4.启动项目,搞点日志
        • 5.进入kibana控制台
        • 6.添加索引模式
        • 7.检索日志,打开Discover

1.拉取镜像

docker pull elasticsearch:7.16.3
docker pull logstash:7.16.3
docker pull kibana:7.16.3

2.ES配置

elasticsearch.yml

http.host: 0.0.0.0
xpack.security.enabled: false
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: false
network.host: 0.0.0.0

3.logstash配置

logstash.yml

http.host: 0.0.0.0
xpack.monitoring.elasticsearch.hosts: [ "http://es7163:9200" ]

logstash.conf:

input {tcp {mode => "server"host => "0.0.0.0"port => 5044codec => json_lines}
}
filter{}
output {elasticsearch {hosts => "es7163:9200"index => "tingshu-%{+YYYY.MM.dd}"}
}

4.kibana配置

kibana.yml:

server.host: "0.0.0.0"
elasticsearch.hosts: ["http://es7163:9200"]
i18n.locale: "zh-CN"

5.创建自定义网络

docker network create elk

6.docker-compose.yml文件

version: '3'services:elasticsearch:image: elasticsearch:7.16.3container_name: es7163networks:- elkenvironment:- ES_JAVA_OPTS=-Xms1024m -Xmx1024m- discovery.type=single-nodeports:- "9200:9200"- "9300:9300"volumes:- /usr/local/es/data:/usr/share/elasticsearch/data- /usr/local/es/plugins:/usr/share/elasticsearch/plugins- /usr/local/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.ymlrestart: alwayslogstash:image: logstash:7.16.3container_name: logstash7163networks:- elkdeploy:resources:limits:cpus: '2'memory: 4gports:- "5044:5044"  # Logstash 默认端口- "9600:9600"volumes:- /usr/local/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml  # 配置文件- /usr/local/logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf  # 配置文件restart: alwaysdepends_on:- elasticsearchkibana:image: kibana:7.16.3container_name: kibana7163networks:- elkports:- "5601:5601"volumes:- /usr/local/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.ymlrestart: alwaysdepends_on:- elasticsearchnetworks:elk:driver: bridge

7.springboot对接Logstash

1.创建一个springboot项目引入主要依赖
<dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>6.6</version>
</dependency>
2.application.yml配置
server:port: 8080
logging:config: classpath:logback-spring.xml
spring:application:name: linging-test
3.resources目录中新增logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration><include resource="org/springframework/boot/logging/logback/base.xml" /><springProperty scope="context" name="springAppName" source="spring.application.name"/><springProperty scope="context" name="serverPort" source="server.port"/><appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><!--logstash的服务地址和端口,可以实际情况设置--><destination>192.168.159.100:5044</destination><!-- 日志输出编码 --><encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"><providers><timestamp><timeZone>UTC</timeZone></timestamp><pattern><pattern>{<!--应用名称 -->"app": "${springAppName}_${serverPort}",<!--打印时间 -->"timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}",<!--线程名称 -->"thread": "%thread",<!--日志级别 -->"level": "%level",<!--日志名称 -->"logger_name": "%logger",<!--日志信息 -->"message": "%msg",<!--日志堆栈 -->"stack_trace": "%exception"}</pattern></pattern></providers></encoder></appender><!--定义日志文件的存储地址,使用绝对路径--><property name="LOG_HOME" value="/home/logs"/><!-- 按照每天生成日志文件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><fileNamePattern>${LOG_HOME}/${springAppName}-${serverPort}-%d{yyyy-MM-dd}.log</fileNamePattern></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><root level="INFO"><appender-ref ref="LOGSTASH" /><appender-ref ref="FILE" /><appender-ref ref="CONSOLE" /></root>
</configuration>
4.启动项目,搞点日志

在这里插入图片描述

5.进入kibana控制台

在这里插入图片描述
在这里插入图片描述

6.添加索引模式

在这里插入图片描述

7.检索日志,打开Discover

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32246.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang算法快慢指针

876. 链表的中间结点 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[3,4,5] 解释&#xff1a;链表只有一个中间结…

瑞云渲染专访奥斯卡提名制片人兼女性动画人协会副主席Jinko Gotoh!

都说CG行业男多女少&#xff0c;女同胞都是珍稀资源&#xff0c;但艺术领域怎么可以没有女性视角呢&#xff1f;本期推文我们邀请到了动画行业资深大佬后藤纯子Jinko Gotoh&#xff0c;作为奥斯卡提名制片人兼女性动画人协会副主席&#xff0c;后藤纯子始终以多元文化倡导者与创…

道路运输安全员考试:备考中的心理调适与策略

备考道路运输安全员考试&#xff0c;心理调适同样重要。考试压力往往会影响考生的学习效率和考试发挥。​ 首先&#xff0c;要正确认识考试压力。适度的压力可以激发学习动力&#xff0c;但过度的压力则会适得其反。当感到压力过大时&#xff0c;要学会自我调节。可以通过运动…

卡尔曼滤波算法从理论到实践:在STM32中的嵌入式实现

摘要&#xff1a;卡尔曼滤波&#xff08;Kalman Filter&#xff09;是传感器数据融合领域的经典算法&#xff0c;在姿态解算、导航定位等嵌入式场景中广泛应用。本文将从公式推导、代码实现、参数调试三个维度深入解析卡尔曼滤波&#xff0c;并给出基于STM32硬件的完整工程案例…

【Linux】:线程池

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家带来线程池相关的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结构…

SpringMVC (一)基础

目录 SpringMVC 一 简单使用 1 新建模块选择指定参数 2 创建实现类 3 将项目启动 4 运行结果&#xff1a;在浏览器当中响应执行 二 RequestMapping 三 请求限定 SpringMVC SpringMVC是Spring的web模块&#xff0c;用来开发Web应用&#xff0c;SpringMVC应用最终作为B/…

tomcat应用的作用以及安装,以及tomcat软件的开机自启动。

一.tomcat介绍 1.作用 tomcat是一款用来部署网站服务器的一款软件。 动态网站主流语言&#xff1a; PHP, lamp/lnmp平台 Java语言&#xff0c;运行在tomcat平台。【只要这个网站或者软件是Java语言写的&#xff0c;我们都可以在tomcat平台上去运行这个java程序。】 网站是…

CSDN博客:Markdown编辑语法教程总结教程(下)

❤个人主页&#xff1a;折枝寄北的博客 Markdown编辑语法教程总结 前言1. LaTex数学公式2. 插入不同类别的图2.1 插入甘特图2.2 插入UML图2.3 插入Mermaid流程图2.4 插入Flowchart流程图2.5 插入classDiagram类图 3. CSDN快捷键4. 字体相关设置4.1 字体样式改变4.2 字体大小改变…

AI模型的构建过程是怎样的(下)

你好,我是舒旻。 上节课,我们讲了一个模型构建的前 2 个环节,模型设计和特征工程。今天,我们继续来讲模型构建的其他 3 个环节,说说模型训练、模型验证和模型融合中,算法工程师的具体工作内容,以及 AI 产品经理需要掌握的重点。 模型训练 模型训练是通过不断训练、验证…

K邻近算法

K邻近算法 1 算法介绍 1.1 什么是K-NN K-NN&#xff08;K Near Neighbor&#xff09;&#xff1a;k个最近的邻居&#xff0c;即每个样本都可以用它最接近的k个邻居来代表。K-NN算法属于监督学习方式的分类算法&#xff0c;即计算某给点到每个点的距离作为相似度的反馈。简单…

晋升系列4:学习方法

每一个成功的人&#xff0c;都是从底层开始打怪&#xff0c;不断的总结经验&#xff0c;一步一步打上来的。在这个过程中需要坚持、总结方法论。 对一件事情长久坚持的人其实比较少&#xff0c;在坚持的人中&#xff0c;不断的总结优化的更少&#xff0c;所以最终达到高级别的…

LoRA,DoRA,RSLoRA,LoRA+ 是什么

LoRA,DoRA,RSLoRA,LoRA+ 是什么 一、LoRA(Low-Rank Adaptation,低秩适应) 核心原理:冻结预训练模型参数,仅在每层插入两个低秩矩阵(A∈R^{rd}, B∈R^{dr}),通过分解权重增量ΔW=BA近似全秩更新,参数量仅为全量微调的0.01%-1%。 举例:在GPT-2(774M参数)的注意力…

HTTP发送POST请求的两种方式

1、json String json HttpRequest.post(getUrl(method, "v1", url, userId, appKey)).header("Content-type", "application/json") // 设置请求头为 JSON 格式.body(JSONUtil.toJsonStr(params)) // 请求体为 JSON 字符串.execute().body(); …

TCP并发服务器

单循环服务器&#xff1a;服务器在同一时刻只能响应一个客户端的需求。 并发服务器&#xff1a;服务器在同一时刻可以响应多个客户端的需求。 构建TCP服务器的方法&#xff1a; IO多路复用的函数接口[select() poll() epoll()] 1.多进程实现TCP并发服务器 #include <s…

【大模型统一集成项目】如何封装多个大模型 API 调用

&#x1f31f; 在这系列文章中&#xff0c;我们将一起探索如何搭建一个支持大模型集成项目 NexLM 的开发过程&#xff0c;从 架构设计 到 代码实战&#xff0c;逐步搭建一个支持 多种大模型&#xff08;GPT-4、DeepSeek 等&#xff09; 的 一站式大模型集成与管理平台&#xff…

Linux基础开发工具—vim

目录 1、vim的概念 2、vim的常见模式 2.1 演示切换vim模式 3、vim命令模式常用操作 3.1 移动光标 3.2 删除文字 3.3 复制 3.4 替换 4、vim底行模式常用命令 4.1 查找字符 5、vim的配置文件 1、vim的概念 Vim全称是Vi IMproved&#xff0c;即说明它是Vi编辑器的增强…

数据结构与算法效率分析:时间复杂度与空间复杂度详解(C语言)

1. 算法效率 1.1 如何衡量一个算法的好坏&#xff1f; 在计算机程序设计中&#xff0c;衡量算法优劣的核心标准是效率。但效率不仅指运行速度&#xff0c;还需要综合以下因素&#xff1a; 时间因素&#xff1a;算法执行所需时间 空间因素&#xff1a;算法运行占用的内存空间…

使用arm嵌入式编译器+makefile编译管理keil项目

目录 # arm嵌入式编译器-知识 # arm嵌入式编译器-知识 --- arm嵌入式编译器&#xff08;百度云盘&#xff09;下载&#xff1a;arm嵌入式编译器 keil&#xff0c; 链接 提取码: 8a6c arm官方使用教程&#xff1a; Arm Compiler 6 User Guide linux 安装完了有个非常重要的一步…

SwiftUI学习笔记day1---Stanford lecture1

SwiftUI学习笔记day1—Stanford lecture1 课程链接&#xff1a;Lecture 1 | Stanford CS193p 2023课程大纲&#xff1a;代码仓库&#xff1a;github/iOS 文章目录 SwiftUI学习笔记day1---Stanford lecture11.在Xcode中创建一个swiftUI的工程2.简单认识Xcode这个IDE3.尝试理解示…

vanna+deepseekV3+streamlit本地化部署

文章目录 1、vanna介绍1.1、基本介绍1.2、工作原理1.3、优点 2、vannadeepseekV3mysqlstreamlit本地化部署2.1、创建conda环境&#xff0c;安装依赖2.2、Mysql数据准备2.3、新建pycharm项目2.4、封装deepseek大模型2.5、定义MyVanna2.6、构建streamlit的app2.7、app演示 1、van…