SPL(一)不同类型的SPL命令

SPL(一)不同类型的SPL命令

  • 了解不同命令内部运作方式
  • 流命令和非流命令。流命令模式本质是一个事件输入后一个事件输出。例如eval
  • 非流命令,基本工作于一大堆的事件,需要所有索引器的事件。这需要大量数据移动,并且损失并行性。例如sort命令,是非流命令。
  • 有两种流命令,一种是分布式流命令,一种中心化流命令。分布式命令不太关注事件的顺序,如果流命令前的所有命令可以跑在索引器上,那么分布式流命令也可以跑。如果人一个在分布式流命令前的命令必须跑在搜索头,当剩下的命令必须跑在搜索头。当搜索处理移动到搜索头,他不能在移动回到索引器。
  • 能以并行方式运行在索引数据的子集。例如:eval,fields,makemv,regex,rename,where。
  • 中心化的流命令,关注事件的顺序,例如head,streamstats,dedup的一些模式。只运行在搜索头。作为一个流命令,他搜索返回每个事件操作
  • 非流命令的最重要的类型有转换型的命令,输入是事件但输出是数据表。转换搜索结果数据为所需要的视图结构。非流命令是原生的。例如:chart、timecahrt、stats、top、rare。
  • 生成类的命令不需要输入,他们是用来生成事件的。这种命令一般用在搜索的开头,如:datamodel,pivot,tstat,search。不经过任何转换从索引获取信息。
  • 编制类的命令,他不会直接影响整个最终结果集。例如,你可以对搜索应用一个编排命令来启用或禁止搜索优化,从而帮助整体搜索更加快进行。当lookup命令使用local=t参数,即变为编制命令,它允许命令只跑在搜索头,输出有t和没t都一样,这意味着我们控制着搜索的某些方面。例如 redistribute,noop。
  • 数据集处理命令,这类命令非转换型和分布式型,非流非编制。需要在命令运行前获得整个数据集。
  • 自定义命令,python脚本,定义在commands.conf文件,[] 这里面的节名称是命令的名称。找到自定义命令后会传输python脚本,splunk要传输数据集到这个命令,获取STDOUT,作为他的标准输入。处理后搜索结果重新进入搜索管道。splunkd会会和python脚本通过一系列getinfo和执行命令交换元数据。
  • 在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值