简介
Splunk是一个功能完备的企业级产品,提供了命令行窗口,web图形界面接口和其他接口,查询结果展示,数据查询,权限控制,分布式管理服务,数据索引,网络端口监听,数据警报,文件监听等等。
部署结构
一个典型的Splunk分布式部署分为三层:
- 数据导入层
- 索引层
- 搜索管理层
组件,即 Splunk实例 | 层 | 描述 |
---|---|---|
转发器(Forwarder) | 数据导入层 | 转发器可获取数据,然后通常会将数据继续转发至索引器。 |
索引器(Indexer) | 索引层 | 索引器会对从转发器组传入的数据进行索引。响应搜索头的搜索请求。可靠性:索引器群集通过索引复制,实现了数据的多副本,同时便于数据搜索。 |
搜索头(Search Head) | 搜索管理层 | 搜索头与用户交互,将搜索请求指向一组索引器,并合并结果返回给用户。 |
部署场景
单机模式
- 数据导入
- 合并的索引和搜索
小型企业部署场景
- 数据导入 -- 多个转发器
- 索引 -- 多个索引器
- 搜索管理 -- 单个搜索头
中大型企业部署场景
- 数据导入 -- 多个转发器
- 索引 -- 多个索引器
- 搜索管理 -- 搜索头集群。Deployer 将应用分发给搜索头群集成员。
高可用性部署
- 数据导入 -- 多个转发器
- 索引 -- 多个索引器。引入对等节点,开启索引复制。
- 搜索管理 -- 搜索头集群。Deployer 将应用分发给搜索头群集成员。
数据管道 -- 数据如何通过 Splunk 部署移动
当数据沿着数据管道移动时,Splunk 组件将数据从其外部原始来源(例如日志文件和网络源)转换为可搜索事件。数据管道分为:
- 输入:采集数据
- 分析:事件处理,包括数据的检查、分析及转换。
- 索引:将分析后的事件并将其写入磁盘上的索引中,会同时写入压缩的原始数据和相应的索引文件。
- 搜索
三个典型处理层和四个数据管道段之间的对应关系如下:
- 数据导入层处理输入段。
- 索引层处理分析和索引段。
- 搜索管理层处理搜索段。
转发器
类型
- 通用转发器(universal forwarder ):仅包含转发数据所需的组件。
- 重型转发器(heavy forwarder):完整的Splunk实例,能够索引、搜索、更改数据,同时也可以转发数据。如果需要装钱分析或更改数据或根据内容控制数据法相,则需要使用重型转发器。
- 轻型转发器:已启用。
场景
数据整合
利用多个转发器发送数据到单个Splunk索引。
下图,三个通用转发器将数据发送到单个索引器。
负载均衡
在负载均衡中,转发器按照一定到策略发送数据到不同索引器。
下图,三个通用转发器,它们执行两个索引器之间的负载均衡。
路由和筛选
在数据路由中,转发器会根据事件本身的数据来源、来源类型或模式等标准,将事件路由到特定的主机。转发器还会过滤并路由事件到特定队列,或通过路由到空队列以完全丢弃它们。
下图,重型转发器将基于事件模式路由数据到三个索引器。
转发器和索引器群集
使用转发器发送数据到索引器群集的对等节点。
下图,发送数据给索引群集的两个负载均衡转发器。
索引器
索引器集群
索引器群集是一组协同工作的 Splunk节点,提供冗余索引和搜索操作。群集中的节点有以下三种类型:
- 单个主节点,用于管理群集。主节点是一种特殊类型的索引器。
- 多个对等节点,用于处理群集的索引功能、维护数据的多个副本及为其建立索引,以及对数据执行搜索。
- 一个或多个搜索头,用于协调所有对等节点的搜索。
索引器群集功能会自动从一个对等节点故障转移到下一个对等节点。这意味着,如果一个或多个对等节点出现故障,可继续为传入数据创建索引,且索引数据继续保持可搜索状态。