Docker搭建ELK

docker安装ElasticSearch

创建网络

#这里先创建一个网络:因为我们还需要部署kibana容器、logstash容器,需要让这些容器互联。
docker network create elk-net
#查看网络
docker network ls

invalid image(图片无法加载)

下载ES镜像

#搜索镜像
docker search elasticsearch
#下载镜像
docker pull elasticsearch:7.12.1

invalid image(图片无法加载)

创建容器

docker run -d \
--name es \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network elk-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1

命令解释

-e "cluster.name=es-docker-cluster":设置集群名称
-e "http.host=0.0.0.0":监听的地址,可以外网访问
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小
-e "discovery.type=single-node":非集群模式
-v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录
-v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录
-v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录
--privileged:授予逻辑卷访问权
--network elk-net :加入一个名为es-net的网络中
-p 9200:9200:端口映射配置

invalid image(图片无法加载)

docker安装Kibana

创建容器

#如果不提前下载好,在创建容器时,会先下载,然后创建容器
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
-e "I18N_LOCALE=zh-CN" \
--network=elk-net \
-p 5601:5601  \
kibana:7.12.1
#http://192.168.200.130:5601 浏览器访问

命令解释

--network elk-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
-e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
-p 5601:5601:端口映射配置

docker安装logstash

创建容器

docker run -d -p 5044:5044 -p 9600:9600 --name logstash --network=elk-net logstash:7.12.1

修改配置

设置ES地址
#进入容器
docker exec -it logstash /bin/bash

找到config目录下面的logstatsh.yml文件
 

invalid image(图片无法加载)


修改里面的内容设置ES服务

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://ip:9200" ] #设置跟es的服务地址

设置logstash收集日志的输入和输出

找到pipeline目录中的logstatsh.conf文件

invalid image(图片无法加载)


修改如下,可以设置数据输入的方式,也可以设置把数据存放到哪里

