深入剖析: Log360 可扩展架构核心组件(二)

简介: 本节将深入剖析 Log360 可扩展架构的核心组件,阐述各组件的定义、功能及其对系统可扩展性的直接作用。

本节将深入剖析 Log360 可扩展架构的核心组件,阐述各组件的定义、功能及其对系统可扩展性的直接作用。

1. 日志处理集群

日志处理集群采用分布式架构,为每个日志处理器分配相应功能以实现负载均衡,取代了传统的单服务器部署模式,由多个处理器共同分担工作负载。

说明

节点指安装有 Log360 的独立服务器,我们将其称为日志处理器。集群则是由多个此类独立节点通过网络连接组成的系统,可作为单一高性能单元进行统一管理。

日志处理器需统一部署在单一中心位置。在分布式架构中,远端站点仅需部署代理程序,由代理收集日志并转发至中心处理器,再由中心处理器完成日志分析与存储。

集群内所有处理器必须安装同一版本的 Log360。首次安装的节点将作为主处理器,集群的各类操作(如添加、编辑、删除处理器)均需通过主处理器执行。用户可登录任意处理器,查看集中式监控面板并监控集群运行状态。

日志处理集群如何实现负载分配与水平扩展

日志采集:为确保工作负载在所有处理器间均匀分配,代理程序会将日志上传至可用的处理器节点,避免单一节点过载,提升系统整体稳定性。当向集群中添加新节点时,代理配置会同步更新,从而实现系统采集能力的水平扩展。

基于角色专业化的集群运行机制

不同安全功能对系统资源的需求存在差异。例如,日志采集属于 CPU 密集型任务,而日志检索与关联分析则对内存要求较高。在大型部署环境中,若由单个处理器同时承担所有任务,极易引发性能冲突,比如高资源消耗的检索查询可能导致关键的日志采集任务运行缓慢。

Log360 的可扩展性设计原理

基于角色的专业化分工:这种多层级的角色分工模式,通过为每个日志处理器分配特定功能,有效解决了性能瓶颈问题。该模式在高性能数据平台中已得到验证,能够实现资源隔离,避免单一功能运行对其他功能造成影响,从而保障系统运行的稳定性与可预测性。

同时,该架构支持针对性扩展,即仅对负载压力过大的系统模块进行扩容。例如,当检索速度变慢时,只需增加更多专用于“搜索引擎”角色的节点,无需对采集节点进行调整,不会影响日志采集任务。

在可扩展部署模式下,Log360 支持以下角色划分:

预设角色

处理引擎:对已解析的日志进行数据丰富化处理,默认负责日志转发、告警生成及日志归档。

日志队列引擎:管理组件间的事件流转,防止数据丢失。

关联分析引擎:基于安全规则对事件进行检测分析。

搜索引擎:对数据建立索引并存储至 Elasticsearch,同时响应用户检索请求。

可选专业角色/自定义角色

以下功能可从处理引擎中剥离,部署在专用节点上,以提升系统灵活性与性能:

告警引擎:根据常规告警规则和关联分析规则生成告警通知。

日志转发器:将日志发送至外部工具或存储介质,供后续分析与存档。

日志归档器:根据预设的日志保留策略,完成日志的长期存储。

说明

一旦将上述功能配置为独立的自定义角色,处理引擎将不再承担对应任务。

如需根据企业基础设施情况,高效规划节点扩容与角色分配方案,请参考《容量规划手册》。

2. 队列引擎

Log360 的队列层是组件间数据流转的核心通道,能够高效处理海量日志数据,即使在系统故障或负载激增的情况下,也可确保数据零丢失。该队列系统支持 Log360 内部各模块之间,以高可靠性、高传输速率完成消息(日志数据)的收发。

队列层核心概念该架构基于主题(Topic) 实现日志流转的队列管理,队列引擎的核心组件说明如下:

主题

主题相当于一个分类文件夹,用于存放同类消息(数据)。例如,一个主题可存储原始日志,另一个主题存储已处理日志,还有一个主题专门存储告警数据。

Log360 包含以下核心主题:

•数据丰富化主题

•关联分析主题

•告警主题

•日志转发主题

•操作行为主题

•安全事件主题

分区

分区功能将单个主题拆分为多个数据分片,允许多个进程同时处理同一主题的数据,从而提升处理速度与系统可扩展性。其原理类似于将一个长队列拆分为多个短队列,实现并行处理,提升整体效率。

副本机制

每个分区的数据都会同步复制到多个处理器节点。当某一处理器故障时,可由其他节点的副本数据接替工作,确保系统高可用性与容错能力。

消息代理

消息代理是集群中的独立节点,负责数据存储及消息收发请求的处理。在 Log360 中,队列集群由分布在各处理器节点上的多个消息代理协同组成。每个消息代理并非存储所有主题数据,而是通过智能分配机制,将主题及其分区数据分散存储在不同代理节点上,以实现性能优化与负载均衡。

生产者

生产者是向队列中发送数据的组件。例如,在 Log360 中,处理引擎会将日志数据发送至上述各类队列主题,承担生产者的角色。

消费者

消费者是从队列中读取数据的组件。例如,在 Log360 中,关联分析引擎与告警引擎会读取相关数据流,进行威胁检测与处理,承担消费者的角色。

控制节点

在多节点部署架构中,会指定一个专用的消息代理作为控制节点,负责将分区分配至各个消息代理,并监控集群的运行健康状态。

数据持久性

队列会按照预设时长保存所有消息数据,确保故障下线的节点在恢复后,能够回溯并补全缺失的数据。

队列集群核心价值

综上所述,队列集群实现了以下关键能力:

