当前位置: 首页 > news >正文

ELK 日志采集使用

1.安装ELK整体环境

1.1.安装docker环境

Docker 最新版Version 20.10安装_docker最新版本是多少_猿小飞的博客-CSDN博客

1.2.先安装docker compose

安装docker compose_猿小飞的博客-CSDN博客

1.3.使用 Docker Compose 搭建 ELK 环境

1.3.1.编写 docker-compose.yml 脚本启动 ELK 服务

忘记了文件在哪里,可以使用下面命令进行查找

find / -name docker-compose.yml

  

version: '3'
services:elasticsearch:image: elasticsearch:6.4.0container_name: elasticsearchenvironment:- "cluster.name=elasticsearch" #设置集群名称为elasticsearch- "discovery.type=single-node" #以单一节点模式启动- "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小volumes:- /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载- /mydata/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载ports:- 9200:9200kibana:image: kibana:6.4.0container_name: kibanalinks:- elasticsearch:es #可以用es这个域名访问elasticsearch服务depends_on:- elasticsearch #kibana在elasticsearch启动之后再启动environment:- "elasticsearch.hosts=http://es:9200" #设置访问elasticsearch的地址ports:- 5601:5601logstash:image: logstash:6.4.0container_name: logstashvolumes:- /mydata/logstash/upms-logstash.conf:/usr/share/logstash/pipeline/logstash.confdepends_on:- elasticsearch #kibana在elasticsearch启动之后再启动links:- elasticsearch:es #可以用es这个域名访问elasticsearch服务ports:- 4560-4600:4560-4600

1.3.2.创建对应容器挂载目录

mkdir -p /mydata/logstashmkdir -p /mydata/elasticsearch/datamkdir -p /mydata/elasticsearch/pluginschmod 777 /mydata/elasticsearch/data  # 给777权限,不然启动elasticsearch 可能会有权限问题

1.4.编写日志采集 logstash

针对微服务,我们不同的服务,会专门设置一个单独的端口进行接收。

在 /mydata/logstash目录创建 upms-logstash.conf

input {tcp {add_field => {"service" => "upms"}mode => "server"host => "0.0.0.0"port => 4560codec => json_lines}tcp {add_field => {"service" => "auth"}mode => "server"host => "0.0.0.0"port => 4561codec => json_lines}tcp {add_field => {"service" => "gateway"}mode => "server"host => "0.0.0.0"port => 4562codec => json_lines}tcp {add_field => {"service" => "register"}mode => "server"host => "0.0.0.0"port => 4563codec => json_lines}
}
output {if [service] == "upms"{elasticsearch {hosts => "192.168.2.115:9200"index => "upms-logstash-%{+YYYY.MM.dd}"}}if [service] == "auth"{elasticsearch {hosts => "192.168.2.115:9200"index => "auth-logstash-%{+YYYY.MM.dd}"}}if [service] == "gateway"{elasticsearch {hosts => "192.168.2.115:9200"index => "gateway-logstash-%{+YYYY.MM.dd}"}}if [service] == "register"{elasticsearch {hosts => "192.168.2.115:9200"index => "register-logstash-%{+YYYY.MM.dd}"}}
}

2.启动 ELK 服务

docker-compose.yml 同级目录执行 docker-compose up -d

docker-compose up -d

注意:Elasticsearch 启动可能需要好几分钟,要耐心等待。

 3.logstash 安装 json_lines 格式插件

# 进入logstash容器
docker exec -it logstash /bin/bash
# 进入bin目录
cd /bin/
# 安装插件
logstash-plugin install logstash-codec-json_lines
# 退出容器
exit
# 重启logstash服务
docker restart logstash

访问宿主机 5601 kibana

4.微服务中整合整合 Logstash

添加 pom 依赖

<!--集成logstash-->
<dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>5.3</version>
</dependency>

logback-spring.xml 新增 appender

 <!--输出到logstash的appender-->
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><!--可以访问的logstash日志收集端口--><destination>192.168.0.31:4560</destination><encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="INFO"><appender-ref ref="LOGSTASH"/>
</root>

特别注意:<destination>192.168.0.31:4560</destination>  这里要改为自己的。