input {tcp {mode => "server"host => "0.0.0.0"  # 允许任意主机发送日志port => 5044codec => json_lines    # 数据格式}
}output {elasticsearch {hosts  => ["http://ip:9200"]   # ElasticSearch 的地址和端口index  => "log-%{+YYYY.MM.dd}"         # 指定索引名,可以根据自己的需求指定命名codec  => "json"}stdout {codec => rubydebug}
}

修改完所有的配置后,需要重启logstash容器

#退出容器
exit
#重启
docker restart logstash

应用系统对接logstash

#新增依赖
<dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>6.6</version>
</dependency>

需要在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="Website may be available for web development ideas"/><springProperty scope="context" name="serverPort" source="server.port"/><appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><!--logstash的服务地址和端口,可以实际情况设置--><destination>192.168.200.130: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>

也可以在专门在application.yml文件中设置logback配置的目录

logging:config: classpath:logback-spring.xml

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

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

相关文章

vue3监听器watch以及watchEffect的使用

一&#xff0c;watch()简介&#xff1a; 侦听一个或多个响应式数据源&#xff0c;并在数据源变化时调用所给的回调函数 watch()默认是懒侦听的&#xff0c;即仅在侦听源发生变化时才执行回调函数。 watch()一共有三个参数 第一个参数&#xff1a;侦听器的源&#xff0c;可以为以…

【vue】vue响应式原理

vue响应式原理 vue2的响应式原理 vue2对对象类型的监听是通过Object.defineProperty实现的&#xff0c;给想要实现响应式的数据对象每个属性加上get,set方法&#xff0c;以实现数据劫持的操作。而对数组类型的监听是通过重写数组的方法实现的。 Object.defineProperty的定义…

linux高级编程(进程)(1)

进程&#xff1a; 进程的含义? 进程是一个程序执行的过程&#xff0c;会去分配内存资源&#xff0c;cpu的调度 进程分类&#xff1a; 1、交互式进程 2、批处理进程 shell脚本 3、 守护进程 进程与程序的区别&#xff1a; 1&#xff09;程序是…

onlyoffice官方文档中打开文件示例的相关测试

文档地址&#xff1a;https://api.onlyoffice.com/zh/editors/open 开发环境&#xff1a; 后端&#xff1a;zdppy_api开发的一个文档服务前端&#xff1a;vue3开发的客户端 我们在index.html中&#xff0c;引入了文档服务的js文件&#xff1a; <!doctype html> <h…

SonarQube集成Jenkins平台搭建

SonarQube平台搭建 一、项目搭建的必要条件 SonarQube 8.9.10 previous LTS 依据公司现有服务目前的Jdk版本1.8&#xff0c;需要选择一个适用的长期支持版本&#xff0c;我在这里选用的是SonarQube 8.9.10 previous LTS。下载地址&#xff1a;Download Previous SonarQube Ver…

HMS最新进展:应用市场覆盖170多个国家和地区,月活超4亿

华为消费者业务在巴塞罗那举行主题为“共联未来”的终端产品与战略线上发布会&#xff0c;除发布多款5G全场景智慧终端新品外&#xff0c;并介绍了华为应用市场及HMS生态构筑最新进展。 应用市场 华为首先介绍了应用市场的最新进展&#xff0c;作为全球前三大应用市场之一&am…

甲骨文(Oracle)云AI专家级证书免费获取攻略

这次分享的是甲骨文云(Oracle)2024年最新最热门的AI专家级证书&#xff0c;活动截止日期7/31。 考试为闭卷监考形式&#xff0c;但小李哥已经把题库准备好&#xff0c;分享给大家。 甲骨文Oracle☁️云计算凭借其Oracle原生产品(数据库、ERP等)在云计算市场中具有一定地位。目前…

jpeg图像压缩技术及改进

一、图像压缩技术的现状 图像压缩编码在数字图像处理中占有重要的地位,将图像压缩的主要目的就在于减小图像的存储容量,以利于信息的保存和传输。此外,它还有利于某些特征的提取,以提高模式识别等的效率。 二、JPEG静止图像压缩的基本原理 编码器负责降低输入图像的编码、像…

常见图像分割模型介绍:FCN、U-Net、SegNet、Mask R-CNN

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

【设计模式】【创建型5-1】【单例模式】

文章目录 单例模式懒汉模式饿汉模式双重锁校验的单例模式枚举单例单例模式在实际开发中的应用 单例模式 懒汉模式 /**** 单例 懒汉模式* 使用的时候再创建实例* 线程不安全*/ public class LazeSingle {private static LazeSingle lazeSingle;public LazeSingle() {}public s…

黑马点评-6短信登录——ThreadLocal

ThreadLocal 的用途 线程安全&#xff1a; 每个线程都有自己的变量副本&#xff0c;不会与其他线程的变量发生冲突&#xff0c;从而避免了同步的需要。简化代码&#xff1a; 通过使用 ThreadLocal&#xff0c;可以避免在方法调用中传递上下文信息&#xff0c;从而使代码更加简…

Node.js全栈指南:浏览器显示一个网页

上一章&#xff0c;我们了解到&#xff0c;如何通过第二章的极简 Web 的例子来演示如何查看官方文档。为什么要把查阅官方文档放在前面的章节说明呢&#xff1f;因为查看文档是一个很重要的能力&#xff0c;就跟查字典一样。 回想一下&#xff0c;我们读小学&#xff0c;初中的…

泰迪智能科技大数据挖掘企业服务平台典型合作案例介绍

泰迪大数据挖掘企业服务平台 是一款通用的、企业级、智能化的数据分析模型构建与数据应用场景设计工具&#xff0c;能够一体化地完成数据集成、模型构建、模型发布&#xff0c;为数据分析、探索、服务流程提供支撑&#xff0c;提供完整的数据探索、多数据源接入、特征处理、模型…

python的使用技巧整理

Python 是一门功能强大且易于学习的编程语言 前言 Python 广泛应用于数据科学、Web开发、自动化脚本等领域。Python的主要作用和部分应用领域&#xff1a; 1. 数据科学与分析 Python在数据科学和数据分析领域占据重要地位。常用的库包括&#xff1a; NumPy&#xff1a;用于数…

高考志愿填报:选好专业还是选好学校?

目录 引言 专业解析 工科类专业 文科类专业 医药类专业 商科类专业 名校效应分析 名校声誉的影响 教育资源和研究机会 学术氛围和创新能力 就业优势 好专业和好学校的权衡 职业目标的判断 行业需求的考量 教育质量的比较 结论 引言 2024年高考帷幕落下&#xff…

七天速通javaSE:第四天 java方法

文章目录 前言一、什么是方法&#xff1f;二、方法的定义与调用1. 方法的定义2. 方法的调用3. 练习&#xff1a;定义比大小方法并调用 三、方法的重载四、递归五、可变参数拓展&#xff1a;命令行传递参数 前言 本章将学习java方法。 一、什么是方法&#xff1f; java方法是用…

uniapp 微信小程序端使用百度地图API

1、登录百度地图开放平台 https://lbsyun.baidu.com/&#xff08;没有账号则先去创建一个百度账号&#xff09; 2、进入百度地图开放平台控制台&#xff08;导航栏“控制台”&#xff09;&#xff0c;点击“应用管理”-“我的应用” 3、选择“创建应用”&#xff0c;应用模块选…

机器学习辅助的乙醇浓度检测(毕设节选)

目录 1.为什么要机器学习 2. 神经网络一般组成 3.BP神经网络工作过程 4.评价指标 5.实操代码 1.为什么要用机器学习 人工分析大量的谐振模式&#xff0c;建立各种WGM的响应与未知目标之间的关系&#xff0c;是一个很大的挑战。机器学习(ML)能够自行识别全谱的全部特征。作为…

【PythonWeb开发】Flask自定义模板路径和静态资源路径

在大型的 Flask 项目中&#xff0c;确实可能会有多个子应用&#xff08;Blueprints&#xff09;&#xff0c;每个子应用可能都有自己的静态文件和模板。为了更好地管理和组织这些资源&#xff0c;可以使用static_folder 和template_folder 属性来统一管理。必须同时设置好主应用…

期货交易记录20240626

文章目录 期货交易系统构建第一步、选品第二步、心态历练第三步、开仓纪律第四步、持仓纪律第五步、接下来的计划 2024年6月26号&#xff0c;开始写期货交易的第四篇日记。 交易记录&#xff1a;做了一笔纯碱的多单&#xff0c;在回撤了400个点左右后&#xff0c;看到企稳信号后…