1、Splunk Enterprise 6.0搜索册册成时间:2013 年 10 29 ,下午 12:57Copyright (c)2014 Splunk Ic. AlRights ervd44444567101011121213151515171819212222222527272728282829293031313132323334Table of Contents简简介欢欢迎使搜索册册使 Splunk 搜索Splunk 搜索包含哪哪些内内容对对正在运运的搜索执执操作设设置搜索模式以调调整搜索体验体验关关于搜索助理使搜索任务查务查看器查查看搜索属属性搜索概概述关关于搜索关关于搜索管道关关于搜索
2、语语关关于 search 语语语语法编写编写更好的搜索检检索事件关关于检检索事件使搜索命令使字段检检索事件从从索引和分布式搜索节节点中检检索事件分类类和分组类组类似事件使时间线调查时间线调查事件模式指定时间时间范围围关关于搜索中的时间时间范围围选择选择要应应于搜索的时间时间范围围在搜索中指定时间调节时间调节器在搜索中指定实时时间实时时间范围窗围窗报报告搜索结结果关关于报报表命令创创建基于时间时间的图图表创创建不(定)基于时间时间的图图表直观显观显低字段值值创创建于显显摘要统计统计信息的报报表在搜索结结果中查找关联查找关联、统计统计相关关性和差异异构构建多数数据系列图图表较较多天中每时时的总总和
3、实时实时搜索和报报表关关于实时实时搜索和报报表Splunk Web 中的实时实时搜索和报报表CLI 中的实时实时搜索和报报表实时实时搜索和报报表的预预期性能和已知限制如何限制实时实时搜索的使情况况353535363637383838393941414142434344444646464648484849505051535454555555565656评估评估和操作字段关关于评估评估和操作字段使 eval 命令和函数数使查找从查找查找从查找表中添加字段使搜索命令提取字段操作和评估评估多值值字段计计算统计统计信息关关于计计算统计统计信息使 stats 命令和函数数将将 stats 与与 eval
4、表达达式和函数数配合使将将迷你图你图添加到搜索结结果关联关联事件关关于事件相关关性使时间确时间确定事件之间间的关关系关关于搜索使搜索关联关联事件更改搜索结结果的格式关关于交易确确定事件并将并将其分组为组为交易预测将来预测将来事件关关于 Splunk Enterprise 的预测预测分析更多搜索法创创建和使搜索宏编写编写定义义搜索命令关关于本章搜索命令样样式指南编写编写搜索命令将将定义义命令添加到 Splunk控制对对定义义命令的访问访问定义义事件成命令例定义义搜索命令 shape外部化搜索错误错误字符串外部化搜索错误错误搜索例和查查本章包含哪哪些内内容?多数数据系列报报表较较多天中每时时的总总
5、和监视监视和告警 Windows 磁盘盘使情况况计计算动态动态字段的简简介欢欢迎使搜索册册现在,您已得到了系统中的所有数据.那么您想它来做什么?先使 Splunk 的强搜索功能来查找任何内容,不只是少数预先确定的字段。结合使时间和术语搜索。在 IT 基础结构的每个层之间查找错误,并追踪在系统发故障之前的极短时间内的配置更改。本册介绍搜索语以及如何在 Splunk 中编写搜索。在您开始阅读相关搜索内容之前,请确保以下几点:您有权访问本地计算机或远程服务器中的数据。阅读数据导册中有关如何将数据导 Splunk 的更多信息。了解 Splunk 中索引的运作式。阅读管理索引器册中有关 Splunk 如
6、何处理数据的详细信息。了解字段和知识对象,如来源类型和事件类型。阅读知识管理器册中有关 Splunk 知识对象的更多信息。熟悉搜索应程序以及搜索和报表仪表板。如果您初次使 Splunk 和搜索,“搜索教程”是最佳的起点,它会引导您完成添加数据、搜索数据以及构建简单的报表和仪表板。如果您只是对可在 Splunk 搜索中使的搜索命令和参数的列表感兴趣,请参考搜索参考册。制作 PDF如果您需要本册的 PDF 版本,请单击本页左侧录下的红链接将搜索册下载为 PDF。即会为您动态成册的PDF 版本,您可以将其保存或打印出来以便之后阅读。使 Splunk 搜索Splunk 搜索包含哪哪些内内容本主题介绍属
7、于 Splunk 的搜索和报表应部分的“搜索”视图,此应是您于与数据交互的界。统的搜索和报表体验还将更便您创作和编辑报表。您可以参阅报表册中的有关创建和编辑报表的更多信息。搜索仪仪表板在运搜索之前,“搜索”仪表板将包括:搜索栏。使搜索栏可在 Splunk Web 中运您的搜索。只需键您的搜索字符串并按 Enter 键或单击时间范围挑选器右侧的望远镜图标。时间范围挑选器。使时间范围挑选器指定检索事件的时间段。时间范围挑选器提供了许多可供选择的预设时间范围,但您也可以输定义时间范围。如何搜索。此板可将您链接到搜索教程和搜索册,以帮助您了解搜索。搜索内容。此板会显此 Splunk 实例上安装的您有权
8、查看的数据的摘要。如果您单击数据摘要按钮,会打开个窗,其中有数据的“主机”、“来源”、“来源类型”选项卡。新搜索仪仪表板运新搜索之后,将转到新搜索页。搜索栏和时间范围挑选器在此视图中仍然可,但仪表板会更新为包含更多元素,包括搜索操作按钮、搜索模式选择器、事件计数、任务状态栏,以及“事件”、“统计”和“可视化”结果选项卡。对对正在运运的搜索执执操作Splunk 提供了组控件,可于管理“进中”搜索并创建报表和仪表板。控制搜索任务务的进进度在启动搜索后,您可以在不离开“搜索”页的情况下访问和管理与搜索任务有关的信息。旦您的搜索处于运中、暂停或完成状态,即可单击作业并从中选择可选项。 4您可以:编辑任
9、务设置。选择此选项可打开“任务设置”对话框,可在此对话框中更改任务的读取权限、延长任务的使期限、获取任务的 URL(可利此 URL 与其他共享任务)或将任务的链接放浏览器的书签栏。将任务发送到后台运。如果任务的完成进度很慢,您想要在后台运此任务,并同时处理其他 Splunk 活动(包括新的搜索任务),则可以选择此选项。检查任务。打开个单独的窗并通过搜索任务查看器显搜索任务的信息和指标。您可以在搜索运时或搜索完成之后选择此操作。有关更多信息,请参阅“使搜索任务查看器”。删除任务。使此选项可删除当前处于运中、暂停或完成状态的任务。删除任务后,仍可将搜索保存为报表。更改搜索模式搜索模式可控制搜索体验
10、。通过减少搜索模式返回的事件数据,可以将搜索模式设置为加快搜索的速度(快速模式),或者可以将搜索模式设置为尽可能地多传回事件信息(详细模式)。在智能模式(默认设置)下,它会基于您在运的搜索类型动切换搜索为。此内容将在下个主题“设置搜索模式以调整搜索体验”中进更详细的介绍。保存结结果另存为菜单列出了于将搜索结果另存为报表、仪表板板、告警和事件类型的选项。报表:如果要使搜索可供以后使,可以将其保存为报表。通过在“报表”列表页上查找报表并单击其名称,可以必要时在特殊基础上再次运报表。请阅读报表册中有关如何“创建和编辑报表”的更多信息。仪表板板.:如果您希望根据搜索成仪表板板并将其添加到新的或现有仪表
11、板中,请单击此项。有关仪表板的更多信息,请参阅Splunk 数据可视化册中的“通过 UI 创建和编辑仪表板”。告警:单击此项可根据搜索定义告警。告警在后台运保存的搜索(按计划或实时)。当搜索返回符合您在告警定义中所设置条件的结果时,即会触发告警。有关更多信息,请参阅告警册中的“关于告警”。事件类型:使事件类型,您可以对具有共同特性的事件进归类。如果搜索不包括管道符或搜索,您可以使此项将搜索保存为事件类型。有关更多信息,请参阅知识管理器册中的“关于事件类型”和“在 Splunk Web 中定义和维护事件类型”。其他搜索操作位于任务搜索控件与搜索模式选择器之间的是三个按钮,分别于共享、导出和打印搜
12、索结果。单击共享可共享任务。选择此按钮,任务的命周期将延长 7 天,读取权限将设置为“每个”。单击导出可导出结果。可以选择以 CSV、原始事件、XML 或 JSON 形式输出并指定要导出的结果数。单击打印可将结果发送到已配置的打印机。此外,可使另存为菜单旁边的关闭按钮取消搜索并返回到“Splunk 主页”。设设置搜索模式以调调整搜索体验体验您可以使搜索模式选择器来根据您的需求提供搜索体验。根据搜索模式设置式,您可以看到搜索可的所有数据(需要花费较长的搜索时间),也可以通过特定式加速并简化搜索。搜索模式选择器位于搜索栏的右上。可模式包括智能(默认值)、快速和详细:5快速和详细模式代表搜索模式范围
13、的两端。默认的智能模式会根据所运的搜索类型在者之间切换。每当您次运保存的搜索时,该搜索将在智能模式下运。选择选择“快速”模式如果您选择快速,您希望 Splunk 将搜索性能放在位,并且您不想查看不重要的字段或事件数据。这意味着此模式不会返回此搜索所有可能的数据,只是返回重要和所需的数据。使快速搜索模式时,Splunk 会:禁字段发现。字段发现是指 Splunk 于提取除了默认字段(如 host、source 和 sourcetype)以外的其他字段的进程。这意味着 Splunk 仅返回有关默认字段和所需字段的信息来执搜索(如果您对特定字段执搜索,它将提取这些字段)。仅在运报表搜索时以报表结果表
14、形式或可视化式描述搜索结果(报表搜索是指包含转换命令的搜索)。在快速模式下,您将只会看到事件列表,查看不包含转换命令的搜索的事件时间线。选择选择“详细详细”模式如果您选择详细模式,即使这表搜索需要较长的时间才能完成,即使搜索包含报表命令,您仍希望 Splunk 尽可能返回所有字段和事件数据。使详细搜索模式运搜索时,Splunk 会:尽可能发现所有字段。 这包括默认字段、动搜索时间字段提取以及所有户定义的索引时间和搜索时间字段提取。发现的字段将显在左侧边栏。返回结果的事件列表视图并成搜索时间线。 如果搜索包含报表命令,它还会成报表表格和可视化。如果您将转换搜索放在起,但不完全确定需要报告哪些字段
15、,或者您需要验证所汇总的事件是否正确,您可能希望使详细模式。注意:在详细模式下运搜索时,报表法受益于报表加速功能。如果为报表启报表加速,并且此后搜索运的速度更快,请注意,如果将搜索的模式切换为详细,搜索将以较慢的加速速度运。报表加速设计于超出 10 万个事件和利转换命令的缓慢完成搜索。有关更多信息,请参阅报表册中的“加速报表”。选择选择“智能”模式智能模式为默认搜索模式。所有报表在次创建时,也在此模式下运。该模式设计为所运的任何搜索或报表提供最佳结果。如果您仅搜索事件,可获得所需的全部事件信息。如果您运报表搜索,Splunk 会先考虑速度,然后再考虑完整性,并会将您直接带报表结果表或可视化。如
16、果运的智能模式搜索不包括转换命令,Splunk 的为会与在详细模式下的为相同。它会:尽可能发现所有字段。成完整的事件列表和事件时间线。将不显任何事件表或可视化,因为您需要使转换命令来实现此的。如果运的智能模式搜索包括转换命令,Splunk 的为会与在快速模式下的为相同。它会:禁字段发现。不会花时间成事件列表和事件时间线,并将您直接带到报表结果表或可视化。有关转换命令和转换搜索的更多信息,请参阅搜索册中的“关于报表命令”。关关于搜索助理Splunk 的搜索语常广泛,包括许多搜索命令、参数和函数。您可能会在形成搜索遭遇困难,因为您不熟悉所有命令,且不知道已经从数据中提取了哪些信息。在构构建搜索时时
17、使搜索助理查查看数数据当您构建搜索时,您不需要知道使哪些搜索命令和参数来形成搜索,因为搜索助理将为您提供相应的建议。当您在搜索栏中键每个关键字时,搜索助理会向您显键盘缓冲或每个关键字的上下匹配项和完成项。这些上下匹配项基于数据内容。匹配的术语下的条将随着您的键更新,因为术语的可能完成项也会更改。6搜索助理还会显搜索术语的匹配项数量。通过这个数字,您便可以了解 Splunk 将返回多少搜索结果。如果术语或短语并不存在于数据之中,搜索助理就不会列出该术语或短语。更改搜索助理的设设置搜索助理是个由搜索栏调的 Python 端点,它将返回 html 并将其显在从搜索栏下滑即可找到的板中。搜索助理从se
18、archbnf.conf(于定义所有 Splunk 搜索命令及其语法)获取其描述和语法信息。但是,它还使 fields.conf 来建议动完成的字段,以及使 savedsearches.conf 通知户其搜索与个现有已保存的搜索相似。您可以通过 SearchBar 模块中的 UI 设置来控制搜索助理的为。这些设置定义是否默认打开搜索助理(autoOpenAssistant)、是否使键盘缓冲 (useTypeahead)、是否显命令帮助 (showCommandHelp)、是否显搜索历史(showCommandHistory) 以及是否显字段信息 (showFieldInfo)。有关其中每个模块
19、的更多信息,请参考“模块参考”。使搜索任务查务查看器查查看搜索属属性搜索任务查看器具可让您进步了解搜索任务,并了解 Splunk 部分时间都花在什么地。本主题介绍如何使搜索任务查看器进搜索性能问题的故障排除,并了解搜索中的事件类型、标记、查找等知识对象的为。有关更多信息,请参阅知识管理器册中的“使任务页管理任务”。使搜索任务查务查看器只要搜索项仍存在(即搜索尚未过期),您就可以访问搜索任务查看器来查看某搜索任务。搜索不需为运中。检查搜索:1. 运该搜索。2. 在“任务”菜单中,选择“检查任务”。这将在个新的浏览器窗中打开“搜索任务查看器”。查看搜索项的属性:如果您有任务项的搜索 ID (SID
20、),您可以使 URL 来检查搜索任务项。您可以在任务管理器中查找搜索的 SID(单击右上的任务链接),也可以在 Splunk 的 dispatch 录 $SPLUNK_HOME/var/run/splunk/dispatch 中找到。有关“任务管理器”的更多信息,请参阅知识管理器册中的“使任务页管理任务”。如果您查看搜索任务查看器窗的 URI 路径,您将会在字符串的末尾看到类似如下所的内容:./inspector?sid=1299600721.22&namespace=searchsid 和 namespace 为 SID 号和其所属的应程序的名称。此处,SID 为 1299600721.22
21、。在 URI 路径的 sid= 后键搜索项的 SID,然后敲击返回。只要您具有查看搜索所需的所有权权限,您就能够检查该搜索。现在,您看到了什么?任务查务查看器显显的内内容在运搜索时,任务查看器会显两个板。执成本列出了有关搜索组件以及每个组件对整体搜索性能的影响程度的信息。搜索任务属性列出了任务的其他特性。当搜索完成时,任务查看器会告诉您它找到的结果数量及其完成搜索所花费的时间。搜索完成之后,任务查看器还会在屏幕顶部显错误消息。部分信息很容易理解,但本部分将介绍这两个板的详细信息。执成本利执成本板,您可以通过减与搜索时间事件处理操作关联的特定组件的性能影响,进搜索效率问题的故障排除。该板显个表格
22、,其中包含组件、其个别持续时间(以秒为单位)、每个组件在搜索运期间被调的次数以及每个组件的输和输出事件数量。组件按字母顺序列出,您看到的组件数量将会增加或减少,具体取决于运的搜索。下表描述了每个搜索命令和分布式搜索组件的意义。(如果您只运关键字搜索,您将会看到这些组件。)搜索命令的执执成本通常,对于属于搜索任务的每个命令,有个参数 command.。这些参数的值表处理每个 所的时间。例如,如果使表命令,您将看到 command.table。搜索命令组件名称描述旦 Splunk 确定包含与搜索匹配的索引字段的事件,它就会查看这些事件本,以确定与其他条件匹配的事件。这些是并发操作,不是连续操作。7
23、command.searchcommand.search.index - 指其在 TSIDX 件中查找要在原始数据中读取的位置需要的时间。command.search.rawdata - 指其从原始数据件读取实际事件需要的时间。command.search.typer - 指其确定事件类型需要的时间。command.search.kv - 指其对事件应字段提取需要的时间。command.search.fieldalias - 指其根据 props.conf 重命名字段需要的时间。command.search.lookups - 指其根据现有字段创建新字段(执字段查找)需要的时间。command
24、.search.filter - 指其筛选出不匹配事件(例如,字段和短语)需要的时间。command.search.typer - 指其为事件分配事件类型需要的时间。command.search.tags - 指其为事件分配标记需要的时间。使的命令类型与您要查看的“调”、“输计数”和“输出计数”数字之间存在定的关系。对于成事件的搜索,您希望输计数为 0 且输出计数为某数量的事件 (X)。如果搜索既是个成搜索,是个筛选搜索,筛选搜索将具有输(等于成搜索的输出,即 X),且 output=X。因总计数为 input=X,output=2*X,调计数也会加倍。已派遣搜索的执执成本分布式搜索组件名称描
25、述dispatch.check_disk_usage检查此任务的磁盘使情况所的时间。dispatch.createProviderQueue连接到所有搜索节点的时间。dispatch.emit_prereport_filesdispatch.evaluate分析搜索,并设置运搜索所需的数据结构所的时间。还包括评估和运搜索所的时间。这是对使的每个搜索命令进步拆分来的个组件。通常,dispatch.evaluate. 会指出分析和评估 .dispatch.timeline 成时间线和字段边栏信息需要的时间。dispatch.writeStatus 定期更新任务的 dispatch 录中的 stat
26、us.csv 和 info.csv 所的时间。搜索任务属性搜索任务属性字段按字母顺序列出。参数名称描述cursorTime 最早时间,之后将不扫描任何事件。可于指进度-请参阅 doneProgress 的说明。delegate 于保存的搜索,指定户已启动的任务。默认为 scheduler。diskUsage 所使的磁盘空间总量(以字节为单位)。dispatchState 搜索的状态。可以为 QUEUED、PARSING、RUNNING、PAUSED、FINALIZING、FAILED、DONE 中的任何个。doneProgress 介于 0 和 1.0 之间的数字,指近似的搜索进度。doneP
27、rogress = (latestTime “ cursorTime) / (latestTime “ earliestTime)dropCount仅限于实时搜索,可能因 rt_queue_size(默认为 100000)丢弃的事件的数量。earliestTime 搜索任务配置为启动的最早时间。可于指进度-请参阅 doneProgress 的说明。eai:acl 此参数描述应程序和户级权限。例如,应是否全局共享?哪些户可以运8eai:acl 或查看搜索?eventAvailableCount 可于导出的事件的数量。eventCount 搜索返回的事件的数量。eventFieldCount 在搜
28、索结果中发现的字段的数量。eventIsStreaming 指该搜索的事件是否正在进流处理。eventIsTruncated 指搜索的事件是否尚未存储,从导致法从事件端点获得搜索。eventSearch 在任何转换命令之前的整个搜索的集。时间线和事件端点表此搜索部分的结果。eventSorting 指该搜索的事件是否已进排序以及采何种排序顺序。asc = 升序;desc = 降序;none = 未排序isBatchMode 指搜索是否在批处理模式下运。这仅适于包括转换命令的搜索。isDone 指搜索是否已完成。isFailed 指执搜索时是否出现了致命错误。例如,搜索字符串具有效的语法。isF
29、inalized 指搜索是否已完成(在完成之前停)。isPaused 指搜索是否已暂停。isPreviewEnabled 指预览是否已启。isRealTimeSearch 指搜索是否为实时搜索。isRemoteTimeline 指是否启了远程时间线功能。isSaved 指搜索任务已保存,搜索项从最后次查看或改动任务起在磁盘上保存 7 天。添加或编辑 limits.conf 中的 default_save_ttl 值可覆盖默认值 7 天。isSavedSearch 指这是否是个使计划程序运的保存的搜索。isZombie 指运搜索的进程是否处于不可状态,但搜索尚未完成。keywords该搜索使的所
30、有正关键字。正关键字是指不存在于 NOT 句中的关键字。label为该搜索创建的定义名称。latestTime 搜索任务配置为启动的最晚时间。可于指进度-请参阅 doneProgress 的说明。numPreviews 前已为该搜索任务成的预览的数量。messages错误和调试消息。performance这是执成本的另种表形式。remoteSearch发送到每个搜索节点的搜索字符串。reportSearch 如果使报表命令,则为报表搜索。request 搜索向 splunkd 发送的 GET 参数。resultCount 搜索返回的结果总数。换之,这是与搜索术语实际匹配的已扫描事件(由scan
31、Count 表)的集。resultIsStreaming 指搜索的最终结果是否可使流获得(例如,转换操作)。resultPreviewCount 最新预览结果中的结果数量。runDuration 完成搜索需要的时间(以秒为单位)。scanCount 已扫描或从磁盘读取的事件的数量。search 搜索字符串。searchProviders 已联系到的所有搜索节点的列表。sid 搜索的 ID 号。statusBuckets 最时间线数据桶数量。ttl 存活时间,或在搜索任务完成之后到搜索任务过期之前的段时间。Additional info指向关于搜索的进步信息的链接。这些链接可能不是始终可。时间线
32、字段摘要search.log 9注意: 进搜索性能问题的故障排除时,了解 scanCount 和 resultCount 成本之间的差异是很重要的。对于密集搜索,scanCount 和 resultCount 相似 (scanCount = resultCount);对于稀疏搜索,scanCount 要 resultCount 得多 (scanCount resultCount)。使 resultCount/time 速率衡量的搜索性能应该不会太,但使 scanCount/time时搜索性能应该会很。通常,scanCount/second 事件速率应该停留在 10k 和 20k 个事件/秒之间
33、,性能才会被视为良好。调试消息如果搜索存在错误,这些消息(在以前的版本中,以横幅的形式显在仪表板中)将以调试消息的形式显在“搜索任务查看器”窗的顶部。例如,如果结果缺少字段,调试消息将这样表达。注意: 只有在搜索完成之后,您才会看到这些消息。搜索任务查务查看器输输出例下是 dedup 搜索在所有时间内运的执成本的例:* | dedup punct执成本板的搜索命令组件可能如下所:command.search 组件及其下的所有内容向您提供搜索的 search 命令部分的性能影响,即管道符前的所有内容。然后,command.prededup 提供在将 search 命令的结果传递 dedup 命令
34、之前对这些结果进处理的性能影响。command.prededup 的输计数与 command.search 的输出计数匹配,并且 command.dedup 的输计数与command.prededup 的输出计数匹配。在此情况下,command.dedup 的输出计数应与搜索完成时返回的事件数量(即resultCount 的值,在搜索任务属性下)匹配。问问答有什么问题吗?请访问 Splunk Answers,查看 Splunk 社区有哪些与使搜索任务查看器相关的问题和答案。搜索概概述关关于搜索本章介绍搜索、Splunk 搜索的结构、搜索语及其语法、些可帮助构建搜索并故障排除搜索问题的具以及对于
35、更好地编写搜索的些提。搜索类类型在深研究搜索的语和语法之前,您应该先问要试图实现什么标。通常,在将数据导到 Splunk 之后,您会希望:进调查,以了解有关刚刚创建索引的数据的详细信息或找出问题的根源。将搜索结果汇总为报表(表格形式或其他可视化形式均可)。有鉴于此,您可能会听到我们提到以下两种搜索类型:原始事件搜索和报表成搜索。10原始事件搜索原始事件搜索是只从个或多个索引中检索事件,通常适于需要分析问题的情况的搜索。此类搜索的些例包括:检查错误代码、相关事件、调查安全问题和分析故障。这些搜索通常并不包含搜索命令(search 命令本除外),且结果通常是个原始事件的列表。阅读本册的“检索事件”
36、章中有关原始事件搜索的更多信息,从“关于检索事件”开始。报表成搜索报表成搜索是对组结果执某种类型的统计计算的搜索。在此类搜索中,先从索引中检索事件,然后将这些事件传递个或多个搜索命令。这些搜索始终要求字段和少组统计命令之。些例如下:获取错误事件的每数量、计算特定户的登录次数或计算字段值的 95。阅读“关于搜索管道”中有关搜索结构的更多信息。阅读“关于搜索语”中有关使搜索命令可以完成的作的更多信息。阅读本册的“报告搜索结果”章中有关成报表的更多信息,从“关于报表命令”开始。搜索和知识识当您进搜索时,您可以开始识别模式和更多的信息作为常有的可搜索字段。您可在创建索引新数据时对 Splunk 进配置
37、以使其识别这些新字段,也可以在搜索期间创建新字段。论您了解的事物为何,您都可以在事件数据中使、添加和编辑关于该知识的字段、事件和交易。捕获此类知识将有助于您构建更有效的搜索并成更详细的报表。使 Splunk Web、CLI 或 REST API 搜索多数情况下,您会从“搜索”应中的 Splunk Web 运搜索。但也可能从命令界 (CLI) 或 REST API 运搜索。究竟哪个具最合适有时取决于要搜索的内容。使 Splunk Web 进搜索时,使“搜索”应,并可通过选择搜索模式(快速、详细、智能)来控制搜索体验。Splunk会根据所选的模式动发现并提取默认字段,以事件列表或表格形式返回结果,
38、并运必要的计算以成事件时间线。计算事件时间线需要量的成本,因为这需要创建数据桶并将事件和字段的统计信息保留在 dispatch 录中,以便当户单击时间线上的某个栏位时,即可使这些统计信息。请阅读本章中的如何“设置搜索模式以调整搜索体验”,获得更多信息。通过 CLI 运搜索或使 REST API 中的搜索任务端点创建搜索时,将直接转到 splunkd,不经过 splunkweb。完成这些搜索的速度要在 Splunk Web 中搜索快很多,因为 Splunk 不计算或成事件时间线。是根据搜索类型将 CLI 搜索结果显为个原始时间列表或表格。请阅读搜索参考册中的“关于 CLI 搜索”以了解更多信息。
39、请阅读REST API 参考册中的“使 REST API 创建搜索”。关关于搜索管道您可能听说过来描述 Splunk 搜索的“搜索管道”这个术语。“搜索管道”是指 Splunk 搜索的结构,在此结构中,多个连续命令通过管道符 “|“ 链接在起。管道符指 Splunk 使个命令(位于管道符左侧)的输出或结果作为下个命令(位于管道符右侧)的输。这样,您就能够沿着管道限制或增加每步的数据,直获得所需的结果。Splunk 搜索从管道开头的搜索术语开始执。这些搜索术语包括关键字、短语、布尔表达式、键/值对等,于指定要从索引中检索的事件。阅读“关于检索事件”的更多信息。之后可以使管道符将检索的事件以输形式
40、传递搜索命令。搜索命令会指 Splunk 在从索引中检索到事件之后如何处理它们。例如,您可能使命令筛选不需要的信息、提取更多的信息、评估新字段、计算统计信息、重新排序结果或创建图表。有些命令拥有与其关联的函数和参数。您可以利这些函数及其参数来指定命令如何操作结果以及要操作哪些字段;例如,如何创建图表、要计算何种类型的统计信息以及要评估哪些字段。有些命令还允许您使句来指定对搜索结果的分组式。有关使搜索命令可以完成的作的更多信息,请阅读“关于搜索语”。有关搜索命令的完整列表,请参考搜索参考册和各个搜索命令参考主题,以了解其语法和法。搜索剖析它可帮助您以表格形式直观地显所有索引的数据,以便更好地了解
41、搜索命令操作数据的法。每个搜索命令都会重新定义表格的形状。例如,让我们来看看下的搜索。sourcetype=syslog ERROR | top user | fields - percent 1Disk 表全部索引数据,它是个特定的表格,其中的列表字段,表事件。第个中间结果表显的较少,表从索引中检索到的与搜索术语 “sourcetype=syslog ERROR“ 匹配的事件的集。第个中间结果表显的列较少,表最命令(即 “top user“)的结果,此命令将事件汇总为个包含前 10 位户的列表并显户、计数和百分。然后,“fields - percent“ 会删除显百分的列,因此,剩下的最终结
42、果表就变得更了。关关于搜索语语搜索语语组组件Splunk 搜索处理语 (SPL) 包括所有搜索命令及其函数、参数和句。搜索命令会指 Splunk 如何处理从索引中检索到的事件。例如,您需要使某命令筛选不需要的信息、提取更多的信息、评估新字段、计算统计信息、重新排序结果或创建图表。有些搜索命令拥有与其关联的函数和参数。您可以利这些函数及其参数来指定命令如何操作结果和/或命令操作哪些字段。例如,您使函数来设置图表中的数据格式、描述要计算的统计信息类型以及指定要评估的字段。有些命令还允许您使句来指定对搜索结果的分组式。搜索命令类类型搜索命令是流命令和流命令或报表命令。流命令和流命令流命令在索引器上运
43、,并可并应于索引数据的集。流命令会对搜索返回的每个事件应转换。例如,regex 是个流命令;它会在搜索时提取字段并将其添加到事件。另,流命令始终集中在起。它们会在搜索头上运,分析该级别可的整个数据集,然后从该数据集派搜索结果输出。以下是核 Splunk 当前提供的流命令的完整列表:bucket(如果使显式 span= 进调)、convert、eval、extract(kv)、fields、lookup(如果 not local=t)、mvexpand、multikv、rename、regex、replace、rex、search、strcat、tags 和 typer。报表命令报表命令会将每个
44、事件的指定单元格值转换为数字值,以便 Splunk 这些值来进统计。如果要将搜索结果数据转换为可视化需要的数据结构(如柱形图、条形图、折线图、积图和饼图),则需要使报表命令。报表命令包括:chart、timechart、stats、top、rare、contingency 和 highlight。关关于 search 语语语语法search 由管道符 (|) 分隔的系列命令组成。每个管道符之后的第个空分隔的字符串于控制所使的命令。每个命令的其余本会以特定于给定的命令式进处理。本主题介绍适于每个命令的些语法规则。本主题提供在搜索中何时需要转义特殊字符,以及哪些字符法转义的建议。另外,还讨论字段和
45、字段值的语法。引号号和转义转义字符通常,需要在含有空格、逗号、管道符、引号和/或括号的短语和字段值两边加上引号。引号必须平衡,起始引号后必须跟随转义结束引号。例如:error | stats count 搜索将查找含有字符串错误的事件的数量。. | search “error | stats count“ 搜索将按顺序返回含有 error、管道符、stats 和 count 的原始事件。另外,如果您不想搜索关键字和短语的默认含义(例如布尔运算符和字段/值对),请在这些关键字和短语两侧加上引号。例如:搜索不表布尔运算符的关键字 AND: error “AND“搜索此字段/值短语: error “
46、startswith=foo“反斜杠字符 () 于转义引号、管道符及其本。仍可在引号内部扩展反斜杠转义序列。例如:12如果在搜索中使 | 序列,则会将管道符发送到命令,不是管道符来拆分各个命令。“ 序列将向命令发送引号字符,例如,搜索引号字符或使 rex 将引号字符插字段中。 序列可在命令中作反斜杠字符。如果反斜杠序列法为 Splunk 识别,就法修改。例如,搜索字符串中的 s 可以 s 形式发送给命令,因为 s 属于未知的转义序列。但是,在搜索字符串中,s 可以 s 形式发送给命令,因为 属于已知的转义序列,它将被转换为 。使反斜杠转义字符时不能搜索星号 *。 Splunk 将星号字符视为主
47、要分隔符。因此,星号永远不会出现在索引中。如果您要搜索星号字符,需要在您的数据上运后期过滤 regex 搜索:index=_internal | regex “.*.*“有关主要分隔符的更多信息,请参阅数据导册中的“事件处理概述”。例例 1: 创建值为 6 的 myfield。. | eval myfield=“6“例 2: 创建值为 “ 的 myfield。. | eval myfield=“例 3: 创建值为 的 myfield。. | eval myfield=“例 4:由于引号不平衡,此例会产错误。. | eval myfield=“字段流经 Splunk 搜索管道的事件和结果以字段集合的形式存在。字段基本上来 Splunk 索引(如表事件时间的 _time、表件名的来源数据等),字段也可能源搜索时广泛的数据来源(如事件类型、标记、使 rex 命令提取的正则表达式、来 stats 命令的总计等)。对于给定事件,给定字段名称可能存在,也可能不存在。如果存在,它可能包含单个值或多个值。每个值都是个本字符串。值的长度可能为正值(字