数据零丢失:即使处理器节点发生临时性故障,也不会造成数据丢失。

组件解耦:将系统拆分为数据发送方(生产者)与接收方(消费者),各组件可独立运行。

弹性扩展:当日志数据量增长时,可通过增加消息代理节点实现处理能力扩容。

海量数据处理:高效支撑多租户、混合云及大型企业环境下的日志处理需求。

队列集群是 Log360 构建高速、容错型数据传输通道的核心支撑。

3. 检索层

Log360 的检索层基于 Elasticsearch 构建,是系统的索引数据存储与检索引擎。

核心作用与功能

数据索引:已解析和丰富化的日志数据会被发送至 Elasticsearch 建立索引。

快速检索与实时查询:基于 Elasticsearch 的强大能力,实现海量数据集的高速检索与实时查询。

4. 存储层

Log360 的存储层负责根据数据的使用场景与生命周期阶段,选择不同存储类型完成数据的留存与归档。

存储类型

热存储

○基于 Elasticsearch 索引实现,是系统的热存储模块。

○高频查询的数据会存储于此,以保障快速访问,数据留存时长可按需配置。

○写入组件:搜索引擎、关联分析引擎、告警引擎

○访问组件:搜索引擎(执行检索查询时)

冷存储(归档存储)

○当日志数据老化后,可从热存储迁移至共享归档存储。

○满足合规要求,支持日志的长期留存。

○数据仍可检索,但查询性能会低于热存储。

○写入组件:日志归档器/处理引擎

○访问组件:搜索引擎

通用数据库(关系型数据库:PostgreSQL/MSSQL)

○用于存储系统元数据、配置信息、告警规则配置、数据丰富化元数据等。

○不承担日志数据存储任务,但对产品内部运行及组件间通信至关重要。

○写入组件:所有处理器节点

○访问组件:所有处理器节点

处理器共享存储

○用于实现集群内多个处理器节点间的数据交换与协同工作。

○支持中间文件传输、节点运行状态同步及信息共享。

○是保障多节点部署环境下系统稳定运行的关键组件。

○写入组件:所有处理器节点

○访问组件:所有处理器节点

支撑存储层的核心主题

以下为关键队列主题及其与存储层的交互逻辑:

存储层核心优势

保障数据留存与可恢复性。

实现实时数据传输通道与长期归档系统的无缝衔接。

通过留存历史数据,满足相关合规性法规要求。

下一节将继续分享关于日志如何被摄取、处理和存储的概述,并以部署场景进行说明,以及Log360中的架构实践的常见场景。

相关文章
|
监控 Kubernetes 负载均衡
spring boot应用优化,6s内启动,内存减半
taptap-developer是一个spring boot框架驱动的纯Grpc服务,所以,只用了四步,移除了web和spring cloud相关的模块后,启动速度就稳稳的保持在了6s内。除了启动速度提升外,在服务待机状态下,内存锐减了50%左右,从500M左右的内存占用,缩减到了250M不到。
10184 113
spring boot应用优化,6s内启动,内存减半
|
1月前
|
负载均衡 容灾 JavaScript
Nginx反向代理容灾备份(手把手教你搭建高可用Web服务)
本文介绍如何通过Nginx反向代理实现容灾备份与高可用架构。利用upstream模块配置主备服务器,结合健康检查与自动故障转移,确保主服务宕机时无缝切换至备用服务器。图文详解参数设置、配置步骤及测试方法,并提供Keepalived、HTTPS等进阶优化建议,助小白快速搭建稳定可靠的Web系统。
|
1月前
|
移动开发 前端开发 Java
微信直连商户公众号 JSAPI 支付,详细教程+源码
JSAPI 支付用于微信公众号内的网页调起微信收银台,常见于在公众号菜单、文章页或 H5 活动页中完成支付。该方式依赖微信内置浏览器环境,非微信浏览器无法调起。
312 1
|
4月前
|
弹性计算 网络协议 Linux
阿里云服务器简介及使用教程,附送云服务器ECS自定义创建流程
阿里云ECS是安全可靠、弹性灵活的云计算服务,支持多种实例规格与操作系统,可快速创建和管理云服务器。本文详解ECS介绍、购买流程及使用教程,涵盖配置选择、网络设置、安全组规则等,助您轻松上手。
522 16
|
存储 安全 数据库
阿里云服务器计算型、通用型、内存型主要实例规格性能特点和适用场景汇总
阿里云服务器ECS计算型、通用型、内存型规格族属于独享型云服务器,在高负载不会出现计算资源争夺现象,因为每一个vCPU都对应一个Intel ® Xeon ®处理器核心的超线程,具有性能稳定且资源独享的特点。本文为大家整理汇总了阿里云服务器ECS计算型、通用型、内存型主要实例规格族具体实例规格有哪些,各个实例规格的性能特点和主要适用场景。
阿里云服务器计算型、通用型、内存型主要实例规格性能特点和适用场景汇总
|
弹性计算 运维 测试技术
ECS快照
云盘快照是在特定时间点对云盘数据状态的备份,首次快照为全量备份,之后的快照仅保存变化数据。快照功能包括手动和自动创建,可用于数据恢复、系统回滚、创建自定义镜像等场景。阿里云提供了多种快照操作,如创建、回滚、复制到其他地域等,并有不同的计费模式。在使用快照时,需要注意相关限制和配额。此外,阿里云还设有用户服务群,提供技术支持。
|
数据采集 网络协议 开发者
工业自动化领域常见的通讯协议
工业自动化领域常见的通讯协议
2095 1
|
前端开发 Linux C语言
BCC(可观测性)
BCC(可观测性)
372 0