ELK系列-(四)轻量级的日志收集助手-Beat家族
一、前文回顾
ELK系列-(一)Docker部署ELK核心组件
ELK系列-(二)LogStash数据处理的瑞士军刀
ELK系列-(三)Kibana 数据可视化的艺术家
关于部署的整体架构欢迎大家回到前面的文章观看,此处,我们将继续进行ELK系统的搭建。
系统架构图:

那么今天我们要探讨的是 ELK栈中的Beat家族!这个小伙伴具有着,轻巧而又强大的能力,面对我们使用的服务器性能不高(尤其云服务器)时,也能完成任务
在我们搭建 ELK日志收集分析系统 时,Beat是日志数据的“前线侦察员”。它们作为 轻量级数据采集器,将应用和系统的日志、指标等信息采集后,发送给 Logstash 或 Elasticsearch 进行存储、分析和可视化。
二、什么是Beat?
Beats 是 Elastic Stack 提供的一组轻量级数据采集器,负责从各种来源采集数据,然后将数据发送到 Elasticsearch 或 Logstash。这些小工具非常轻巧,占用系统资源少,适用于海量的分布式环境。
Beats官方文档地址
(一)Beat家族的成员
目前,Elastic官方提供了多个不同功能的Beat,每个Beat都专注于不同的采集场景。以下是常见的几位“家族成员”:
- Filebeat
主要用于 日志文件 的采集,常用于 Web 服务器、应用程序和系统日志的收集。它会实时读取指定的日志文件,并将日志内容发送给 Elasticsearch 或 Logstash。 - Metricbeat
采集 系统指标(如CPU、内存、磁盘、网络等)和 应用程序指标(如MySQL、Redis等),并将这些数据发送到 Elasticsearch 进行存储和分析。 - Packetbeat
用于 网络数据包 的捕获和分析,适合做 网络监控,可以帮助你分析各种应用层协议(如HTTP、MySQL、Redis、DNS等)的流量。 - Winlogbeat
专为 Windows事件日志 设计,能帮助你采集 Windows 系统的事件日志(如应用程序日志、安全日志等),并发送给 Elasticsearch 或 Logstash。 - Auditbeat
主要用于 审计 和 系统安全监控,可以帮助收集有关操作系统文件、用户登录等的详细信息。 - Heartbeat
用于 服务监控,它定期发送HTTP、TCP或ICMP请求,监控服务的可用性和响应时间,帮助用户了解服务是否正常工作。
三、Beat如何工作?
Beat的工作原理非常简单:它们像是 数据搬运工,从各类系统、应用中采集数据后,送到 Logstash 或 Elasticsearch 进行处理。具体流程如下:
- 数据采集
Beat通过读取指定路径或接口,获取源数据(如日志文件、系统指标、网络流量等)。 - 数据传输
Beat将采集到的数据经过一定的处理后,通过HTTP或其他协议发送到 Logstash 或 Elasticsearch。 - 数据处理与分析
如果是通过 Logstash 发送,Logstash会进一步处理数据(如过滤、转换等),然后将数据发送到 Elasticsearch。 - 可视化
最后,数据被 Elasticsearch 存储后,借助 Kibana 进行可视化展示,帮助用户快速了解系统和应用的运行状况。
那么在我们的系统中,Beat会输出到Redis的队列,在完成Beat的讲解之后我们就会讲到哦
四、Beat的优势和适用场景
与ELK其他组件不同的是,Beats在实现时放弃了Java,选择了Golang。这一决策带来了显著的优势。首先,Golang具有非常高的执行效率,特别适合用来构建轻量级、高性能的工具。由于Golang是编译型语言,它编译后的二进制文件无需依赖虚拟机,因此在资源消耗和启动速度上都比Java更有优势。其次,Golang的跨平台特性使得Beats能够原生支持Linux、Windows和macOS等多个操作系统,减少了开发和部署的复杂度。此外,Golang的并发模型非常适合处理高并发的日志采集任务,Beats能够在多个数据流之间高效地并行处理,而不会因为大量日志数据的收集而导致性能瓶颈。总体来说,Golang的高效内存管理、简洁语法和并发处理能力,使得Beats能够在保证低资源消耗的前提下,提供强大的数据采集和传输能力。
有请我们的Gopher 哈哈哈哈
(一)优势
- 轻量级:Beat具有较小的内存占用和CPU消耗,适合在大规模分布式系统中部署。
- 高效:采集到的数据可以快速传输到Elasticsearch,几乎没有延迟。
- 灵活性:支持多种数据源和输出目标,可以满足不同的数据采集需求。
(二)适用场景
- 日志收集:如Web服务器、应用程序、操作系统日志等。
- 系统监控:如CPU、内存、磁盘等指标采集。
- 网络监控:如分析网络流量、检测应用层协议等。
- 安全审计:如收集操作系统和应用的安全事件。
ELK栈中的 Beat家族 是日志收集和监控系统的“得力助手”,它们帮助你高效地从不同来源采集数据,然后传输到 Elasticsearch 或 Logstash 进行进一步的分析和可视化。通过合理配置和使用各种Beat,可以让你轻松实现对系统和应用的全面监控!
相关文章:
ELK系列-(四)轻量级的日志收集助手-Beat家族
一、前文回顾 ELK系列-(一)Docker部署ELK核心组件 ELK系列-(二)LogStash数据处理的瑞士军刀 ELK系列-(三)Kibana 数据可视化的艺术家 关于部署的整体架构欢迎大家回到前面的文章观看,此处&a…...
NodeJs-包管理工具
包英文单词是 package ,代表了一组特定功能的源码集合 管理包的应用软件,可以对包进行 下载安装 , 更新 , 删除 , 上传 等操作 借助包管理工具,可以快速开发项目,提升开发效率 前端常用的包管理…...
AWR microwave office 仿真学习(二)使用多层结构天线/超表面的S参数确定层间距
引言 如果大家有看过一些多层天线或超表面的论文,有两种比较常用的分析方法,等效电路法和传输线分析法,这两种方法都是三维结构的电磁问题转换为二维/集总的电路问题。本文就介绍根据这种思想进行多层结构优化的一种方法:在AWR软件中根据单层结构的S参数,确定最佳层间距。…...
【zlm】 webrtc源码讲解三(总结)
目录 setsdp onwrite 编辑 play 参考 setsdp onwrite play 参考 【zlm】 webrtc源码讲解_zlm webrtc-CSDN博客 【zlm】 webrtc源码讲解(二)_webrtc 源码-CSDN博客...
Springboot+Druid(可切换Hikari)+Mybatis-plus+mysql+hive的多数据源项目配置
1.搭建一个springboot项目,不会的搜一下,很简单这里不做赘述。 2.首先你搭建的springboot能正常启动之后,pom文件添加如下依赖: <dependency><groupId>com.alibaba</groupId><artifactId>druid</arti…...
Git使用步骤
Git 是一个分布式版本控制系统,广泛用于软件开发和其他需要跟踪文件变更的项目。以下是 Git 的基本使用方法和一些常用命令的详细说明。 安装 Git 在大多数操作系统上,你可以通过包管理器安装 Git: Windows: 下载并安装 Git for Windows。…...
Python+OpenCV系列:AI看图识人、识车、识万物
在人工智能风靡全球的今天,用 Python 和 OpenCV 结合机器学习实现物体识别,不仅是酷炫技能,更是掌握未来的敲门砖。本篇博文手把手教你如何通过摄像头或图片输入,识别人、动物、车辆及其他物品,让你的程序瞬间具备 AI …...
springboot449教学资源共享平台(论文+源码)_kaic
摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统教学资源共享平台信息管理难度大,容错率低&am…...
类OCSP靶场-Kioptrix系列-Kioptrix Level 4
一、前情提要 二、实战打靶 1. 信息收集 1.1. 主机发现 1.2. 端口扫描 1.3.目录遍历 1.4. 敏感信息 2.漏洞发现 2.1.登录框万能密码 2.2.系统用户密码-ssh链接 2.3.mysql-udf提权 一、前情提要 kali黑客-利用searchsploit搜索exp一键化攻击-CSDN博客 一篇文章带你理…...
贪心算法在背包问题上的运用(Python)
背包问题 有n个物品,它们有各自的体积和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和? 这就是典型的背包问题(又称为0-1背包问题),也是具体的、没有经过任何延伸的背包问题模型。 背包问题的传统求解方法较为复杂,现定义有一个可以载重为8kg的背…...
POD 存储、PV、PVC
目录 容器如何持久化存储? PV和PVC 为什么不能直接在 Pod 或容器中存储数据? 什么是 PV和 PVC? 可以使用本地磁盘空间创建PV吗? 如何让客户端通过ftp上传到远端服务器的POD里面? 另一个POD想访问ftp的POD里面的…...
C中strlen和sizeof的区别
1、代码如下: #include<stdio.h>int main() {char a[10] { h,e,l,l,0};printf("%d\n",strlen(a));printf("%d\n", sizeof(a));return 0; } 2、运行结果如下:...
WSL2内部的Ubuntu怎么设置网络内桥接模式,弄了好久老是不成功,怎么办?
环境: Win10专业版 WSL2 Ubuntu22.04 问题描述: WSL2内部的Ubuntu怎么设置网络内桥接模式 解决方案: 方法一 1.控制面板开启,Hyper-V 管理器 2.重启电脑 3…创建外部虚拟交换机 打开 Hyper-V 管理器,在右侧操作面板中点击“虚拟交换机管理器”。 选择“创建虚…...
Linux环境下 搭建ELk项目 -单机版练习
前言 ELK 项目是一个由三个开源工具组成的日志处理和分析解决方案,ELK 是 Elasticsearch、Logstash 和 Kibana 的首字母缩写。这个项目的目标是帮助用户采集、存储、搜索和可视化大量的日志和事件数据,尤其是在分布式系统中。下面是每个组件的概述&…...
ubuntu20.04安装mysql5.7
安装之前要确保之前没安装过或者安装后卸载干净了,不然后面的配置文件可能会报错。 1. 下载安装包 打开链接 downloads.mysql.com/archives/co… 选择相应版本进行下载,这里mysql版本选择 5.7.35,系统选择Ubuntu Linux,选择64位…...
MacPorts 安装 Tengine
创建 Portfile 以下是我参考 nginx 调整后的 Portfile,如需安装指定版本,除了修改版本号之外还需要修改 checksums 里的 sha256 sha256 值需下载 Tengine 源码文件(tar.gz)进行计算 模块的调整在最后的 configure.args-append …...
Git安装及基础学习
Git学习 Git安装 概述: Git是一个开源的分布式版本控制系统,可以有效、高速的处理 从很小到非常大的项目版本管理,是目前使用范围最广的版本 管理工具。 下载安装: 下载地址:https://git-scm.com/ 下载后傻瓜式一键安…...
【celery】任务有时候不执行
celery任务有时执行,有时不执行,这种情况是任务被冒领;有时执行说明这个方法可以使用,有时不执行通常是被使用同一个消息队列的进程冒领了; 解决 Redis:指定一个分块就行了...
【恶意软件检测论文】通过提取 API 语义来实现的一个新颖的安卓恶意软件检测方法
目录 摘要1. 引言2. 相关工作2.1. 基于重新训练的恶意软件检测2.2. 基于应用关系图的恶意软件检测2.3. 基于异常样本识别的恶意软件检测2.4. 基于API聚类的恶意软件检测 3. AMDASE概述4. 基于语义距离的API聚类4.1. API特征提取4.2. API句子生成4.3. API句子编码4.4.聚类中心生…...
什么,不用 Tomcat 也能运行 Java web?
在 Java web 开发领域,传统的 Tomcat 服务器一直占据着重要地位。但如今,Blade 框架的出现为我们提供了一种全新的开发体验,它无需依赖 Tomcat 便可运行 Java web 应用。 一、Blade 框架简介 是一款轻量级且高性能的 Java web 框架。其设计理…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
