如何在splunk中使用特定关键字进行搜索时创建报告



我在splunk上有一个API, API日志也流式传输到splunk。我需要为外部api所花费的时间创建一个报告。使用这个基本的搜索命令,我能够获得外部API调用列表,但当我尝试使用rex或split时,它不起作用。

index=my_index message="*time-taken*" | table message

返回如下结果

service=http://www.example.com:status=200:time-taken=200
service=http://www.example2.com:status=201:time-taken=500
service=http://www.example2.com:status=202:time-taken=240

我想创建一个类似这样的报告,任何帮助都非常感谢

|date|service|max(time-taken)|avg(time-taken)|

您说您尝试了rexsplit,但在示例查询中都没有。知道你已经尝试过什么会有帮助,这样我们就不会再建议同样的事情了。谁知道呢,也许你只差一个字就能让它发挥作用。

"它不工作"也帮不了我们。

这个查询使用样例数据。

```Extract service, status, and time-taken fields
We use time_taken because hyphens in field names can cause problems```
| rex "service=(?<service>https?://[^:]+):status=(?<status>d+):time-taken=(?<time_taken>d+)"
```Compute max and average time-taken```
| stats max(time_taken) as max, avg(time_taken) as avg, first(_time) as _time by service
| table _time, service, max, avg
```Change fields to requested names```
| rename _time as date, max as "max(time-taken)", avg as "avg(time-taken)"
```Display 'date' in readable format```
| fieldformat date=strftime(date, "%Y-%m-%d %H:%M:%S")

相关内容

  • 没有找到相关文章

最新更新