ELK Fleet JAVA LOG收集与展示教程
目录
elastic-fleet架构
Elastic Agent的优势
Fleet JAVA日志收集流程
1.注册Fleet Sever
2.创建JAVA代理收集策略Agent Policy
3.添加集成 integration
4.调整Java log输出格式
5.添加Elastic Agent
6.添加Ingest
7.创建数据视图
8.其他Policy
nginx-policy
system-policy
elastic 视图分析
1.常用搜索
2.字段分析
3.视图分析
elastic-fleet架构
整个架构图中,主要包含三个组件:
-
fleet:fleet是Kibana上的一个应用软件,通过与后端的资源包仓库建立连接,可以获取elastic最新发布的资源。同时,fleet可以通过Agent policy的方式,为我们定义采集端的规则和配置。Agent policy由fleet保存到elasticsearch
-
fleet server : 定期从elasticsearch拉取最新的Agent policy。并通知elastic agent及时获取最新的配置
-
elastic agent:elastic agent采集的数据,则是直接发送给elasticsearch,每个agent会采用单独的api-key与elasticsearch建立连接,保证数据及时的同步到elasticsearch当中
Elastic Agent的优势
简单来说就是一个集成了各种beats的代理插件,原本需要部署n个beats收集n种日志,现在只需要elastic Agent即可。
集成各类beats
配置文件通过Agent Policy来修改
原本需要调每一个服务器上的beat的配置文件,现在直接改Agent Policy即可,如一个关于nginx的policy可以供一群nginx服务器使用
使用keys取代password
不需要连接密码,使用api keys来调用各类接口,底层使用gRpc框架
参考文档
https://zhuanlan.zhihu.com/p/658197020
Elastic agent集群部署及注意事项-CSDN博客
腾讯云Elastic使用教程:使用Fleet集中管理Elastic Agent-腾讯云开发者社区-腾讯云
Fleet JAVA日志收集流程
1.注册Fleet Sever
部署Fleet服务器,在linux服务器上执行,如果失败可以加上 --insecure 参数
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.9.1-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.9.1-linux-x86_64.tar.gz
cd elastic-agent-8.9.1-linux-x86_64
sudo ./elastic-agent install \--fleet-server-es=http://es-cn-g4t3jwysq0006cyzu.elasticsearch.aliyuncs.com:9200 \--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MDQ5NDI4MzAwNjU6V04tMGtTc09URnlvYWpDZmx6RkNaUQ \--fleet-server-policy=fleet-server-policy \--fleet-server-port=8220
格式为 https://172.16.0.58:8220(填自己的ip)
8220 为Fleet Server的端口
2.创建JAVA代理收集策略Agent Policy
3.添加集成 integration
填写java日志的文件地址
在高级部分填写Custom configurations,目的是为了加入多行日志收集功能(默认为单行收集)
multiline:type: patternpattern: '^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}.\d{3}'negate: truematch: after
4.调整Java log输出格式
在服务上配置logback.xml,注意level处,这里屏蔽了DEBUG,其他日志级别有INFO,WARNING ,ERROR
<!--level为 all 日志--><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--将今天的日志保存在这个文件中,--><file>xxx.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>xxx.%d{yyyy-MM-dd}.log</fileNamePattern><!--保存最近7天的日志--><maxHistory>7</maxHistory><!--所有的日志文件最大1G,超过就会删除旧的日志;--><totalSizeCap>1GB</totalSizeCap></rollingPolicy><encoder><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %logger输出日志的logger名 %msg:日志消息,%n是换行符 --><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern><charset>UTF-8</charset></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>DEBUG</level><onMatch>DENY</onMatch><onMismatch>ACCEPT</onMismatch></filter></appender><!-- 异步输出,采用异步写日志的方式而不让此次写日志发生磁盘IO,阻塞线程从而造成不必要的性能损耗 --><appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender"><!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --><discardingThreshold>0</discardingThreshold><!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --><queueSize>256</queueSize><!-- 添加附加的appender,最多只能添加一个 --><appender-ref ref="FILE"/></appender><!--这里如果是info,spring、mybatis等框架则不会输出info之下的,TRACE < DEBUG < INFO < WARN < ERROR--><springProfile name="prod"><root><appender-ref ref="ASYNC_FILE"/></root></springProfile>
5.添加Elastic Agent
agent的作用建立与fleet server的联系,enroll后,拉取提前配置好的Policy,达到一次policy管理多个agent
策略处选择步骤2创建的Policy
执行失败可添加 --insecure参数
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.9.1-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.9.1-linux-x86_64.tar.gz
cd elastic-agent-8.9.1-linux-x86_64
sudo ./elastic-agent install --url=https://172.16.0.58:8220 --enrollment-token=MVF1Rzlvd0JKVUlHT3RnellIMW46czVpdTVHTFZUYVM0T0oyeVl3MmVmUQ==
elastic-agent status 查看状态,也可以在数据流中看到日志了
6.添加Ingest
ingest为一个管道收集器,可以定制如何收集日志
字段处填写message,模式填写
%{TIME:timestamp} \[%{DATA:thread}\] %{WORD:loglevel} %{GREEDYDATA:logger} - %{GREEDYDATA:content}
7.创建数据视图
为了更好的数据展示,可以创建数据视图,创建好后在discover下查看即可
8.其他Policy
nginx-policy
logs位置,以实际为准
system-policy
-
/var/log/auth.log*:录认证相关事件的日志文件。它通常包含与用户登录、sudo 操作等相关的信息。这个文件对于查看系统安全性和监视用户活动非常有用。
-
/var/log/secure*:是在一些基于 Red Hat 的 Linux 发行版(如 CentOS、Fedora)上用于存储安全相关日志的文件。该文件通常包含与系统安全、认证、授权和相关事件有关的信息
-
/var/log/messages*:是一个系统日志文件,用于存储与系统运行相关的通用消息。它包含了各种系统级别的信息,如启动和关机事件、硬件和内核消息等。这个文件通常是一个记录系统广泛信息的综合性日志文件
-
/var/log/syslog*:用于存储来自系统日志守护程序(syslogd)的通用系统消息
elastic 视图分析
1.常用搜索
登录elasticsearch平台 =》 打开 discover =》 选择视图 =》 选择搜索模板
2.字段分析
在discover模式下,选择时间段,点击字段统计信息,可以查看字段触发的次数
选择+图标可以看到某台服务器或某个错误类型触发的次数,可自由搭配
3.视图分析
视图分析的自由度比较高,下面以统计error日志的服务器分布占比为例
查看visualize或dashboard可获取视图
相关文章:
ELK Fleet JAVA LOG收集与展示教程
目录 elastic-fleet架构 Elastic Agent的优势 Fleet JAVA日志收集流程 1.注册Fleet Sever 2.创建JAVA代理收集策略Agent Policy 3.添加集成 integration 4.调整Java log输出格式 5.添加Elastic Agent 6.添加Ingest 7.创建数据视图 8.其他Policy nginx-policy syst…...
【Python网络爬虫笔记】2-HTTP协议中网络爬虫需要的请求头和响应头内容
1 HTTP 协议整理 HTTP(Hyper Text Transfer Protocol)即超文本传输协议,是用于从万维网(WWW)服务器传输超文本到本地浏览器的传送协议,直白点儿,就是浏览器和服务器之间的数据交互就是通过 HTT…...
TiDB 调度概述
PD 是 TiDB 集群的管理模块,同时也负责集群数据的实时调度。本文档介绍一下 PD 的设计思想和关键概念。 场景描述 TiKV 集群是 TiDB 数据库的分布式 KV 存储引擎,数据以 Region 为单位进行复制和管理,每个 Region 会有多个 Replica…...
MySQL的Json类型数据操作方法
前言 MySQL在5.7增加了json类型数据,项目中最近有在使用。直接使用JSONObject或者JSONArray类型的时候会报以下的异常。发现需要将Java实体字段设置为String类型,然后需要的时候自己转换为JSONObject或者JSONArray。使用很不方便,经研究发现…...
论文笔记(五十九)A survey of robot manipulation in contact
A survey of robot manipulation in contact 文章概括摘要1. 引言解释柔顺性控制的概念:应用实例: 2. 需要接触操控的任务2.1 环境塑造2.2 工件对齐2.3 关节运动2.4 双臂接触操控 3. 接触操控中的控制3.1 力控制3.2 阻抗控制3.3 顺应控制 4. 接触操控中的…...
基础原型链污染
<aside> 💡 引用类型皆为对象 </aside> 原型和原型链都是来源于对象而服务于对象的概念,所以我们要先明确一点: JavaScript中一切引用类型都是对象,对象就是属性的集合。 Array类型、Function类型、Object类型、…...
nginx 升级http 到 http2
同步发布于我的网站 🚀 背景介绍准备工作配置过程遇到的问题及解决方法验证升级总结参考资料 背景介绍 HTTP/2 是 HTTP 协议的最新版本,相比 HTTP/1.1,它带来了多项重要的改进,包括多路复用、头部压缩和服务端推送。这些特性可…...
XPath表达式详解及其在Web开发中的应用
XPath(XML Path Language)是一种强大的查询语言,用于在XML文档中选择节点。由于HTML可以被视为一种特殊的XML,因此XPath同样适用于HTML文档。XPath允许开发者通过元素的层级结构和属性来选择节点或节点集合,这使得它成…...
云服务器进行安全防护的必要性
在当今这个数字化时代,云计算已成为企业运营不可或缺的一部分,而云服务器作为云计算的核心基础设施,承载着数据存储、应用部署、业务运行等多重关键任务。随着企业数字化转型的深入,云服务器上的数据量激增,业务逻辑日…...
win10系统安装docker-desktop
1、开启Hyper-v ———————————————— Hyper-V 是微软提供的一种虚拟化技术,它允许你在同一台物理计算机上运行多个独立的操作系统实例。这种技术主要用于开发、测试、以及服务器虚拟化等领域。 —————————————————————— &#…...
video.js 禁用单击暂停
video.js 默认效果是单击播放区域暂停/播放 需求:要实现单击播放区禁止暂停/播放功能 有其他的点击效果需要实现 会导致俩功能有冲突 作者给出答案:如下 .vjs-tech {pointer-events: none; } 确实管用,想了很多阻止的办法,都没这个来的快...
【二维动态规划:交错字符串】
介绍 编程语言:Java 本篇介绍一道比较经典的二维动态规划题。 交错字符串 主要说明几点: 为什么双指针解不了?为什么是二维动态规划?根据题意分析处转移方程。严格位置依赖和空间压缩优化。 题目介绍 题意有点抽象,…...
如何在CentOS 7上安全地设置Apache网站目录权限
一、概述 在CentOS 7上运行Apache Web服务器时,正确设置文件和目录的权限对于确保网站的安全性和正常运行至关重要。本文将介绍如何为Apache网站目录(例如/var/www/html/)设置合适的权限,以平衡安全性和功能性需求。 二、所有权 …...
Makefile 入门指南:构建自动化编译流程
个人主页:chian-ocean 文章专栏 前言 make 和 Makefile 是编译和构建软件项目时非常常用的工具和文件,它们通常配合使用来自动化项目的编译过程。 make 定义:make 是一个构建自动化工具,用于根据项目文件的依赖关系自动完成编译…...
TransVG 代码配置及一些小细节
TransVG代码配置 File “/home/wyq/TransVG/utils/misc.py”, line 22, in <module> from torchvision.ops import _new_empty_tensor ImportError: cannot import name ‘_new_empty_tensor’ if float(torchvision.__version__[:3]) < 0.7: # torchvision.__version…...
DIY-Tomcat part 3 实现对动态资源的请求
实现ServletRequest package connector;import javax.servlet.RequestDispatcher; import javax.servlet.ServletInputStream; import javax.servlet.ServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i…...
在鲲鹏麒麟服务器上部署MySQL主从集群
因项目需求需要部署主从MySQL集群,继续采用上次的部署的MySQL镜像arm64v8/mysql:latest,版本信息为v8.1.0。计划部署服务器192.168.31.100和192.168.31.101 部署MySQL主节点 在192.168.31.100上先创建好/data/docker/mysql/data和/data/docker/mysql/l…...
K8S版本和istio版本的对照关系
版本对照关系 下载地址1 下载地址2...
省级新质生产力数据(蔡湘杰版本)2012-2022年
测算方式:参考《当代经济管理》蔡湘杰(2024)老师研究的做法,本文以劳动者、劳动对象和劳动资料为准则层,从新质生产力“量的积累、质的提升、新的拓展”三维目标出发,构建新质生产力综合评价指标体系&#…...
速盾:介绍一下高防cdn的缓存响应事什么功能?
高防CDN(Content Delivery Network)是一种基于分布式缓存技术的网络加速服务,能够提供强大的缓存响应功能。它的缓存响应功能主要包括缓存加速和智能缓存两个方面。 首先,高防CDN的缓存加速功能是指通过在全球范围内部署大量的缓…...
如何解决服务器扫描出的ASP木马问题
随着互联网的发展,网站安全问题日益凸显。其中,ASP(Active Server Pages)木马因其隐蔽性和危害性成为攻击者常用的手段之一。本文将详细介绍如何检测和清除服务器上的ASP木马,以保障网站的安全。 1. ASP木马概述 ASP…...
CTF之WEB(sqlmap tamper 参数)
apostropheask.py 作用:将单引号替换为UTF-8,用于过滤单引号。 base64encode.py 作用:替换为base64编码。 multiplespaces.py 作用:绕过SQL关键字添加多个空格。 space2plus.py 作用:用号替换…...
小程序-基于java+SpringBoot+Vue的乡村研学旅行平台设计与实现
项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:…...
力扣81:搜索旋转排序数组II
已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k1], ..., nums[n-1], n…...
力扣题库Day4(持续更新中...)
2024/11/29 回文数: 给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 class Solution {public boolean isPalindrome(int x) {if(x &l…...
MySQL数据库表的操作
1、总述 今天我跟大家分享MySQL数据库中表的创建,查看,修改,删除。 2、创建表 create table table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 说明࿱…...
Java阶段三05
第3章-第5节 一、知识点 动态代理、jdk动态代理、cglib动态代理、AOP、SpringAOP 二、目标 理解什么是动态代理和它的作用 学会使用JAVA进行动态代理 理解什么是AOP 学会使用AOP 理解什么是AOP的切入点 三、内容分析 重点 理解什么是动态代理和它的作用 理解什么是AO…...
【论文复现】LeNet-5
📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ LeNet-5 概述LeNet-5网络架构介绍使用 LeNet-5 网络结构创建 MNIST 手写数字识别分类器下载并加载数据,并对数据进行预处理搭建 …...
Python-链表数据结构学习(1)
一、什么是链表数据? 链表是一种通过指针串联在一起的数据结构,每个节点由2部分组成,一个是数据域,一个是指针域(存放下一个节点的指针)。最后一个节点的指针域指向null(空指针的意思࿰…...
nginx安装和负载均衡
1. nginx安装 (1)安装依赖项: yum -y install gcc gcc-c make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel(2)下载Nginx源代码: http://nginx.org/en/download.html https://nginx.o…...
Buffered 和 BuffWrite
Buffered和BuffWrite是Java IO包中的两个类,用于提高IO操作的效率。 Buffered是一个缓冲区类,可以将一个InputStream或者一个Reader包装起来,提供了一定的缓冲区大小,可以一次读取多个字节或字符,减少了读取的次数&am…...
第三十八篇——高斯分布:大概率事件意味着什么?
目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 通过高斯分布的公式,我们可以从科学的角度知道很多和我们的直…...
Ubuntu24.04初始化教程(包含基础优化、ros2)
目录 构建系统建立系统备份**Timeshift: 系统快照和备份工具****安装 Timeshift****使用 Timeshift 创建快照****还原快照****自动创建快照** 最基本配置换源 软件配置打开新世界大门 谷歌浏览器星火应用商城更换输入法安装vscode 完全删除snap删除**删除软件****彻底删除**禁止…...
C/C++ 数据结构与算法 【时间复杂度和空间复杂度】【日常学习,考研必备】
一、时间复杂度 定义:时间复杂度描述了算法运行时间随输入大小增长而增长的趋势。它主要关注的是算法中最耗时的部分,并忽略常数因子、低阶项等细节。表示方法:通常使用大O符号(Big O notation)来表示时间复杂度。例如…...
brew安装mongodb和php-mongodb扩展新手教程
1、首先保证macos下成功安装了Homebrew, 在终端输入如下命令: brew search mongodb 搜索是不是有mongodb资源, 演示效果如下: 2、下面来介绍Brew 安装 MongoDB,代码如下: brew tap mongodb/brew brew in…...
使用zabbix监控k8s
一、 参考文献 小阿轩yx-案例:Zabbix监控kubernetes云原生环境 手把手教你实现zabbix对Kubernetes的监控 二、部署经验 关于zabbix监控k8s,总体来说是分为两块内容,一是在k8s集群部署zabbix-agent和zabbix- proxy。二是在zabbix进行配置。…...
Brain.js(二):项目集成方式详解——npm、cdn、下载、源码构建
Brain.js 是一个强大且易用的 JavaScript 神经网络库,适用于前端和 Node.js 环境,帮助开发者轻松实现机器学习功能。 在前文Brain.js(一):可以在浏览器运行的、默认GPU加速的神经网络库概要介绍-发展历程和使用场景中&…...
SQL Server管理员sa登录失败原因
文章目录 一、开启混合登录模式二、启用sa三、更改密码四、登录sa一、开启混合登录模式 用Windows身份登录数据库服务。 在连接名上右键→属性。 在安全性选项卡下,选择【SQL Server和Windows身份验证模式】,点击【确定】,提示需要重启服务。 Win+R,输入指令:services.ms…...
怎么样才算得上熟悉高并发编程?
提到并发编程很多人就会头疼了;首先就是一些基础概念:并发,并行,同步,异步,临界区,阻塞,非阻塞还有各种锁全都砸你脸上,随之而来的就是要保证程序运行时关键数据在多线程…...
conan2包管理菜鸟入门之------------------交叉编译和静态编译
在做嵌入式开发时,我们经常需要交叉编译,conan2可以通过新增profile,在profile配置交叉编译工具链,然后在conan build指定profile就可以进行交叉编译,具体步骤如下: 1.首先在profiles下新增目标平台配置,默认情况下是只有default,下面是一个example profile文件: [set…...
Go-MediatR:Go语言中的中介者模式
在Go语言中,确实存在一个与C#中的MediatR类似的组件包,名为Go-MediatR。 Go-MediatR是一个受.NET中MediatR库启发的Go语言实现,它专注于通过中介者模式简化命令查询责任分离(CQRS)模式的处理和在事件驱动架构中的应用…...
双向链表
目录 链表的分类 概念 双向链表的实现 ① 结构 ② 初始化 ③ 打印 ④ 插入数据 ⑤ 删除数据 ⑥ 查找数据 ⑦ 在pos位置之前插入数据 ⑧ 删除pos位置的数据 ⑨ 销毁链表 总结 链表的分类 虽然有这么多的链表的结构,但是我们实际中最常⽤还是两种结构&…...
Spring Boot使用JDK 21虚拟线程
JDK 21引入的虚拟线程(Virtual Threads)是 Project Loom 的一部分,旨在显著简化并发编程并提高 Java 应用的可扩展性。以下是虚拟线程的主要特点: 1. 概念 虚拟线程是轻量级线程,与传统的操作系统线程不同࿰…...
24/11/29 Vite
安装nodejs 直接下一步 node.js中自带NPM包(管理js库文件)管理工具 测试NPM命令 npm -v 检查版本 npm config set registry https://registry.npmmirror.com 设置远程仓库 2.安装vite vite是前端服务的工具集 vue团队主持开发 Vite 官网 使用vite安装命令 这个命令是安…...
黑马2024AI+JavaWeb开发入门Day04-SpringBootWeb入门-HTTP协议-分层解耦-IOCDI飞书作业
视频地址:哔哩哔哩 讲义作业飞书地址:day04作业(IOC&DI) 作业很简单,主要是练习拆分为三层架构controller、service、dao,并基于IOC & DI进行解耦。 1、结构: 2、代码 网盘链接&…...
[Unity] Inputfield光标移动到最后(不选中内容)
经过测试,要用Inputfield实现光标末尾显示但不选中内容非常麻烦,要么会选中全部,要么采用下面这种延迟显示,但会有明显的变化中间过程: protected override void OnPanelEnter() {// 先激活输入框(这里的I…...
实践五 网络安全防范技术
1 实践内容 1.1 安全防范 为了保障"信息安全金三角"的CIA属性、即机密性、完整性、可用性,信息安全领域提出了一系列安全模型。其中动态可适应网络安全模型基于闭环控制理论,典型的有PDR和P^2DR模型。 1.1.1 PDR模型 信息系统的防御机制能抵抗…...
Spring Web开发注解和请求(1)
大家好我是小帅,今天我们来学习Spring Web MVC框架(入门级) 文章目录 1. 什么是 Spring Web MVC?1.1 MVC 定义1.2 什么是Spring MVC ? 2. 学习Spring MVC2.1 建⽴连接第一个spring MVC程序 3. web开发注解的解释3.1RestControlle…...
设计模式-适配器模式-注册器模式
设计模式-适配器模式-注册器模式 适配器模式 如果开发一个搜索中台,需要适配或接入不同的数据源,可能提供的方法参数和平台调用的方法参数不一致,可以使用适配器模式 适配器模式通过封装对象将复杂的转换过程隐藏于幕后。 被封装的对象甚至…...
保持角色一致性!flux新模型redux用法(含模型与工作流)
目录 redux模型是什么,能干啥? 用到的工具有哪些? 工具和模型文件在哪里下载? 整合包: 下载后需要分别放到指定目录: redux模型怎么用? 加载工作流 上传图片和输入提示词 生成结果…...