ELK + Filebeat + Spring Boot:日志分析入门与实践(二)

目录

一、环境

1.1 ELKF环境

1.2 版本

1.3 流程

二、Filebeat安装

2.1 安装

2.2 新增配置采集日志

三、logstash 配置

3.1 配置输出日志到es

3.2 Grok 日志格式解析

 3.2 启动 logstash

​3.3 启动项目查看索引


一、环境

1.1 ELKF环境

  • springboot项目:windows本地
  • Filebeat:windows本地
  • ELK:Ubuntu虚拟机

ELK搭建参考上一篇博客:ELK 7.17.x + Spring Boot:日志分析入门与实践-CSDN博客

1.2 版本

7.17.0(Filebeat 与ELK的版本保持一致)

1.3 流程

        Filebeat高效地采集本地项目日志,随后通过Logstash进行深度解析与格式化处理,再将处理后的日志数据上传至Elasticsearch进行高效存储与索引。最终,用户可借助Kibana提供的直观界面,轻松查看并分析这些日志数据。

二、Filebeat安装

2.1 安装

window下载地址:(选择不同版本只用修改版本号即可,官网太卡可能进不去)https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.0-windows-x86_64.zip

解压即可。

linux下载地址:

- wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.0-linux-x86_64.tar.gz
- tar -xzf filebeat-7.17.0-linux-x86_64.tar.gz

2.2 新增配置采集日志

新增 filebeat-test.yml 配置输出到logstash:

如果输出到es,注意配置具有写权限的用户,否则报错401,参考上篇文章

filebeat.inputs:
- type: logenabled: true
# 配置日志地址paths:- D:\soft\logs\*.log#es的配置
# output:
#   elasticsearch:
#     hosts: ["192.168.64.128:9200"]
#     username: "elastic"
#     password: "123456"# 配置logstash地址
output.logstash:enabled: truehosts: ["192.168.64.128:5044"]#es的配置
# output.elasticsearch.index: "elkf-%{+yyyy.MM.dd}"
# setup.template.name: "elkf"
# setup.template.pattern: "elkf-*"
# setup.ilm.enabled: false

修改 filebeat-test.yml 的运行权限:

注意:住这个命令的作用是从文件 filebeat-test.yml 的权限中移除组(group)和其他用户(others)的写(write)权限,于提高文件的安全性,防止未经授权的修改。不执行可能会报错提示。

chmod go-w filebeat-test.yml

后台启动:

./filebeat -e -c filebeat-test.yml

三、logstash 配置

3.1 配置输出日志到es

新增配置 filebeat-elasticSearch.conf :

注意:"@timestamp"字段不能排除掉,否则索引名日期无法获取

# logstash的地址
input {beats {port => 5044host => "192.168.64.128"}
}# 过滤器配置Grok模式解析日志
filter {grok {match => {"message" => "%{TIMESTAMP_ISO8601:timestamp} \|  %{LOGLEVEL:loglevel} %{NUMBER:pid} \| %{GREEDYDATA:message_detail}"}}mutate {
# 移除字段remove_field => ["log","tags", "input", "agent", "host", "ecs", "@version","message"]}
}# 配置输出到es中,注意用户
output {elasticsearch {hosts => ["http://192.168.64.128:9200"]user => "logstash_to_es"password => "123456"action => "index"index  => "elkf-log2-%{+YYYY.MM.dd}"}stdout{codec => rubydebug}
}

3.2 Grok 日志格式解析

Grok模式测试可以使用kibana的Grok Debugger:

更简便的方式是问AI :

 

有些特殊字符用“\”进行转移,空格比较严谨,如果未匹配要检查空格。

问题:这里我的Grok配置一直未生效,后面发现是项目中logback.xml配置了高亮

<property name="PATTERN_DEFAULT"value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} | %highlight(${LOG_LEVEL_PATTERN:-%5p} ${PID:- }) | %boldYellow(%thread [%tid]) %boldGreen(%-40.40logger{39}) | %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

输出的日志用文本打开是:带有特殊字符

