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