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 框架。其设计理…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