2024-10-29 15:31:39.534 |[34m INFO 34312[0;39m | [1;33mhttp-nio-18080-exec-1 [TID: N/A][0;39m [1;32mc.h.f.a.c.i.ApiAccessLogInterceptor     [0;39m | [preHandle][开始请求 URL(/admin-api/test) 无参数] 

需要将高亮和颜色去除:

<property name="PATTERN_DEFAULT"value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} | %5p ${PID:- } | %thread [%tid] %-40.40logger{39} | %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%ex{full}}"/>

 3.2 启动 logstash

--config.reload.automatic 自动重载配置

bin/logstash -f /config/conf/filebeat-elasticSearch.conf --config.reload.automatic

3.3 启动项目查看索引

查看logstash日志,项目日志已经解析格式化了

参考:

  • Logstash:日志解析的 Grok 模式示例_logstash 日志解析的 grok 模式示例-CSDN博客 

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

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

相关文章

基于SSM土家风景文化管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;景点分类管理&#xff0c;热门景点管理&#xff0c;门票订单管理&#xff0c;旅游线路管理&#xff0c;系统管理 前提账号功能包括&#xff1a;系统首页&#xff0c;个人中心&…

Linux特种文件系统--tmpfs文件系统

tmpfs类似于RamDisk&#xff08;只能使用物理内存&#xff09;&#xff0c;使用虚拟内存&#xff08;简称VM&#xff09;子系统的页面存储文件。tmpfs完全依赖VM&#xff0c;遵循子系统的整体调度策略。说白了tmpfs跟普通进程差不多&#xff0c;使用的都是某种形式的虚拟内存&a…

不同概率分布的更新过程——Python实现(均匀分布、卡方分布、指数分布等作为概率分布的更新过程)

更新过程(renewal process)是描述元件或设备更新现象的一类随机过程。以下是对更新过程的详细介绍: 一、定义与特点 定义:设对某元件的工作进行观测,假定元件的使用寿命是一随机变量,当元件发生故障时就进行修理或换上新的同类元件,而且元件的更新是即时的(修理或更换…

GIT分布式版本控制系统基础操作

问题大纲 1、什么分布式版本控制系统 2、简述Git的使用分为哪几个步骤 3、克隆和拉取的区别是什么&#xff1f; 4、git相关的所有指令 一、分布式版本控制系统 分布式版本控制系统是一种版本控制系统&#xff0c;它允许每个用户都拥有完整的项目历史记录和版本控制信息。与…

ArcGIS必会的选择要素方法(AND、OR、R、IN等)位置选择等

今天来看看ArcGIS中的几个选择的重要使用方法 1、常规选择、 2、模糊查询、 3、组合复合条件查询&#xff08;AND、OR、IN&#xff09;&#xff0c; 4、空值NULL查询 5、位置选择 推荐学习&#xff1a; 以梦为马&#xff0c;超过万名学员学习ArcGIS入门到实战的应用课程…

Spring Bean创建流程

Spring Bean 创建流程图 大家总是会错误的理解Bean的“实例化”和“初始化”过程&#xff0c;总会以为初始化就是对象执行构造函数生成对象实例的过程&#xff0c;其实不然&#xff0c;在初始化阶段实际对象已经实例化出来了&#xff0c;初始化阶段进行的是依赖的注入和执行一…

rtp协议:rtcp包格式和传输间隔

RTP Control Protocol -- RTCP-rtp控制协议 实时传输控制协议&#xff08;RTCP&#xff09;基于对会话中的所有参与者定期传输控制包&#xff0c;使用与数据包相同的分发机制。底层协议必须提供数据包和控制包的多路复用&#xff0c;例如使用UDP时使用不同的端口号。RTCP执行四…

2024年医疗人工智能研究报告-生成式AI爆发,医疗人工智能走到新的十字路口(附下载)

前言 2024的医疗AI&#xff0c;既是坎坷&#xff0c;又是新生。 快速发展的大语言模型&#xff0c;携着生成式AI掠过医疗领域。过往的互联网医疗、医学影像、新药研发……一个一个场景经由新一代AI重塑&#xff0c;焕发出前所未有的价值。 不过&#xff0c;发现价值并不意味着…

网络请求自定义header导致跨域问题

我记得我的项目之前已经解决了跨域问题。 后来在功能开发着&#xff0c;需要添加一个自定义的header&#xff0c;发现又出现跨域报错。 于是又开始一通摸索折腾。 我的项目前面端是用axios网络请求&#xff0c;通过拦截器添加header&#xff0c;代码如下&#xff1a; //添加请…

macOS 15 Sequoia dmg格式转用于虚拟机的iso格式教程

想要把dmg格式转成iso格式&#xff0c;然后能在虚拟机上用&#xff0c;最起码新版的macOS镜像是不能用UltraISO&#xff0c;dmg2iso这种软件了&#xff0c;你直接转放到VMware里绝对读不出来&#xff0c;办法就是&#xff0c;在Mac系统中转换为cdr&#xff0c;然后再转成iso&am…

大语言模型数据流程源码解读(基于llama3模型)

文章目录 前言一、数据进入LlamaForCausalLM(LlamaPreTrainedModel)类二、数据进入LlamaModel(LlamaPreTrainedModel)类1、input_ids的embedding编码2、position_ids位置获取3、causal_mask因果mask构建1、causal_mask调用2、因果mask代码解读(_update_causal_mask)4、hidden_s…

MATLAB人脸考勤系统

MATLAB人脸考勤系统课题介绍 该课题为基于MATLAB平台的人脸识别系统。传统的人脸识别都是直接人头的比对&#xff0c;现实意义不大&#xff0c;没有一定的新意。该课题识别原理为&#xff1a;先采集待识别人员的人脸&#xff0c;进行训练&#xff0c;得到人脸特征值。测试的时…

Http 状态码 301 Permanent Rediret 302 Temporary Redirect、 重定向 重写

HTTP状态码301和302是什么&#xff1f; 1、HTTP状态码301 HTTP状态码301表示永久性转移&#xff08;Permanent Redirect&#xff09;&#xff0c;这意味着请求的资源已经被分配了一个新的URI&#xff0c;以后的引用应该使用资源现在所指的URI。 HTTP 301状态码表示请求的资源…

如何用猿大师办公助手实现OA系统中Word公文/合同在线编辑及流转?

在OA系统或者合同管理系统中&#xff0c;我们会经常遇到网页在线编辑Word文档形式的公文及合同的情况&#xff0c;并且需要上级对下级的公文进行批注等操作&#xff0c;或者不同部门的人需要签字审核&#xff0c;这就需要用到文档流转功能&#xff0c;如何用猿大师办公助手实现…

前端零基础入门到上班:【Day3】从零开始构建网页骨架HTML

HTML 基础入门&#xff1a;从零开始构建网页骨架 目录 1. 什么是 HTML&#xff1f;HTML 的核心作用 2. HTML 基本结构2.1 DOCTYPE 声明2.2 <html> 标签2.3 <head> 标签2.4 <body> 标签 3. HTML 常用标签详解3.1 标题标签3.2 段落和文本标签3.3 链接标签3.4 图…

力扣hot100-->递归/回溯

目录 递归/回溯 1. 17. 电话号码的字母组合 2. 22. 括号生成 3. 39. 组合总和 4. 46. 全排列 5. 78. 子集 递归/回溯 1. 17. 电话号码的字母组合 中等 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到…

[MySQL#4] 表约束(1) | NULL | default | zerofill | 主键 | 自增长

目录 1. 表约束概述 2. 空属性&#xff08;null/not null&#xff09; 3. 默认值&#xff08;default&#xff09; 4. 列描述&#xff08;comment&#xff09; 5. zerofill 6. 主键&#xff08;primary key&#xff09; 7. 自增长&#xff08;auto_increment&#xff09…

Android中常用adb命令

目录 1.adb连接安卓模拟器 2.adb列出所有已经连接的设备 3.adb显示设备的日志信息 4.adb 电脑文件推送到安卓模拟器中 5.adb 手机传送文件到电脑 6.adb获取安卓应用的包名和Activity名 附录 1--命令 1&#xff09;adb devices 2&#xff09;adb install 路径> 3&#xff09;…

【项目管理】PMP冲刺真题200题 (题目+解析)乱序版 【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…