5.在springboot通过不同的环境,配置不同的启动文件

 我们一般会在代码中,编写不同的日志文件配置,这样正式环境的时候,就可以直接指向这个文件。

参考:Spring Boot「02」日志配置_Java_Samson_InfoQ写作社区

相关文章:

ELK 日志采集使用

1.安装ELK整体环境 1.1.安装docker环境 Docker 最新版Version 20.10安装_docker最新版本是多少_猿小飞的博客-CSDN博客 1.2.先安装docker compose 安装docker compose_猿小飞的博客-CSDN博客 1.3.使用 Docker Compose 搭建 ELK 环境 1.3.1.编写 docker-compose.yml 脚本启…...

深入剖析RocketMQ源码:消息传递的奥秘

RocketMQ是一款高性能、高可靠性、可扩展性强的分布式消息中间件,能够有效架构企业级分布式应用。由于其广泛应用和优秀表现,越来越多的开发者对RocketMQ的底层实现产生了浓厚的兴趣。本文将深入剖析RocketMQ的消息传递奥秘,帮助大家了解RocketMQ的底层实现原理,进一步掌握…...

Protocol https not supported or disabled in libcurl

原因 curl默认安装完后是只支持http协议而不支持https协议的。 curl -V查看当前curl支持哪些协议&#xff1a; [rootlocalhost /]# curl -V curl 7.19.4 (x86_64-unknown-linux-gnu) libcurl/7.19.4 OpenSSL/1.0.2k zlib/1.2.11 Protocols: tftp ftp telnet dict http fil…...

一步步搭建基于 ts + express + prisma + mongodb + zod 后端服务

环境&#xff1a; windows11、node 18.16.0 、pnpm 1、在合适位置&#xff0c;代开 vscode , 终端执行 mkdir miaooo-backend && cd miaooo-backend && npm init -y 。 创建一个名为一个 miaooo-backend 的项目&#xff0c;并且进入项目 执行 npm 默认初始化。…...

深入理解深度学习——Transformer:编码器(Encoder)部分

分类目录&#xff1a;《深入理解深度学习》总目录 Transformer中的编码器不止一个&#xff0c;而是由一组 N N N个编码器串联而成。一个编码器的输出作为下一个编码器的输入。在下图中有 N N N个编码器&#xff0c;每一个编码器都从下方接收数据&#xff0c;再输出给上方。以此…...

【图像处理】基于收缩系数的粒子群优化和引力搜索算法的多级图像阈值研究【CPSOGSA】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

PortSwigger web缓存中毒(Cache Poisoning)

一、什么web缓存中毒&#xff1f; Web缓存中毒&#xff08;Web Cache Poisoning&#xff09;是一种攻击技术&#xff0c;攻击者通过操纵Web应用程序的缓存系统&#xff0c;将恶意或欺骗性内容注入到合法的缓存中&#xff0c;以欺骗用户或绕过安全控制。 Web缓存中毒的原理是利用…...

msf渗透练习-生成木马控制window系统

说明&#xff1a; 本章内容&#xff0c;仅供学习&#xff0c;不要用于非法用途&#xff08;做个好白帽&#xff09; &#xff08;一&#xff09;生成木马 命令&#xff1a; msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.23.46 LPORT4444 -e x86/shikata_ga_nai -…...

【c++】组合类+继承情况下构造顺序

组合类继承情况下构造顺序 构造顺序同普通继承&#xff0c;先父后子&#xff0c;内部类是最老的&#xff08;最先调用构造的&#xff09;。 示例代码 class A { public:A(int a 0):_a(a){cout << "A()" << endl;}~A(){cout << "~A()" …...

盛元广通生物化学重点实验室化学品信息化安全管理系统

生物化学重点实验室是国家基础研究和高技术研究的重要基地&#xff0c;是培养和造就高层次创新型人才的重要基地。为保障实验室化学品安全使用&#xff0c;实验人员可通过现场或移动端管理系统实现化学品安全使用与存储。盛元广通生物化学重点实验室化学品信息化安全管理系统具…...

1.知识积累

