技术标签: 1024程序员节
在单实例部署中,Splunk Enterprise 的一个实例处理数据的所有方面,从输入到索引再到搜索。单实例部署可用于测试和评估目的,并能满足部门级规模的环境的需求。
但是,为了支持更大的环境,其中许多计算机都会生产数据,并且许多用户都需要搜索数据,可以通过在多台计算机上分布式部署 Splunk Enterprise 实例。进行分布式部署时,要配置各个实例以便每个实例执行专门的任务。例如,一个或多个实例可能对数据进行索引,而另一个实例则管理跨数据的搜索。
要扩展的系统,可以将此功能拆分到 Splunk Enterprise 的多个专用实例中。这些实例的数量可以从几个到数千个不等,具体取决于正在处理的数据量以及环境中的其他变量。
例如,可以创建一个部署,其中许多实例只负责摄取数据,其他几个实例负责索引数据,还有一个实例负责管理搜索。
也可以合并这些层级或将处理配置为其他方式,但大多数分布式部署都是采用这三个层级
Splunk Enterprise 的专用实例统称为组件。除了一个例外,组件是完整的 Splunk Enterprise 实例,这些实例已配置为专注于一个或多个特定功能,例如索引或搜索。例外是通用转发器,它是Splunk Enterprise的轻量级版本,具有单独的可执行文件。
Splunk Enterprise 组件有几种类型。它们分为两大类:
处理组件主要有三种类型:
转发器摄取数据。有多种类型的转发器,但对于大多数用途而言,通用转发器都是合适的选择。通用转发器采用SplunkEnterprise的轻量版本来输入数据,对数据执行最少的处理,然后向索引编制器转发数据。因为其资源需求最少,所以可以将其与生成数据的机器(例如Web服务器)放在一起。
索引编制器和搜索头都是由SplunkEnterprise实例配置而成,分别执行索引或搜索管理的专门功能。每个索引编制器和搜索头都是单独的实例,通常驻留在自己的机器上。
这张图表提供了一个简单的例子,说明处理组件可以如何驻留在不同的处理层。这个图表说明了一个可以满足小企业需求的部署类型。
从上图开始,我们在一个小型企业部署的上下文中说明了三个处理层:
为了扩展系统,需要向每个层级添加更多组件。为了便于管理或满足高可用性需求,可以将组件分为索引编制器集群或搜索头集群。
可以将某些SplunkEnterprise组件分组到集群中,使它们密切协调其活动。这具有两个关键目的:
索引器集群是一组配置为复制彼此数据的SplunkEnterprise索引器,这样系统就会保留所有数据的多个副本。这个过程称为索引复制。通过维护SplunkEnterprise数据的多个相同的副本,集群可以防止数据丢失,同时提高搜索数据可用性。
SplunkEnterprise集群具有从一个索引器自动故障转移到下一个索引器的功能。这意味着,如果一个或多个索引器出现故障,传入的数据将继续被编制索引,并且编制索引的数据将继续可供搜索。
除了增强高可用性之外,集群还有其他功能,有助于简化分布式部署的管理。例如:
即使环境中不考虑高可用性,仍可以通过部署不带索引复制的索引器群集来利用简化的管理功能。
搜索头集群是一组搜索头,充当集中搜索资源。搜索头共享知识对象、应用程序和所有其他配置。可以从集群中的任何搜索头运行相同的搜索、查看相同的仪表板以及访问相同的搜索结果。
搜索头群集具有以下几个重要优势:
水平扩展。随着用户数和搜索负载的增加,可以向集群添加新的搜索头。通过将搜索头集群与放置在用户和集群之间的第三方负载均衡器相结合使用,拓扑结构对用户是透明的。
高可用性。如果一个搜索头出现故障,可以从集群中的任何其他搜索头运行同一组搜索并访问同一组搜索结果。
无单点故障。搜索头集群使用动态队长来管理集群。如果队长出现故障,另一个搜索头会自动接管集群的管理。
Splunk部署中的处理层级对应于数据管道,这是数据在Splunk软件中穿行的路线。
每个Splunk处理组件都驻留在其中一个层级上。这些层级共同支持数据管道中发生的进程。
随着数据沿着数据管道移动,Splunk组件将数据从外部源(例如日志文件和网络源)中的原始形式转化为可搜索的事件,这些事件封装了有价值的信息。
在输入段中,Splunk 软件消耗数据。它从其源获取原始数据流,将其分解为 64K 块,并使用一些元数据键注释每个块。这些键适用于整个输入源。它们包括数据的主机、源和源类型。 键还可以包括内部使用的值(如数据流的字符编码)和控制以后数据处理的值(如应将事件存储到的索引)。
在此阶段,Splunk 软件不会查看数据流的内容,因此密钥适用于整个源,而不是单个事件。事实上,在这一点上,Splunk软件根本没有单个事件的概念,只有具有某些全局属性的数据流的概念。
在解析段期间,Splunk 软件会检查、分析和转换数据。这也称为事件处理。正是在这个阶段,Splunk软件将数据流分解为单个事件。解析阶段有许多子阶段:
在索引期间,Splunk 软件获取解析的事件并将其写入磁盘上的索引。它写入压缩的原始数据和相应的索引文件。
为简洁起见,解析和索引通常统称为索引过程。在高层次上,这是有道理的。但是,当需要更仔细地检查数据的实际处理或决定如何分配组件时,分别考虑这两个段可能很重要。
搜索段管理用户如何访问、查看和使用索引数据的所有方面。作为搜索功能的一部分,Splunk 软件存储用户创建的知识对象,例如报告、事件类型、仪表板、警报和字段提取。搜索功能还管理搜索过程本身。
注意:该图表示索引体系结构的简化视图。它提供了架构的功能视图,并没有完全描述 Splunk 软件内部。特别是,解析管道实际上由三条流水线组成:解析、合并和类型化,它们共同处理解析函数。在故障排除期间,这种区别可能很重要,但通常不会影响配置或部署 Splunk Enterprise 组件的方式。
Splunk 组件参与数据管道的一个或多个段。
每个数据管道的段都对应一个或多个Splunk Enterprise处理组件。例如,数据输入是管道的一个段,可以使用索引器或转发器输入数据。
数据管道的多数段都可以由多个组件类型来处理。使用的特定段取决于部署结构。
例如,尽管可以将数据直接输入到索引器中,但通常只在由单个实例组成的小型部署中这样做。在规模较大的部署(通常也是单个实例的部署)中,转而通过转发器输入数据。将输入任务委派给转发器可以为部署提供更大的灵活性。
下面的表格将数据管道的段与可以处理该段的组件关联起来:
在特定情况下,其他组件也可能发生解析操作:
在大多数部署中,转发器只处理数据输入,收集数据并将其发送到Splunk Enterprise索引器。然后,索引器执行解析和索引操作。然而,在某些部署中,转发器在将数据发送到索引器之前也对其进行解析,然后索引器只进行索引。
转发器有两种类型:
这两种类型的转发器在将数据发送到索引器之前都会用元数据(例如主机、来源和源类型)标记数据。
转发器允许在处理大量或不同类型的数据时高效地使用资源。它们还通过提供负载平衡、数据过滤和路由等功能,实现了一些有趣的部署拓扑。
在分布式搜索中,将索引/解析和搜索部分分离开来。搜索头向索引器发送搜索请求,并将结果合并后返回给用户。这种拓扑结构对于水平扩展特别有用。为了将部署扩展到部门级别之外,可能会采用分布式搜索。
管理组件支持处理组件的各项活动。与处理组件一样,管理组件是Splunk Enterprise实例的特殊配置版本。
部署通常包括以下一个或多个管理组件:
根据组件及其工作负载,可以将两个管理组件合并到一个Splunk Enterprise实例上。在某些情况下,可以将一个管理组件放置在包含处理组件的实例上。
在一些使用情况较少的情况下,可能能够将两个以上的管理组件合并到一个实例上,尽管一般不建议这样做。如果打算这样做,请密切监视性能影响,确保没有超载该实例。
下表总结了在理想情况下每种管理组件类型的共位可能性。请务必阅读下表后面的免责声明,其中包含有关如何使用该表的重要指南。
第二章 实现分布式部署
Splunk Enterprise 部署的范围从单实例部门部署(每天索引几 GB 的数据,仅为搜索数据的少数用户提供服务)到分布在多个数据中心的大型企业部署,索引要求在 TB 范围内,搜索由数百人执行。
Splunk Enterprise 的生产部署通常需要安装和配置各种组件,例如转发器、搜索头和索引器。本章包括一系列用于实现常见分布式部署方案的框架,其规模从部门部署到大型企业部署。
这些框架可作为导航实施过程的高级路线图。每个框架都描述了一个常见的部署方案。然后,它提供了实现该方案的过程的概述,以及指向该过程每个步骤的详细文档的链接。
选择最能反映你需求的方案,并遵循其框架。该框架将带你到正在运行的部署。此时,已准备好专注于管理任务的范围,例如设置用户、处理安全问题,以及最后为最终用户创建仪表板和搜索等知识对象。
要实施Splunk Enterprise生产部署,必须安装各种Splunk Enterprise组件。要安装的特定组件取决于部署类型。即使要实施单实例部署,其中单个Splunk Enterprise实例同时担任索引器和搜索头,也需要安装转发器以将数据传输到该实例。要扩展到超过一个实例,必须安装和配置几种类型的Splunk Enterprise组件。
配置的组件根据部署的大小和特定要求而有所不同。例如,确保数据高可用性的部署需要不同于不强调高可用性的部署的配置。
不同的组件在很大程度上是由相同的Splunk Enterprise软件包构建的,只是配置不同以满足不同角色。通用转发器是例外,它使用的是Splunk Enterprise的轻量级软件包。
实施部署的过程要求根据目标做出一系列决策。此外,还需要遵循大量文档中描述的程序。执行的程序根据部署需求而有所不同。
确定适合特定部署需求的正确程序集,然后找到文档中的所有程序可能是一项艰巨的任务。本章的目的是简化这一过程。本章的主题提供了有关信息,以帮助理解部署需求并从一开始就做出正确的决策。
接下来的章节“具有实施框架的典型部署场景”为几种具有代表性的部署类型或场景提供了单独的主题。这些主题包含每个场景的端到端部署框架。每个框架都包含一套可用于部署场景的高级别步骤,并提供每个步骤的详细程序所包含的主题的链接。
请按照以下步骤进行操作:
可以通过多种方式来自定义Splunk Enterprise部署。然而,大多数部署都属于一些基本的分组。本主题讨论了不同类型部署的一些关键特征和注意事项。
决定部署类型和规模的主要因素如下:
其他注意事项也会影响整体部署计划,例如安全要求和数据的位置。
以下是一些根据规模划分的典型部署类型:
这些部署类型只是从单实例部署到为大量用例提供企业级覆盖的部署之间连续规模上的几个点。
此外,可以在任何规模的的企业部署中部署索引器集群。索引器集群提供了高可用性、灾难恢复和简化的扩展等优势。
还可以以多种方式组合部署拓扑。例如,可以部署一个搜索头,同时搜索索引器集群和一组独立索引器。
注意:“小型企业”、“中型企业”等术语并非常规地指使用Splunk平台的企业的大小。相反,它们是指Splunk平台在企业中支持功能的广度和深度的指标。随着Splunk平台对于处理广泛用例的价值随着持续的成功而增长,部署的规模通常也会增长。例如,一家财富500强公司可能从一个部门级别的、针对特定用例的单实例Splunk Enterprise安装开始,然后随着时间的推移,逐渐过渡到小型企业和中型企业的部署,最终采用大型企业的部署,为整个公司的组织机构和用例提供关键价值。
继续阅读本主题的其余部分以了解想要实施的部署类型的明确信息。然后转到下一章以下主题之一:
“部门级部署:单个索引器”
“小型企业部署:具有单个搜索头和多个索引器的部署”
“中等到大型企业部署:具有多个索引器的搜索头集群”
“高可用性部署:索引器集群”
这些主题提供了有关每个部署类型的详细信息,包括基本架构的图表。最重要的是,每个主题都包含有关实施过程的高级别端到端指南,其中包括实施部署时要遵循的特定程序的链接。
部署的特点会随着规模的增长而变化。以下表格可以让了解需要部署哪些Splunk组件才能满足需求。
设计注意事项也会随着部署规模的扩展而变化。下表总结了设计部署时需要考虑的一些问题。
第三章 具有实现框架的典型部署方案
一个同时担任索引器和搜索头的Splunk Enterprise实例通常可以满足大型组织中单个部门的索引和搜索需求。通常还需要在生成数据的主机上安装转发器,以将数据从主机传输到索引器。
本主题介绍如何实施由以下部分组成的部署:
此类部署的特征包括:
下图显示了此类部署的体系结构的高级视图:
从底部开始,该图说明了处理层:
数据输入。数据通过转发器进入系统,转发器负责消耗外部数据,执行少量预处理,然后向索引器发送数据。在部门级部署中,通常拥有不到10个转发器,但对于某些用例,可能需要多达100个。
索引和搜索(组合)。单个索引器接收、索引并存储来自转发器的传入数据。索引器同时担任搜索头的职能。在这种模式下,索引器处理各种搜索请求,例如用户提出的临时请求和保存的搜索请求。搜索头为用户提供各种工具,例如仪表板,以增强搜索体验。
要实施此类部署场景,请按照以下步骤操作:
启动并运行 Splunk Enterprise 实例后,可以进一步优化系统并准备数据及其呈现,具体活动参考“部署后活动”。
注意:若要增加索引和搜索容量,第一步是将索引功能与搜索管理功能分开。为此,添加第二个 Splunk Enterprise 实例作为专用搜索头。拥有专用搜索头后,可以通过添加更多索引器来提高索引容量。
要增加索引和搜索能力超过某个点,必须从单个Splunk Enterprise实例过渡到多实例部署。将搜索管理和索引功能进行划分,将其分配到在单独的机器上运行的单独的实例上。在扩展的第一阶段,通常部署一个单独的搜索头,与两个或三个索引器进行通信。这种部署类型是多个部门或小型企业解决方案的特征。
本主题描述如何实施包含以下组件的部署:
注意:除了部署多个单独的索引器之外,还可以部署一个索引器集群。即使不需要高可用性以及伴随的存储开销,这种拓扑结构仍然很有用。它仍然需要少量开销,但提供简化的索引器管理优势。
此分布式搜索方案提供第一级水平缩放。它允许用户跨一组索引器运行搜索。随着需求的进一步增加,可以添加更多索引器。
此类部署的特征包括:
下图显示了此类部署的体系结构的高级视图:
从底部开始,该图说明了三个处理层:
本主题假定从零开始实施这种部署。如果要扩展现有的单实例部署,则过程与之类似,但需要注意几个额外的问题:
实施框架过程包括处理这些问题的步骤。
在从小型企业到中型企业部署的过渡过程中,需要提高索引和搜索能力。对于索引,可以继续添加索引器。对于搜索,可以添加搜索头以服务更多用户和更多搜索活动。
部署多个搜索头的建议方法是将搜索头组合到搜索头群集中。搜索头群集允许用户和搜索在一组搜索头之间共享资源。它们也比单个搜索标题组更易于管理。搜索头群集至少需要三个搜索头。
中型企业部署和大型企业部署之间的差异主要是规模和管理问题。基本部署拓扑类似。它们都使用具有多个索引器的搜索头群集。
中型企业部署比小型企业部署提供更大的水平扩展。它为更多的用户和搜索提供服务。随着需求的不断增加,可以继续添加索引器和搜索头。
此类部署的特征包括:
大型企业部署提供了更大的水平扩展。
此类部署的特征包括:
下图显示了大中型企业部署的体系结构的高级视图:
从底部开始,该图说明了三个处理层:
本主题假定从头开始实现搜索头集群部署。相反,如果要从现有的非集群部署进行扩展,则过程类似,但还需要注意一些其他问题:
若要使用索引器和转发器实现搜索头群集,请执行以下操作:
可以根据需要继续扩展部署。若要增加索引和搜索容量,第一步是添加更多索引器。为此,请安装另一个 Splunk Enterprise 实例,并配置搜索头和转发器以与之连接。
若要为更多用户提供服务并继续将搜索容量增加到特定级别以上,必须向群集添加另一个搜索头。
若要确保数据的高可用性,可以部署索引器群集。索引器群集是一组索引器,配置为复制彼此的数据,以便系统保留所有数据的多个副本。此过程称为索引复制。索引器群集可防止数据丢失,同时提高搜索的数据可用性。索引器群集也比单个索引器组更易于管理。
索引器群集的权衡是需要额外的存储来处理复制的副本。可以控制索引复制的程度,从而控制存储要求,以满足企业的可用性需求。
可以将索引器群集用于任何规模的企业部署。
随着搜索需求的增长,可以将索引器群集与搜索头群集组合在一起。
索引器群集的主要用例是企业部署,它需要高数据可用性,并且愿意分配存储数据的多个副本所需的额外磁盘空间。
还可以在不进行复制的情况下实现索引器群集。消除复制后,将失去索引器群集的一些主要优势,例如数据可用性和数据恢复,但仍可以获得简化多个索引器管理的好处。
索引器群集的主要体系结构类型包括:
下图显示了具有一个或多个单独搜索头的索引器群集的体系结构的高级视图:
从底部开始,该图说明了三个处理层:
管理器(主)节点调节集群节点的功能,但不索引、存储或搜索数据。
可以将索引器群集与搜索头群集组合在一起。如果需要部署多个搜索头,建议使用此方法
与以前的体系结构相比,主要区别在于搜索头群集取代了单个搜索头。索引器群集与搜索头群集的交互方式与与单个搜索标头交互的方式基本相同。
本主题假定你从头开始实现索引器群集部署。相反,如果要从一组非聚集索引器进行扩展,则可以将现有索引器合并到群集中,但需要注意一些问题:
若要实现索引器群集,请执行以下操作:
1. 安装必要的 Splunk 企业版实例,并部署索引器群集。
2. (仅限迁移)如果要从包含一个或多个独立索引器的部署迁移,另请阅读管理索引器和索引器群集手册中的“将非聚集索引器迁移到群集环境”。
3. 如果要为搜索层实现搜索头群集,参考“部署搜索头群集”和“将搜索头群集与索引器群集集成”。
4. 配置 Splunk 企业许可证。如果有现有许可证,则必须确保它涵盖任何新实例。
5. 在托管数据源的计算机上安装通用转发器(如果尚未这样做)。
6. 将对等节点连接到转发器:
7. 配置转发器的输入,以便数据开始进入系统。
可以根据需要缩放群集。若要增加索引和搜索容量,第一步是添加另一个索引器。为此,要启用新的 Splunk 企业实例作为对等节点。
若要为更多用户提供服务并继续将搜索容量增加到一定级别以上,必须添加更多搜索头。在索引器群集中包含多个搜索头的建议方法是将它们部署在搜索头群集中。
文章浏览阅读101次。4.class可以有⽆参的构造函数,struct不可以,必须是有参的构造函数,⽽且在有参的构造函数必须初始。2.Struct适⽤于作为经常使⽤的⼀些数据组合成的新类型,表示诸如点、矩形等主要⽤来存储数据的轻量。1.Class⽐较适合⼤的和复杂的数据,表现抽象和多级别的对象层次时。2.class允许继承、被继承,struct不允许,只能继承接⼝。3.Struct有性能优势,Class有⾯向对象的扩展优势。3.class可以初始化变量,struct不可以。1.class是引⽤类型,struct是值类型。
文章浏览阅读586次。想实现的功能是点击顶部按钮之后按关键字进行搜索,已经可以从服务器收到反馈的json信息,但从json信息的解析开始就会闪退,加载listview也不知道行不行public abstract class loadlistview{public ListView plv;public String js;public int listlength;public int listvisit;public..._rton转json为什么会闪退
文章浏览阅读219次。如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet
文章浏览阅读521次。系统项目报表导出 导出任务队列表 + 定时扫描 + 多线程_积木报表 多线程
文章浏览阅读1.1k次,点赞9次,收藏9次。使用AJAX技术的好处之一是它能够提供更好的用户体验,因为它允许在不重新加载整个页面的情况下更新网页的某一部分。另外,AJAX还使得开发人员能够创建更复杂、更动态的Web应用程序,因为它们可以在后台与服务器进行通信,而不需要打断用户的浏览体验。在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种常用的技术,用于在不重新加载整个页面的情况下,从服务器获取数据并更新网页的某一部分。使用AJAX,你可以创建异步请求,从而提供更快的响应和更好的用户体验。_ajax 获取http数据
文章浏览阅读2.8k次。登录退出、修改密码、关机重启_字符终端
文章浏览阅读3.8k次,点赞3次,收藏51次。前段时间看到一位发烧友制作的超声波雷达扫描神器,用到了Arduino和Processing,可惜啊,我不会Processing更看不懂人家的程序,咋办呢?嘿嘿,所以我就换了个思路解决,因为我会一点Python啊,那就动手吧!在做这个案例之前先要搞明白一个问题:怎么将Arduino通过超声波检测到的距离反馈到Python端?这个嘛,我首先想到了串行通信接口。没错!就是串口。只要Arduino将数据发送给COM口,然后Python能从COM口读取到这个数据就可以啦!我先写了一个测试程序试了一下,OK!搞定_超声波扫描建模 python库
文章浏览阅读4.2k次。端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。2.使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。_凯撒加密
文章浏览阅读5.7k次。CIP报文解析常用到的几个字段:普通类型服务类型:[0x00], CIP对象:[0x02 Message Router], ioi segments:[XX]PCCC(带cmd和func)服务类型:[0x00], CIP对象:[0x02 Message Router], cmd:[0x101], fnc:[0x101]..._cip协议embedded_service_error
文章浏览阅读2.4k次,点赞9次,收藏13次。有时候我们在MFC项目开发过程中,需要用到一些微软已经提供的功能,如VC++使用EXCEL功能,这时候我们就能直接通过VS2019到如EXCEL.EXE方式,生成对应的OLE头文件,然后直接使用功能,那么,我们上篇文章中介绍了vs2017及以前的版本如何来添加。但由于微软某些方面考虑,这种方式已被放弃。从上图中可以看出,这一功能,在从vs2017版本15.9开始,后续版本已经删除了此功能。那么我们如果仍需要此功能,我们如何在新版本中添加呢。_vs添加mfc库
文章浏览阅读785次。用ac3编码,执行编码函数时报错入如下:[ac3 @ 0x7fed7800f200] frame_size (1536) was not respected for anon-last frame (avcodec_encode_audio2)用ac3编码时每次送入编码器的音频采样数应该是1536个采样,不然就会报上述错误。这个数字并非刻意固定,而是跟ac3内部的编码算法原理相关。全网找不到,国内音视频之路还有很长的路,音视频人一起加油吧~......_frame_size (1024) was not respected for a non-last frame
文章浏览阅读230次,点赞2次,收藏2次。创建Android应用程序一个项目里面可以有很多模块,而每一个模块就对应了一个应用程序。项目结构介绍_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量