Splunk - 搜索并发 运行 个进程

Splunk - To search for concurrent run of processes

我想检查 job/process 运行ning 是否有多个实例。

例如:我的 Splunk 搜索:

index=abc <jobname> |  stats earliest(_time) AS earliest_time, latest(_time) AS latest_time count by  source | convert ctime(earliest_time), ctime(latest_time) | sort - count

returns :

source   earliest_time       latest_time          count
logA     06/06/2020 15:24:09 06/06/2020 15:24:59      1
logB     06/06/2020 15:24:24 06/06/2020 15:25:12      2

在上面,由于logB表示作业运行在logA完成时间之前,它表示并发运行进程。如果可能的话,我想生成所有此类工作的列表,我们将不胜感激。 谢谢你。

为此有一个内置的 Splunk 命令,concurrency。此命令需要一个事件开始时间和持续时间,我们可以将其计算为最早时间和最晚时间之间的差值。此命令将创建一个名为 concurrency 的新字段,它是一个 度量值,表示每个特定事件开始时正在进行的事件总数,包括事件本身.

index=abc <jobname> | stats earliest(_time) as et latest(_time) as lt count by source | eval duration=lt-et | concurrency start=et duration=duration | where concurrency>1

concurrency 的文档可在 https://docs.splunk.com/Documentation/Splunk/8.0.4/SearchReference/Concurrency

找到