Zeek使用手册翻译——集群架构

Zeek不是多线程的,因此,一旦达到单个处理器内核的限制,当前唯一的选择就是将工作负载分散到许多内核甚至许多物理计算机上。 Zeek的集群部署方案是构建这些较大系统的当前解决方案。 Zeek附带的工具和脚本提供了一种结构,可以轻松地管理许多Zeek进程,以检查数据包并进行关联活动,但它们充当的是一个单一的,具有凝聚力的实体。 本文档介绍Zeek群集体系结构。 有关如何配置Zeek群集的信息,请参阅ZeekControl文档。

0x01结构

Zeek使用手册翻译——集群架构_第1张图片

分路器
分路器是一种机制,用于拆分数据包流,以使副本可用于检查。示例包括交换机上的监视端口和光纤网络上的光分路器。

前端
前端是一种离散的硬件设备或主机技术,可将流量分为许多流或流。 Zeek二进制文件不执行此工作。有多种方法可以完成此任务,下面的“前端选项”中介绍了其中的一些方法。

管理器
管理区是一个Zeek流程,有两个主要任务。它使用Zeek通信协议从群集的其余节点接收日志消息和通知(请注意,如果使用单独的记录器节点,则记录器将接收所有日志,而不是管理器)。结果是单个日志,而不是必须以某种方式与后期处理结合的许多离散日志。管理器还支持其他功能和分析,这些功能和分析需要事件或数据的集中全局视图。

记录仪
记录器是一个可选的Zeek进程,它使用Zeek通信协议从群集中其余节点接收日志消息。让记录器代替管理器接收日志的目的是减轻管理器的负担。如果不需要记录器,则管理器将改为接收日志。

代理
代理是Zeek进程,可用于卸载数据存储或任何任意工作负载。一个群集可能包含多个代理节点。 Zeek随附的默认脚本使用的代理最少,因此仅使用一个代理就足够了,但是自定义使用它们来分区数据或工作负载提供了更大的群集可扩展性,而不仅仅是在单个集中式Manager节点上执行类似任务。

充当代理的Zeek进程在CPU或内存上的使用并不十分困难,并且用户经常在与管理器相同的物理主机上运行代理进程。

工作器
工作器是Zeek进程,它嗅探网络流量并对重组后的流量进行协议分析。活动集群的大部分工作都在工作程序上进行,因此,工作程序通常代表集群中正在运行的大部分Zeek进程。由于所有协议解析和大多数分析都将在此处进行,因此建议您使用负担得起的最快内存和CPU核心速度。对工作器中的磁盘没有特别的要求,因为几乎所有日志记录都是在远程对管理器进行的,并且通常很少写入磁盘。

我们最近遵循的经验法则是为正在分析的每250Mbps流量分配大约1个核心。但是,此估计可能是特定于流量混合的。通常,它适用于与许多用户和服务器进行混合流量的情况。例如,如果您的流量峰值在2Gbps(合并)左右,并且您想在峰值负载下处理流量,则可能希望有8个内核可用(2048/250 == 8.2)。如果250Mbps的估计适用于您的流量,则可以由2个专用于工作的物理主机来处理,每个物理主机都包含一个四核处理器。

一旦基于流的负载均衡器到位,此模型就非常容易扩展。建议您估算完全分析流量所需的硬件数量。如果需要更多资源,在大多数情况下增加集群的规模相对容易。

前端选项
设置前端流量分配器有很多选择。在许多情况下,在网络和主机上进行流分配的多个阶段是有益的。

你可能感兴趣的:(流量监测,网络安全)