&#xff08;1&#xff09;build_chain.sh 脚本&#xff1a; build_chain.sh 脚本是 FISCO BCOS 提供的一个工具脚本&#xff0c;用于自动化构建 FISCO BCOS 联盟链。它可以帮助您快速搭建和配置多节点的区块链网络。 具体而言&#xff0c;build_chain.sh 脚本的作用包括以下…...

20230612----重返学习-函数式编程-数据类型检测-网络层优化

day-090-ninety-20230612-函数式编程-数据类型检测-网络层优化 函数式编程 函数式编程 && 命令式编程 函数式编程:把具体的操作过程“封装”到一个函数中,我们无需关注内部是如何处理的(How),只需要关注处理的结果(What)即可; // 如果是依次迭代数组每一项&#xff0c…...

Java实现删除txt第一行

如果您的文件很大,则可以使用以下方法在不使用临时文件或将所有内容加载到内存中的情况下执行删除. public static void removeFirstLine(String fileName) throws IOException { RandomAccessFile raf new RandomAccessFile(fileName, "rw"); …...

Go语言函数式编程库samber/lo

Go语言函数式编程库samber/lo 开发中&#xff0c;我们经常遇到一些操作&#xff0c;比如获取一个map的所有key&#xff0c;所有value&#xff0c;判断一个字符串是否出现在slice 中&#xff0c;slice中是否有重复元素等等。Go语言没有这样的操作&#xff0c;标准库也不提供。…...

自定义杰理AC63系列BLE数据发送函数

自定义BLE数据发送函数&#xff0c;就是将数据发送、数据发送前的检查、以及conn_handle查询等封装在一起&#xff0c;脱离SDK中的相关回调函数&#xff0c;在程序任意位置实现发送数据功能。 1. SDK中的BLE数据发送函数 BLE的数据发送函数定义在apps\common\third_party_pro…...

Jenkins结合gitee自动化部署SpringBoot项目

安装 安装教程 插件选择 Gitee Plugin 配置 源码管理 填写源码地址 注意&#xff1a;请确保genkins所在的服务器有权限git拉取远程仓库代码&#xff0c;如果不可以请参考ssh配置centos 配置ssh拉取远程git代码 源码管理 构建触发器 1.勾选Gitee webhook 触发构建 2.生成we…...

声强级和声压级之间的转换举例

声强级和声压级之间的转换举例 在学习声学时候&#xff0c;经常会遇到声强级和声压级的概念&#xff0c;而且它们的单位都是分贝(dB),很容易混淆这两个概念。而且&#xff0c;更容易在计算时候&#xff0c;不知如何转换&#xff0c;如何使用&#xff0c;本文将举例说明两者之间…...

16 粒子滤波

文章目录 16 粒子滤波16.1 背景介绍16.1.1 Particle Filter是什么&#xff1f;16.1.2 Patricle Filter的状态如何转移&#xff1f;16.1.3 如何通过采样求解Particle Filter 16.2 重要性采样16.2.1 重要性采样方法16.2.2 Sequential Importance Sampling16.2.3 Resampling16.2.4…...

【appium】appium自动化入门之API(下)——两万字API长文,建议收藏

目录 Appium API 前言 1.contexts &#xff08;返回当前会话中的上下文&#xff0c;使用后可以识别 H5 页面的控件&#xff09; 2.current_context &#xff08;返回当前会话的当前上下文 &#xff09; 3. context &#xff08;返回当前会话的当前上下文&#xff09; 4.find_e…...

开发改了接口,经常忘通知测试的解决方案!

目录 前言&#xff1a; Apifox解决方案 Apifox对此给出的解决方案是&#xff1a; 用Apifox怎么处理接口变更 接口代码实现逻辑修改 接口参数修改 前言&#xff1a; 在开发过程中&#xff0c;接口变动十分频繁&#xff0c;测试人员没有及时获得相关通知的情况也很普遍。这…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...

EEG-fNIRS联合成像在跨频率耦合研究中的创新应用

摘要 神经影像技术对医学科学产生了深远的影响&#xff0c;推动了许多神经系统疾病研究的进展并改善了其诊断方法。在此背景下&#xff0c;基于神经血管耦合现象的多模态神经影像方法&#xff0c;通过融合各自优势来提供有关大脑皮层神经活动的互补信息。在这里&#xff0c;本研…...