日志服务搭建-ES-FileBeat-Kibana
1次订单量突增问题,导致了有几个数据没有录库,但是确有支付的记录,啥玩意,还能有这个操作,组内安排问题定位,解决,一看打出来的日志,只有支付有,生成订单这边没有,就相当于是俩眼一抹黑。 处理方案,销售确定有下订单后先按照支付的日志,把订单信息维护上。
搞在线日志和核心业务监控,这看linux的日志还是挺费事的。
如果我们是在springboot的每个服务下面都配置了

1. 不影响程序和不给程序更多的带宽消耗,就没有在xml中直接配置日志同步给es
采用的是本地服务生成日志后,通过FileBeat去监听指定log文件有变化,就同步数据到es中。
这里就要对所有服务提供log日志模板:
参考:
log.info("业务标识 | 业务操作 | 主要记录日志内容 : {}", 变化的参数)方式输出。
log.error("业务标识 | 业务操作 | 主要错误日志内容 : {}", 变化的参数)方式输出。
搭建 elasticsearch / filebeat / logstash/ kibana服务
先安装docker 和docker-compose
version: "2.2"
services:es:image: elasticsearch:7.8.0container_name: elasticsearch ports:- "9200:9200"- "9300:9300"environment:discovery.type: single-node##es的密码ELASTIC_PASSWORD: changemeES_JAVA_OPTS: "-Xmx512m -Xms256m"volumes:- /mydata/elasticsearch/:/usr/share/elasticsearch/data- /opt/elk/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- /opt/elk/elasticsearch/plugins:/usr/share/elasticsearch/pluginsls:image: logstash:7.8.0container_name: logstashports:- "5000:5000/tcp"- "5000:5000/udp"- "9600:9600"environment:discovery.type: single-nodeES_JAVA_OPTS: "-Xmx512m -Xms256m"volumes:- /opt/elk/logstach/pipeline:/usr/share/logstash/pipeline- /opt/elk/logstach/logstash.yml:/usr/share/logstash/config/logstash.yml- /opt/elk/logstach/jars:/usr/share/logstash/logstash-core/lib/jars/depends_on:- eskb:image: kibana:7.8.0container_name: kibanaports:- "5601:5601"volumes:- /opt/elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.ymldepends_on:- es
在运行docker-compose.yml

![]()
然后就是elasticsearch的配置 elasticsearch.yml
## Default Elasticsearch configuration from Elasticsearch base image.
cluster.name: "docker-cluster"
network.host: 0.0.0.0
xpack.license.self_generated.type: trial
xpack.security.enabled: true
xpack.monitoring.collection.enabled: true
logstash.yml 文件配置
## Default Logstash configuration from Logstash base image.
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://ip:9200" ]
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: 账号
xpack.monitoring.elasticsearch.password: 密码
filebeat.yml 文件配置
filebeat.inputs:
- type: logenabled: truepaths: - /home/log-info.log # 文件位置
setup.ilm.enabled: false
setup.template.settings:index.number_of_shards: 1output.elasticsearch:hosts: 'ip:9200'username: "账号"password: "密码"indices:- index: 'springboot-%{+yyyy.MM.dd}' # 对应的索引
kibana.yml文件
##Default kibana configuration from Kibana base image.
server.name: kibana
server.host: 0.0.0.0
i18n.locale: "zh-CN"
server.basePath: "/kibana"
elasticsearch.hosts: [ "http://ip:9200" ]
xpack.security.enabled: true
monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: 账号
elasticsearch.password: 密码
登入kibana ,可以查看索引数据,查看日志,功能比较强大,需要点时间研究。

搭建好:
我要加一个服务到在线日志系统 流程
以A 服务为例子
原来看log-info TAIL -F LOG-INO.LOG

_index : a-log-error-* 查看所有a服务error日志
_index : a-* 查看所有a服务info日志
- 到filebeat目录下修改filebeat.yml 参照已经完成的

在配置完filebeat.yml都要重新执行filebeat容器
docker run -d --name=filebeat --restart=always
-v对应文件映射
elastic/filebeat:7.8.0
最终实现现在看,根据时间查看

