Splunk 获得每项服务的平均 TPS

Splunk getting average TPS for each service

我在 Splunk Enterprise 中遇到有关为我的场景获取每秒平均事务数的问题。在我的例子中,我想在给定的时间段内为每个 Web 服务请求获取每秒的平均事务...

当我使用以下语法时它工作正常:

index="index"  
| transaction "correlationId" keepevicted=true 
| timechart span=1s count as TPS 
| stats count avg(TPS)

...但是我得到了所有网络服务请求的平均每秒事务数。

如果我尝试以下操作:

index="index"  
| transaction "correlationId"  keepevicted=true 
| timechart span=1s count as TPS 
| stats count avg(TPS) by "service"

...我没有得到任何结果

我做错了什么吗?

非常感谢所有帮助和提示

timechart是一个转换命令。这意味着它不会将所有字段传递给下一个命令,因此 stats 命令只能看到 'count' 和 'TPS' 而不是 'service'。试试这个:

index="index"  | transaction "correlationId"  keepevicted=true 
| timechart span=1s count as TPS by service | stats count avg(TPS) by service

您可能会找到类似于 I needed a while back to be helpful - timechart without using timechart

的解决方案
index=ndx sourcetype=srctp correlationId=* service=* earliest=-60m
| eval secs=strftime(_time, "%S")
| stats dc(correlationId) as TPS by secs service
| stats avg(TPS) as avgTPS by service

chart instead of stats:

| chart avg(TPS) as avgTPS by service