Splunk 架构
本节介绍 Splunk 架构,包括关键定义、Splunk 分布式部署、Splunk SmartStore、数据流、硬件和软件要求、单站点和多站点要求等。
关键定义
接下来的两个表列出了分布式 Splunk 部署中使用的 Splunk 和NetApp组件。
此表列出了分布式 Splunk Enterprise 配置的 Splunk 硬件组件。
Splunk 组件 | 任务 |
---|---|
索引器 |
Splunk Enterprise 数据存储库 |
通用转发器 |
负责提取数据并将数据转发给索引器 |
搜索头 |
用于在索引器中搜索数据的用户前端 |
集群主节点 |
管理索引器和搜索头的 Splunk 安装 |
监控控制台 |
整个部署中使用的集中监控工具 |
许可证主控 |
许可证管理员处理 Splunk Enterprise 许可 |
部署服务器 |
更新配置并将应用程序分发到处理组件 |
存储组件 |
任务 |
NetApp AFF |
用于管理热层数据的全闪存存储。也称为本地存储。 |
NetAppStorageGRID |
用于管理热层数据的 S3 对象存储。 SmartStore 使用它在热层和温层之间移动数据。也称为远程存储。 |
下表列出了 Splunk 存储架构中的组件。
Splunk 组件 | 任务 | 负责组件 |
---|---|---|
智能商店 |
为索引器提供将数据从本地存储分层到对象存储的能力。 |
Splunk |
热的 |
通用转发器放置新写入数据的着陆点。存储是可写的,数据是可搜索的。该数据层通常由 SSD 或快速 HDD 组成。 |
ONTAP |
缓存管理器 |
管理索引数据的本地缓存,在搜索时从远程存储中获取热数据,并从缓存中逐出最不常用的数据。 |
智能商店 |
温暖的 |
数据按逻辑滚动到存储桶,首先从热层重命名为暖层。此层内的数据受到保护,并且与热层一样,可以由更大容量的 SSD 或 HDD 组成。使用常见的数据保护解决方案支持增量备份和完整备份。 |
StorageGRID |
Splunk 分布式部署
为了支持数据来自多台机器的更大环境,您需要处理大量数据。如果许多用户需要搜索数据,您可以通过在多台机器上分发 Splunk Enterprise 实例来扩展部署。这被称为分布式部署。
在典型的分布式部署中,每个 Splunk Enterprise 实例执行一项专门的任务,并驻留在与主要处理功能相对应的三个处理层之一上。
下表列出了 Splunk Enterprise 处理层。
层级 | 组件 | 描述 |
---|---|---|
数据输入 |
货运代理 |
转发器消费数据,然后将数据转发给一组索引器。 |
索引 |
索引器 |
索引器对通常从一组转发器接收的传入数据进行索引。索引器将数据转换为事件并将事件存储在索引中。索引器还根据搜索头的搜索请求搜索索引数据。 |
搜索管理 |
搜索头 |
搜索头是搜索的中心资源。集群中的搜索头是可互换的,并且可以从搜索头集群的任何成员访问相同的搜索、仪表板、知识对象等。 |
下表列出了分布式 Splunk Enterprise 环境中使用的重要组件。
组件 | 描述 | 责任 |
---|---|---|
索引集群主节点 |
协调索引器集群的活动和更新 |
索引管理 |
索引集群 |
配置为相互复制数据的 Splunk Enterprise 索引器组 |
索引 |
搜索头部署器 |
处理集群主控的部署和更新 |
搜索头管理 |
搜索头集群 |
一组搜索头,作为搜索的中心资源 |
搜索管理 |
负载均衡器 |
由集群组件使用,以处理搜索头、索引器和 S3 目标不断增长的需求,从而在集群组件之间分配负载。 |
集群组件的负载管理 |
了解 Splunk Enterprise 分布式部署的以下优势:
-
访问多样化或分散的数据源
-
提供处理任何规模和复杂程度的企业数据需求的功能
-
通过数据复制和多站点部署实现高可用性并确保灾难恢复
Splunk SmartStore
SmartStore 是一种索引器功能,它使远程对象存储(如 Amazon S3)能够存储索引数据。随着部署的数据量增加,对存储的需求通常会超过对计算资源的需求。 SmartStore 允许您通过单独扩展这些资源来经济高效地管理索引器存储和计算资源。
SmartStore 引入了远程存储层和缓存管理器。这些功能允许数据驻留在本地索引器上或远程存储层上。缓存管理器管理索引器和在索引器上配置的远程存储层之间的数据移动。
使用 SmartStore,您可以将索引器存储占用空间降至最低,并选择针对 I/O 优化的计算资源。大多数数据驻留在远程存储上。索引器维护一个包含最少量数据的本地缓存:热存储桶、参与活动或最近搜索的热存储桶副本以及存储桶元数据。
Splunk SmartStore 数据流
当来自各个来源的数据到达索引器时,数据会被索引并本地保存在热存储桶中。索引器还将热存储桶数据复制到目标索引器。到目前为止,数据流与非 SmartStore 索引的数据流相同。
当热桶变暖时,数据流就会分叉。源索引器将热存储桶复制到远程对象存储(远程存储层),同时将现有副本保留在其缓存中,因为搜索往往会遇到最近索引的数据。但是,目标索引器会删除其副本,因为远程存储无需维护多个本地副本即可提供高可用性。存储桶的主副本现在位于远程存储中。
下图显示了 Splunk SmartStore 数据流。
索引器上的缓存管理器是 SmartStore 数据流的核心。它根据需要从远程存储中获取存储桶的副本来处理搜索请求。它还会从缓存中逐出较旧或搜索较少的存储桶副本,因为它们参与搜索的可能性会随着时间的推移而降低。
缓存管理器的工作是优化可用缓存的使用,同时确保搜索可以立即访问所需的存储桶。
软件要求
下表列出了实施该解决方案所需的软件组件。解决方案实施过程中所使用的软件组件可能会根据客户要求而有所不同。
产品系列 | 产品名称 | 产品版本 | 操作系统 |
---|---|---|---|
NetAppStorageGRID |
StorageGRID对象存储 |
11.6 |
不适用 |
CentOS |
CentOS |
8.1 |
CentOS 7.x |
Splunk Enterprise |
Splunk Enterprise 与 SmartStore |
8.0.3 |
CentOS 7.x |
单站点和多站点要求
在企业 Splunk 环境(中型和大型部署)中,数据源自多台机器,并且许多用户需要搜索数据,您可以通过在单个和多个站点上分发 Splunk Enterprise 实例来扩展部署。
了解 Splunk Enterprise 分布式部署的以下优势:
-
访问多样化或分散的数据源
-
提供处理任何规模和复杂程度的企业数据需求的功能
-
通过数据复制和多站点部署实现高可用性并确保灾难恢复
下表列出了分布式 Splunk Enterprise 环境中使用的组件。
组件 | 描述 | 责任 |
---|---|---|
索引集群主节点 |
协调索引器集群的活动和更新 |
索引管理 |
索引集群 |
配置为相互复制数据的 Splunk Enterprise 索引器组 |
索引 |
搜索头部署器 |
处理集群主控的部署和更新 |
搜索头管理 |
搜索头集群 |
一组搜索头,作为搜索的中心资源 |
搜索管理 |
负载均衡器 |
由集群组件使用,以处理搜索头、索引器和 S3 目标不断增长的需求,从而在集群组件之间分配负载。 |
集群组件的负载管理 |
该图描绘了单站点分布式部署的示例。
该图描绘了多站点分布式部署的示例。
硬件要求
下表列出了实施该解决方案所需的最少硬件组件数量。解决方案具体实施中使用的硬件组件可能根据客户要求而有所不同。
|
无论您在单个站点还是多个站点部署了 Splunk SmartStore 和StorageGRID ,所有系统都通过StorageGRID GRID Manager 在单一玻璃窗格中进行管理。有关更多详细信息,请参阅“使用网格管理器进行简单管理”部分。 |
该表列出了单个站点使用的硬件。
硬件 | 数量 | 磁盘 | 可用容量 | 注 |
---|---|---|---|---|
StorageGRID SG1000 |
1 |
不适用 |
不适用 |
管理节点和负载均衡器 |
StorageGRID SG6060 |
4 |
x48,8TB(NL-SAS 硬盘) |
1PB |
远程存储 |
下表列出了用于多站点配置(每个站点)的硬件。
硬件 | 数量 | 磁盘 | 可用容量 | 注 |
---|---|---|---|---|
StorageGRID SG1000 |
2 |
不适用 |
不适用 |
管理节点和负载均衡器 |
StorageGRID SG6060 |
4 |
x48,8TB(NL-SAS 硬盘) |
1PB |
远程存储 |
NetApp StorageGRID负载均衡器:SG1000
对象存储需要使用负载均衡器来呈现云存储命名空间。 StorageGRID支持来自 F5 和 Citrix 等领先供应商的第三方负载均衡器,但许多客户选择企业级StorageGRID均衡器以实现简单性、弹性和高性能。 StorageGRID负载均衡器可作为虚拟机、容器或专用设备使用。
StorageGRID SG1000 有助于使用高可用性 (HA) 组和 S3 数据路径连接的智能负载平衡。没有其他内部部署对象存储系统提供定制的负载均衡器。
SG1000 设备提供以下功能:
-
StorageGRID系统的负载均衡器和管理节点(可选)功能
-
StorageGRID Appliance Installer 可简化节点部署和配置
-
简化 S3 端点和 SSL 的配置
-
专用带宽(而不是与其他应用程序共享第三方负载均衡器)
-
高达 4 x 100Gbps 聚合以太网带宽
下图显示了 SG1000 网关服务设备。
SG6060
StorageGRID SG6060 设备包括一个计算控制器(SG6060)和一个存储控制器架(E 系列 E2860),其中包含两个存储控制器和 60 个驱动器。该设备具有以下功能:
-
在单个命名空间中扩展到 400PB。
-
高达 4x 25Gbps 的聚合以太网带宽。
-
包括StorageGRID Appliance Installer,以简化节点部署和配置。
-
每个 SG6060 设备可以有一个或两个额外的扩展架,总共可容纳 180 个驱动器。
-
两个 E 系列 E2800 控制器(双工配置)提供存储控制器故障转移支持。
-
五抽屉驱动器架,可容纳 60 个 3.5 英寸驱动器(两个固态驱动器和 58 个 NL-SAS 驱动器)。
下图显示了 SG6060 设备。
Splunk 设计
下表列出了单个站点的 Splunk 配置。
Splunk 组件 | 任务 | 数量 | 核心 | 内存 | 操作系统 |
---|---|---|---|---|---|
通用转发器 |
负责提取数据并将数据转发给索引器 |
4 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
索引器 |
管理用户数据 |
10 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
搜索头 |
用户前端在索引器中搜索数据 |
3 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
搜索头部署器 |
处理搜索头集群的更新 |
1 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
集群主节点 |
管理 Splunk 安装和索引器 |
1 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
监控控制台和许可证主控器 |
对整个 Splunk 部署进行集中监控并管理 Splunk 许可证 |
1 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
下表描述了多站点配置的 Splunk 配置。
下表列出了多站点配置(站点 A)的 Splunk 配置。
Splunk 组件 | 任务 | 数量 | 核心 | 内存 | 操作系统 |
---|---|---|---|---|---|
通用转发器 |
负责提取数据并将数据转发给索引器。 |
4 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
索引器 |
管理用户数据 |
10 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
搜索头 |
用户前端在索引器中搜索数据 |
3 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
搜索头部署器 |
处理搜索头集群的更新 |
1 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
集群主节点 |
管理 Splunk 安装和索引器 |
1 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
监控控制台和许可证主控器 |
对整个 Splunk 部署进行集中监控并管理 Splunk 许可证。 |
1 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
下表列出了多站点配置(站点 B)的 Splunk 配置。
Splunk 组件 | 任务 | 数量 | 核心 | 内存 | 操作系统 |
---|---|---|---|---|---|
通用转发器 |
负责提取数据并将数据转发给索引器 |
4 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
索引器 |
管理用户数据 |
10 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
搜索头 |
用户前端在索引器中搜索数据 |
3 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
集群主节点 |
管理 Splunk 安装和索引器 |
1 |
16 核 |
32 GB 内存 |
CentOS 8.1 |
监控控制台和许可证主控器 |
对整个 Splunk 部署进行集中监控并管理 Splunk 许可证 |
1 |
16 核 |
32 GB 内存 |
CentOS 8.1 |