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可获取视图

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

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

相关文章

电脑提示报错“Directx error”怎么解决?是什么原因导致的?游戏软件提示“Directx error”错误的解决方案

DirectX Error&#xff08;DX错误&#xff09;通常指的是在使用基于DirectX技术的应用程序&#xff08;尤其是游戏&#xff09;时遇到的问题。这个问题可能由多种因素导致&#xff0c;以下是一些可能的原因及相应的解决方案&#xff1a; 可能的原因 DirectX版本不匹配&#x…

jmeter 压测常用静默参数解释应用

简介&#xff1a; JMeter静默压测&#xff08;即无界面压测&#xff09;是一种常用的性能测试方法&#xff0c;用于模拟多个用户同时访问系统并测量系统的响应时间和吞吐量等关键性能指标。在JMeter静默压测中&#xff0c;常用的压测参数及其解释如下&#xff1a; 一、基本…

自动驾驶目标检测融合全貌

1、early fusion 早期融合&#xff0c;特点用到几何空间转换3d到2d或者2d到3d的转换&#xff0c;用像素找点云或者用点云找像素。 2、deep fusion 深度融合&#xff0c;也是特征级别融合&#xff0c;也叫多模态融合&#xff0c;如bevfusion范式 3、late fusion 晚融合&#x…

OpenAI Whisper 语音识别 模型部署及接口封装

环境配置: 一、安装依赖&#xff1a; pip install -U openai-whisper 或者&#xff0c;以下命令会从这个存储库拉取并安装最新的提交&#xff0c;以及其Python依赖项&#xff1a; pip install githttps://github.com/openai/whisper.git 二、安装ffmpeg&#xff1a; cd …

⽂件操作详解

⽬录 一 文件操作的引入 1 为什么使⽤⽂件&#xff1f; 2 什么是⽂件&#xff1f; 3 文件分类&#xff08;1 从⽂件功能的⻆度来分类&#xff1a;程序⽂件/数据⽂件 2根据数据的组织形式&#xff1a;为⽂本⽂件/⼆进制⽂件&#xff09; 二 ⽂件的打开和关闭 1 …

gitee:解决vs文件权限被拒问题

报错问题 分析原因 git上传要忽略vs文件&#xff0c; Git因致命错误而失败。权限被拒绝 无法处理的路径。 解决方法 1、项目根目录下->右击空白->Open Git Bash here 2、 创建.gitignore文件 命令 touch .gitignore 3、 文件开头输入 .vs保存 参考地址 VS2017 Git fa…

【03】Selenium+Python 八种定位元素方法

操作元素&#xff0c;需要先查找定位到对应的元素。 查找单个元素&#xff1a;driver.find_element() 返回是一个web element 对象 查找多个元素&#xff1a;driver.find_elements() 返回是一个list对象 By 是 Selenium 中一个非常重要的类&#xff0c;用于定位网页元素。 使…

【linux学习指南】详解Linux进程信号保存

文章目录 &#x1f4dd;保存信号&#x1f320; 信号其他相关常⻅概念&#x1f309;在内核中的表⽰ &#x1f320; sigset_t&#x1f320;信号集操作函数&#x1f309;sigprocmask&#x1f309;sigpending &#x1f6a9;总结 &#x1f4dd;保存信号 &#x1f320; 信号其他相关常…

Java安全—原生反序列化重写方法链条分析触发类

前言 在Java安全中反序列化是一个非常重要点&#xff0c;有原生态的反序列化&#xff0c;还有一些特定漏洞情况下的。今天主要讲一下原生态的反序列化&#xff0c;这部分内容对于没Java基础的来说可能有点难&#xff0c;包括我。 序列化与反序列化 序列化&#xff1a;将内存…

搭建一个基于Web的文档管理系统,用于存储、共享和协作编辑文档

搭建一个基于Web的文档管理系统&#xff0c;用于存储、共享和协作编辑文档 本项目采用以下架构&#xff1a; NFS服务器: 负责存储文档资料。Web服务器: 负责提供文档访问和编辑功能。SELinux: 负责权限控制&#xff0c;确保文档安全。Git服务器: 负责存储文档版本历史&#x…

智能堆叠,集群和IRF

堆叠和IRF其实可以近似看成同一种技术&#xff0c;只是华三叫IRF&#xff0c;华为叫智能堆叠 智能堆叠&#xff08;iStack&#xff09;&#xff1a;支持堆叠特性的交换机通过堆叠线缆连接在一起&#xff0c;从逻辑上变成一台交换设备&#xff0c;作为一个整体参与数据转发&…

go使用mysql实现增删改查操作

1、安装MySQL驱动 go get -u github.com/go-sql-driver/mysql2、go连接MySQL import ("database/sql""log"_ "github.com/go-sql-driver/mysql" // 导入 mysql 驱动 )type Users struct {ID intName stringEmail string }var db *sql.DBfu…

springboot中使用mongodb完成评论功能

pom文件中引入 <!-- mongodb --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> yml中配置连接 data:mongodb:uri: mongodb://admin:1234561…

layui-vue第三方库表格列事件怎么写

插槽写入列点击事件 <div class"le-table-box" ref"TableBoxRef" :style"{ height: ShowPage ? calc(100% - 60px) : 100% }"><lay-table row-double"dbRowClick" :columns"TableColumn" :data-source"Table…

[在线实验]-Redis Docker镜像的下载与部署

镜像下载 dockerredis镜像资源-CSDN文库 加载镜像 使用以下命令从redis.tar文件中加载Docker镜像 docker load --input redis.tar 创建映射目录 为了确保Redis的数据能够持久化&#xff0c;我们需要创建一个本地目录来存储这些数据 mkdir -p datasource/docker/redis 运…

Flink CDC 使用实践以及遇到的问题

背景 最近公司在做一些业务上的架构调整&#xff0c;有一部分是数据从mysql采集到Starrocks&#xff0c;之前的一套方法是走 debezium 到 puslar 到 starrocks,这一套下来比较需要配置很多东西&#xff0c;而且出现问题以后&#xff0c;需要修改很多配置&#xff0c;而且现阶段…

配置idea环境进行scala编程

这里用的jdk是jdk-8u161,scala版本是2.12.0 在d盘新建一个本地仓库用来存放下载的maven包&#xff0c;在里面创建如下两个文件 更改settings文件为下面的样子 点击左下角的设置&#xff0c;更改maven本地仓库的位置&#xff08;默认在c盘用户目录下的.m2文件中&#xff0c;更改…

0017. shell命令--tac

目录 17. shell命令--tac 功能说明 语法格式 选项说明 实践操作 注意事项 17. shell命令--tac 功能说明 Linux 的 tac 命令用于按行反向输出文件内容&#xff0c;与 cat 命令的输出顺序相反。非常有趣&#xff0c;好记。也就是说&#xff0c;当我们使用tac命令查看文件内…

mimic插件使用

最近搞机械臂的末端夹具&#xff0c;本来想用吸盘的插件的&#xff0c;不知道为什么吸盘吸不起来可乐瓶&#xff0c;后面就换成夹爪了。 因为原厂的urdf文件中提供夹爪是用mimic标签控制剩下的5个joint关节的&#xff0c;网上参考的资料太少了&#xff0c;也是废了好多力 气&am…

Spring boot之BeanDefinition介绍

在spring框架中IOC容器进行bean的创建和管理。Bean的创建是一个比较复杂的过程&#xff0c;它并不像我们创建对象一样只是直接new一下就行&#xff0c;虽然有些bean确实就是New一下。但在Spring中可以通过一些途径对bean进行增强扩展。在这个过程中&#xff0c;BeanDefinition作…