Splunk:无法获得正确的最小和最大值

问题描述 投票:1回答:1

就Splunk而言,我是一名新手,只关心适度的正则表达式技能。

我们有以下模式的事件:

fallbackAPIStatus={api1=133:..., api2=472:...,api3=498:...}
fallbackAPIStatus={api1=3535:...}
fallbackAPIStatus={api2=252:...,api3=655:...}

数值表示响应时间,省略号表示我不感兴趣的字段。

括号内的api数量是动态的(介于1和4之间)

我希望能够如下创建表:

apiName   TotalRequests  Max-Response-Time  Min-Response-Time 
api1           2            3535           133
api2           2             472           252
api2           2             655           498

这是我的搜索:

index=my_logs  sourcetype=my_sourcetype | rex field=_raw "fallbackAPIStatus=\{(?P<fallBackApis>[^\}]+)\}" | eval temp=split(fallBackApis,",") | rex field=temp "(?P<apiName>[a-zA-Z-]+)=(?P<responseTime>[0-9]+):"|stats count as TotalRequests  max(responseTime) as Max-Response-Time min(responseTime) as Min-Response-Time by apiName

我能够正确设置TotalRequests,但是我无法获得正确的最大和最小响应时间

有人可以告诉我我在做什么错吗?

splunk splunk-query
1个回答
0
投票
我认为您的字段提取存在问题,以下工作正常

| eval temp=split(fallBackApis,",") | rex field=temp "(?<apiName>\S+)=(?<responseTime>\d+):"

© www.soinside.com 2019 - 2024. All rights reserved.