Splunk:计算TopN主机,但根据键=值对将其添加到该TopN中

时间:2019-03-26 15:05:42

标签: splunk splunk-query

在事件本身中,是否有办法使用k / v对中的值来获取“最高主机数”计数并将其添加到每个主机数?

示例:

<158>Mar 26 15:01:36 m500 admd SSO: write 35 bytes on fd(11) OK repeatCount=300 source =    tcp:514 sourcetype =    generic_single_line

因此,在该主机的事件计数中,这将变成300

我是Splunk的新手,所以对查询语言不太熟悉。我尝试过

| metasearch index=* | eval Date=strftime(_time,"%Y-%m-%d") | chart count over host by Date

但我不知道如何从该k / v中添加计数

2 个答案:

答案 0 :(得分:0)

不清楚您要问什么,您有更好的例子吗?

您可以尝试 | chart sum(repeatCount) over host by Date

| chart values(repeatCount) over host by Date

我们将其中一个与count相结合,然后再加上一个eval以求和。同样,这个问题尚不清楚,但是也许这些会为您指明正确的方向

答案 1 :(得分:0)

我发现了splunk board之类的stackoverflow,并张贴在此处。为了完整起见,我将解决方案发布在这里:

  

尝试一下(我强烈建议您将s=(~df.Status).groupby(level=['ID','Episode']).cumsum().reset_index() s[df.Status.values].groupby(['ID','Episode','Status'])['Date'].agg(['first','last']).groupby(level=[0,1]).agg(','.join) Out[104]: first last ID Episode bar 1 2019-03-04 2019-03-04 2 2019-03-05,2019-03-08 2019-03-06,2019-03-08 foo 1 2019-02-02 2019-02-03 2 2019-02-05 2019-02-06 3 2019-02-09 2019-02-10 替换为某些特定的索引/源类型/源查询)

index=*