Splunk - 命令类型17 Mar 2025 | 5 分钟阅读 在本节中,我们将学习 Splunk 搜索中存在的命令类型。我们将要介绍的命令有:流式命令和非流式命令、可分发流式命令、集中式流式命令、转换命令、生成命令、编排命令、数据集处理命令。 命令类型当我们学习 Splunk SPL 时,我们可能会听到一些用于定义流式传输、创建、转换、编排和处理数据的搜索命令类型。 每个部分列出了属于每个类别的命令,并讨论了这些词的含义。 基本上有六种搜索命令
在 Splunk Web 应用程序中,这种分类不是唯一的。 有些命令只属于一个组。 例如,stats 命令只适合转换器的分类。 某些命令可能适合多个类别。 例如,一个命令可以流式传输并生成。 流式命令和非流式命令在每个事件上,流式命令在其从扫描返回时运行。 本质上,一个参与者参与,一个(或没有)输出。 例如,eval 命令将创建一个新字段,全名,其中将包含名字字段、空格和姓氏值的连接值。 eval 命令测试每个事件,而不考虑其他事件。 在 非流式命令 允许所有索引器在命令可以运行在整个事件集之前获取事件。 一些转换命令是非流式命令。 也有几个命令不转换命令,而是非流式命令。 这些非转换、非流式命令通常被称为基于事件的非流式命令。 例如,整个事件集必须由 sort 命令接收,然后 sort 命令才能开始对事件进行排序。 一些非流式命令的示例包括 dedup(在某些模式下)、data 和 top。 非流式命令将搜索头推向整个事件序列。 这需要大量的数据传输和平行损失。 处理属性下表概述了某些命令类型的处理差异。
执行命令时,它会根据命令类型生成事件或结果。 例如,当我们执行 sort 命令时,输入是事件,输出是按我们选择的排序顺序排列的事件。 但是,转换指令不会发出事件。 转换会导致处理命令。 例如,命令 stats 输出一个测量结果的表。 用于测量这些结果的活动不再存在。 在执行转换命令后,我们无法运行使用事件作为输入的命令。 用于处理数据的命令是非流式命令,允许在命令可以运行之前获取整个数据集。 这些命令不转换、不可分发、不流式传输且不编排。 Sort 命令是处理数据的命令的示例。 可分发流式传输在搜索返回的每个事件上,流式命令都会运行。 事件的顺序对于可分发流式传输并不重要。 可以分发的流式命令是可以 在索引器上运行的命令,这可以提高处理时间。 请求中的其他命令决定了要传输的流式命令是否在索引器上运行
集中式流式传输事件的顺序对于统一流式命令计数。 集中式流式命令将转换应用于搜索返回的任何情况。 但与分布式流式命令不同,集中式流式命令仅在搜索的头部工作。 我们也可以使用“有状态流式传输”一词来解释这些顺序。 集中式流式命令包括:head、streamstats 和某些集群模式。 转换转换命令将搜索结果命令到数据表中。 这些命令“转换”每个事件的指定单元格值转换为数值,Splunk 软件可以将这些数值用于统计目的。 不要流式传输命令进行转换。 转换命令对于将搜索结果数据转换为可视化(例如列、条形、折线图、面积图和饼图)所需的数据结构也是必要的。 用于测量列总计(不是行总计)时,转换命令包括:map、timecart、details、top、uncommon 和 addtotals。 生成命令生成 从索引获取信息,没有任何转换。 生成命令可以生成事件(可分发或集中式)或生成报告。 大多数生成信息的命令也是集中式的。 结果以列表或表格形式返回,具体取决于命令的形式。 不要期望或需要输入来生成命令。 生成命令通常以搜索开始处的引导管道调用。 也就是说,无法执行通过管道传输到生成命令的 quest。 此规则的例外是搜索指令,因为它隐含在搜索的开头,因此不需要调用。 命令生成类型包括:dbinspect、datamodel、inputcsv、metadata、pivot、search 和 tstats 编排编排命令控制 quest 处理的某些部分。 它对搜索的最终结果集合没有任何影响。 例如,我们可以在搜索中添加编排命令以启用或禁用搜索优化,以帮助更快地完成整个搜索。 编排中的命令类型包括 redistribute、noop 和 localop。 如果我们将它与 local = t 语句一起使用,则 lookup 命令通常会变成编排函数。 数据集处理有一些命令在运行之前需要整个数据集。 这些命令称为数据集处理命令。 这些命令不转换、不可分发、不流式传输且不编排。 在特定情况下,其中一些命令适合某些形式或使用特定参数。 下一个主题Splunk Sort 命令 |
我们请求您订阅我们的新闻通讯以获取最新更新。