后面可以配置告警功能,优化日志展示格式。
相关文章:
日志服务搭建-ES-FileBeat-Kibana
1次订单量突增问题,导致了有几个数据没有录库,但是确有支付的记录,啥玩意,还能有这个操作,组内安排问题定位,解决,一看打出来的日志,只有支付有,生成订单这边没有&#x…...
大数据架构设计与数据计算流程
大数据架构设计Hadoop有3个核心组件:分布式文件系统HDFS;分布式运算编程框架MapReduce;分布式资源调度平台YARN。HBase,Hadoop dataBase,基于HDFS的NoSQL数据库,面向列式的内存存储,定期将内存数…...
207. 课程表
207. 课程表https://leetcode.cn/problems/course-schedule/ 难度中等1526 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [a…...
2023-03-08 mysql列存储数据库-查询执行过程分析
摘要: 在mysql的sql层和存储引擎的交互模式中, 存储引擎实现handler接口, 由SQL层负责调用接口, 所以执行的过程可以看作是在sql层中, innodb仅提供接口。 但是在mysql列存储引擎中, TMD直接替换掉了sql层的执行接口,并且将sql层的查询树转换成了自己的一套查询树, 然后根据…...
各种激活函数的计算公式、图像以及实现代码
激活函数已经成为神经网络中非常重要的一部分,随着各种类型的神经网络模型被人们开发出来,各种激活函数也应运而生,在不同的场景中,取得良好的效果。本文跟据著名的YOLO系列目标检测模型的源码 AlexeyAB Darknet,整理出…...
ArangoDB
介绍 ArangoDB 是一个原生的多模型开源数据库,具有灵活的文档、图形和键值数据模型。使用方便的类似 SQL 的查询语言或 JavaScript 扩展构建高性能应用程序。主要特点 在集群上安装 ArangoDB —— 安装简单灵活的数据建模:数据建模为键值对、文档或图表的…...
MySQL8.0Linux安装及主从的搭建
MySQL8.0Linux安装教程 下载并安装 需要说明的一点是我使用的是SSH secure shell Client连接linux系统的,它的用法和命令窗口差不多。界面如图:一样的使用Linux命令操作。 话不多说 第一步: 1)、切换到 /usr/local下 cd /usr/…...
苹果新专利实现无线技术传输睡眠数据,蓝牙在智能家居中的应用
苹果于 2017 年 5 月收购了芬兰科技公司 Beddit,只是在过去 6 年时间里并没有太大的动作。根据美国商标和专利局本周公示的清单,苹果获得了一项 Beddit 相关的技术专利。 根据专利描述,苹果使用一根或者多根天线,利用电磁辐射的…...
银行数字化转型导师坚鹏:数字化转型为什么需要致良知与知行合一
在银行数字化转型过程中,特别需要致良知与知行合一哲学思想的指导。 知中有行,行中有知;行极而知,知极而行;知行无端,知行无始。知与行是一件事,做事与培养本体(修心)也是…...
Web前端学习:章三 -- JavaScript预热(二)
六五:作用域与function function:函数,不是数学上的函数,与写代码有关 JS中的函数:运用它,起个名字,然后对函数进行调用,即可将函数中的内容执行一遍 1、function 最基本的作用域…...
Excel绘制数据对比表格-表格可视化
Word中生成的表格一般比较单调,若一组数据存在对比的情况时,读者/审稿人难以直接通过详细对比数据来分析,此时若可以将该组数据可视化来对比则为好,Excel则可实现该功能。 关于有些期刊需要提供表格中的数据便于复制等情况时&…...
究竟是谁负了谁,来自底层测试的2022年终总结
前言 说实话坐在椅子前,都想好了,该怎么去写,甚至感觉有好多要写的,但是当我坐在椅子上时,却不知道该怎么开头了,不知道是不是紧张?还是不舍?难道还没有跟过去挥手告别的勇气吗&…...
C++——IO流
目录 C语言的输入与输出 流是什么 CIO流 C标准IO流 C文件IO流 二进制读写 文本读写 stringstream的简单介绍 C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据,并将值存放在变量中。…...
网络 | UDP与TCP协议讲解 | TCP可靠性是怎样实现的?
文章目录前置知识查看网络状态的工具查看进程idUDP协议协议格式UDP只有接收缓冲区基于UDP的应用层协议TCP协议流的理解协议格式确认应答机制缓冲区序号的作用流量控制超时重传机制6位标志位紧急数据的处理三次握手listen的第二个参数全连接和半连接队列都维护了什么信息&#x…...
JavaEE——简单介绍Thread类以及线程的基本操作
文章目录一、Thread 类中的常见构造方法二、Thread 的一些常见属性三、线程的启动——start()isAlive() 方法的解释四、线程中断五、线程等待-join()了解六、简单解释线程休眠一、Thread 类中的常见构造方法 我们已知,Thread 类是Java中多线程中的一个关键类&#…...
Java的数据库编程:JDBC
Content 🎉1什么是API 🎉2.什么是JDBC 🎉3.数据库驱动包的安装 🎉4.数据库安装包在idea的使用 🎉5.JDBC的增删改查的简单实现 今天为大家带来JAVA的数据库编程,也就是用Java实现数据库 数据库的最基本的操作就是…...
蓝桥冲刺31天之第六天
今天是摆子的一天,明天我要肝一整天的第四题!!! PS:一个普通的排序罢了 import java.io.*; import java.util.Arrays; import java.util.Scanner;/*** ClassName 考勤刷卡* Description TODO* Author 小怂很怂* Date 2…...
Streamlit 工具记录
Streamlit 是基于 Python 的 Web 应用程序框架,可视化数据,分析结果。 Streamlit 是一个开源库,可在短时间内开发机器学习可视化仪表板。只需几行代码就可以构部署强大的数据应用程序。Streamlit 可将仪表板的开发时间从几天缩短至几小时。 …...
GreenPlum小结
什么是GreenPlum?GreenPlum是业界最快最高性价比的关系型分布式数据库,它在开源的PostgreSQL的基础上采用MPP架构(Massive Parallel Processing,海量并行处理),具有强大的大规模数据分析任务处理能力。GreenPlum作为大数据融合存储…...
C语言中数组和指针
文章目录前言一、指针的概念二、指针的大小三、指针的用法1.指针指向变量2.指针指向数组3.指针指向函数总结前言 本文将给大家带来C语言中非常重要的两个知识点,指针和数组。 一、指针的概念 指针,是C语言中的一个重要概念及其特点,也是掌…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
