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博客
相关文章:
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项目:w…...
使用 Docker Compose 将数据版 LobeChat 服务端部署
LobeChat 是一个基于 TypeScript 的开源聊天机器人项目,支持本地部署和接入多个大语言模型。本文介绍如何使用 Docker Compose 将 LobeChat 服务端及其数据库部署到生产环境,让您拥有一个私有化的、可定制的 AI 聊天助手。 一、部署前准备 服务器&…...
python如何完成金融领域的数据分析,思路以及常见的做法是什么?
引言 在现代金融领域,数据分析已成为决策支持的重要工具。随着金融市场的复杂性和数据量的激增,传统的分析方法已无法满足需求。 Python作为一种强大的编程语言,凭借其丰富的库和工具,成为金融数据分析的首选语言之一。 本文将探讨如何利用Python进行金融数据分析,包括…...
密码管理工具实现
该文档详细描述了实现一个简单的密码管理工具的过程,工具基于PHP和MySQL构建,支持用户注册、密码存储、管理以及角色权限控制等核心功能。 系统架构设计 技术栈:PHP(后端逻辑)、MySQL(数据存储)…...
构造函数和new操作符 - 2024最新版前端秋招面试短期突击面试题【100道】
构造函数和new操作符 - 2024最新版前端秋招面试短期突击面试题【100道】 🏗️ 在JavaScript中,构造函数和new操作符是创建对象的重要方式。深入理解它们的基本概念和用法,可以帮助你更有效地使用JavaScript进行开发。以下是关于构造函数和ne…...
6.Linux按键驱动-阻塞与非阻塞
默认打开文件时候是阻塞的 当设置打开方式为非阻塞时,无数据时会返回。 当设置打开方式为阻塞时,无数据的时候会等待1.设置打开方式为非阻塞 立即返回,无法读出,返回-1 2.设置为阻塞 核心在于驱动程序中的.read函数的支持 …...
Mac打开环境变量配置文件,source ~/.zshrc无法打开问题解决
本文将会介绍,Mac如何打开zshrc环境变量配置文件。 在搭建开发环境的时候,通常我们需要配置环境变量,例如:ANDROID_HOME、nvm等。 具体的做法是把配置环境变量的命令加入到 shell 的配置文件中。如果你的 shell 是 zshÿ…...
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-23
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-23 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-23目录1. Advancements in Visual Language Models for Remote Sensing: Datasets, Capabilities, and Enhancement Techniques摘…...
【C#】搭建环境之CSharp+OpenCV
在我们使用C#编程中,对图片处理时会用到OpenCV库,以及其他视觉厂商提供的封装库,这里因为OpenCV是开源库,所以在VS资源里可以直接安装使用,这里简单说明一下搭建的步骤及实现效果,留存。 1. 项目创建 1.1…...
100种算法【Python版】第25篇——Bidirectional Search算法
本文目录 1 算法原理2 路径计算的算法步骤3 python代码4 算法应用1 算法原理 Bidirectional Search(双向搜索)算法是为了解决图中最短路径问题而提出的一种搜索策略,旨在提高搜索效率。该算法的核心思想是同时从起点和终点进行搜索,直到两个搜索相遇。这种方法有效地减少了…...
WebSocket与Socket
一、定义与用途 Socket Socket(套接字)是一个抽象层,用于在网络上执行进程间的通信。它为应用程序提供了发送和接收数据的机制,通过IP和端口号来标识网络中唯一的位置。Socket可以使用TCP进行面向连接的可靠通信,也可以…...
Python 3 维护有序列表 bisect
在Python 3中,bisect模块提供了用于维护有序列表的函数,主要用于在有序序列中进行二分查找以及插入操作,以下是其常见用法的介绍: 1. 导入模块 首先需要导入bisect模块: import bisect2. 主要函数及用法 bisect.bi…...
vue版本太低无法执行vue ui命令
连接 ui和create目前都只支持3.0以后得版本才能使用 https://blog.csdn.net/m0_67318913/article/details/136775252?utm_mediumdistribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-136775252-blog-121204604.235v43pc_blog_bottom_relevance…...
数据结构 之 二叉树的遍历------先根遍历(五)
提示:本篇章主要讲解数据结构中树的相关知识。 文章目录 二叉树的遍历为什么要提出这么多遍历方法?先根遍历二叉树(TLR)先根遍历二叉树的递归算法(重点)先根遍历二叉树的非递归算法(了解,但是得…...
Xss_less靶场攻略(1-18)
xss-lab-less1 ur特殊字符转义 存在url中 转义符为 %2B& 转义符为 %26空格 转义符为 或 %20/ 转义符为 %2F? 转义符为 %3F% 转义符为 %25#转义符为 %23 转义符为 %3Dimg 标签懒加载 在XSS攻击中,img标签的src属性是一个常见的攻击向量,因为它可以…...
【AI语音克隆整合包及教程】声临其境,让想象成为现实——第二代GPT-SoVITS引领语音克隆新时代!
随着人工智能技术的飞速发展,曾经只能在科幻小说中出现的场景逐渐走进了我们的日常生活。其中,语音克隆技术以其独特魅力,成为了人们关注的焦点。GPT-SoVITS作为一款前沿的语音克隆工具,由RVC变声器创始人“花儿不哭”与AI音色转换…...
echarts属性之dataZoom
dataZoom-slider 滑动条型数据区域缩放组件(dataZoomInside) 滑动条型数据区域缩放组件提供了数据缩略图显示,缩放,刷选,拖拽,点击快速定位等数据筛选的功能。下图显示了该组件可交互部分 所有属性 data…...
SQLite 语法
SQLite 语法 SQLite 是一种轻量级的数据库管理系统,它遵循 SQL(结构化查询语言)标准。SQLite 的语法相对简单,易于学习和使用。本文将详细介绍 SQLite 的基本语法,包括数据定义语言(DDL)、数据…...
逗号运算符应用举例
在main.cpp里输入程序如下: #include <iostream> //使能cin(),cout(); #include <iomanip> //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags(); //setbase( char x )是设置输出数字的基数,如输出进制数则用set…...
Android 玩机知识储备
基础知识 安卓刷机:https://post.smzdm.com/p/724098/安装分区(视频): https://www.bilibili.com/video/BV1BY4y1H7Mc/安卓分区(文章): https://www.cnblogs.com/unixcs/p/16398969.html开机过程:https://…...
MyBatis 学习记录(六)之逆向工程
MyBatis 学习记录(六) MyBatis的逆向工程1、创建逆向工程添加依赖和插件创建逆向工程的配置文件执行MBG插件的generate目标最终生成的效果 2、QBC查询 MyBatis的逆向工程 **正向工程:**先创建Java实体类,由框架负责根据实体类生成…...
深度了解flink(七) JobManager(1) 组件启动流程分析
前言 JobManager是Flink的核心进程,主要负责Flink集群的启动和初始化,包含多个重要的组件(JboMaster,Dispatcher,WebEndpoint等),本篇文章会基于源码分析JobManagr的启动流程,对其各个组件进行介绍&#x…...
PostgreSQL 约束
PostgreSQL 约束 介绍 PostgreSQL 是一种功能强大的开源对象关系数据库系统,它提供了多种约束来确保数据的完整性和一致性。约束是数据库规则,用于限制表中数据的类型和操作。在 PostgreSQL 中,约束可以分为几种类型,包括主键约…...
【Redis】
1、Redis 概述 远程字典服务器(Remote Dictionary Server,Redis):一个开源的、高性能的、轻量级、使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,通过提供多种键值数据类型来试音不同场景下的缓…...
大厂面试真题-MVCC有哪些不好
MVCC(Multi-Version Concurrency Control,多版本并发控制)虽然具有提高数据库并发性能、避免脏读等优势,但也存在一些缺点。以下是对MVCC缺点的详细归纳: 一、存储开销增加 MVCC需要为每个数据行存储多个版本&#x…...
一篇教你多排轮播效果
多排轮播 提示:demo案例 效果看看把 这些都是可以单独左右滑动的 文章目录 多排轮播前言一、上才艺总结 前言 今天想着想着 看着别人这样 哎还挺好看,就自己弄了 提示:以下是本篇文章正文内容,下面案例可供参考 一、上才艺 &…...
安全警告您正在访问危险网站怎么关闭
在上网时,很多人可能遇到过“安全警告:您正在访问危险网站”的提示。这类警告通常由浏览器或安全软件自动弹出,旨在保护用户免受钓鱼网站、恶意软件等潜在安全威胁的侵害。这篇文章将带您了解这种安全警告的来源、关闭提示的步骤以及应采取的…...
群控系统服务端开发模式-应用开发-业务架构逻辑开发第一轮测试
整个系统的第一个层次已经开发完毕,已经有简单的中控,登录、退出、延迟登录时长、黑名单、数据层封装、验证层封装、RSA加解密、Redis等功能,还缺获取个人、角色按钮权限、角色菜单权限功能。角色按钮权限以及角色菜单权限等明后天开发&#…...
git 怎么保留某个文件夹忽略其下面的所有文件?
在 Git 中,如果你想要保留某个文件夹(比如 folder/)但忽略其下面的所有文件,可以使用 .gitignore 文件来实现。需要注意的是,Git 不会自动创建空目录。因此,为了让 Git 记录这个空目录,你需要在…...
Linux Shell 实现一键部署mariadb11.6
mariadb MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发…...
ota平台网站建设/深圳seo优化排名推广
AdaGrad中的Ada是Adaptive之意,即“自适应的”,什么自适应呢,这里是指NN中的学习率,可以自适应的调整,并且是每一个参数有自己专门的调整,不是全体参数的学习率同时调整(共享一个学习率…...
网页登陆微信可以下载wordpress/如何自己创建网址
有上线的Android应用(需要有投入市场的产品,最好附带作品演示)。 有安卓系统完整产品开发经验。 有流媒体、音视频Codec开发经验者优先(媒体应用开发经验);熟悉Android多媒体(音频,视频)处理编程࿰…...
做网站维护的是什么人/百度竞价排名费用
模块 模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模块。 import语句是用来导入模块或者从模块里导入特定的类或者函数。如前面我们用过的math模块,从而可以使用sqrt函数来计算距离。 假如有一个包含Database类的…...
开原 铁岭网站建设/网络营销策划书包括哪些内容
原文地址:你必须知道的地理坐标系和投影坐标系 文章条理清晰,内容通俗易懂 还可以参考另一篇文章:GISer梳理的我国常用的坐标系及相关知识 1、基本概念 地理坐标系:为球面坐标。 参考平面地是椭球面,坐标单位ÿ…...
的网站建设/在线的crm系统软件
文章目录0、打包配置(Artifacts)1、tomcat 的使用2、配置注释模板3、配置快捷键模板0、打包配置(Artifacts) Project -> Structure -> Artifacts 1、tomcat 的使用 1.在下拉列表中,点击Edit Configuration […...
做旅游网站的首页的图片/网站排名seo教程
题意: 定义f(i)∑ k∣i k^d(i≤n),给出q个询问,每个询问询问区间[l,r]的f(i)的和。 n<1e7 d<1e18 q<5e4 可以发现f(i)是个积性函数,那么我们就可以欧拉筛 O(n) 预处理出f(i),然后做个前缀和就行了。 f(i)分为…...