如何使用 Splunk 查询计算失败请求的百分比(HTTP 状态 401)?
How to calculate the percentage of failed requests (HTTP status 401) using Splunk query?
我有以下查询
<base query> | rex field=msg "HTTP/1.1\\" (?<http_status>\d{3})"
| where http_status=200 OR http_status=401
| eval event_date=strftime(_time, "%x")
| chart count over event_date by http_status
这给了我以下 table
event_date 200 401
========== === ===
11/28/21 61 24
11/29/21 295 96
但是,我需要一个额外的列来显示状态 401 与总数的百分比,即“401”/(“200”+“401”),如下所示:
event_date 200 401 401 percentage
========== === === ==============
11/28/21 61 24 28.24%
11/29/21 295 96 24.55%
谁能告诉我怎么做?非常感谢。
使用 eval
计算百分比。
| eval "401 percentage" = round('401'*100/('200'+'401'),2)."%"
round
函数将计算限制为小数点后两位,."%"
在末尾添加百分号。顺便说一句,一定要在我有的地方使用单引号,这样 Splunk 就知道它是一个字段名称而不是字符串文字。
我有以下查询
<base query> | rex field=msg "HTTP/1.1\\" (?<http_status>\d{3})"
| where http_status=200 OR http_status=401
| eval event_date=strftime(_time, "%x")
| chart count over event_date by http_status
这给了我以下 table
event_date 200 401
========== === ===
11/28/21 61 24
11/29/21 295 96
但是,我需要一个额外的列来显示状态 401 与总数的百分比,即“401”/(“200”+“401”),如下所示:
event_date 200 401 401 percentage
========== === === ==============
11/28/21 61 24 28.24%
11/29/21 295 96 24.55%
谁能告诉我怎么做?非常感谢。
使用 eval
计算百分比。
| eval "401 percentage" = round('401'*100/('200'+'401'),2)."%"
round
函数将计算限制为小数点后两位,."%"
在末尾添加百分号。顺便说一句,一定要在我有的地方使用单引号,这样 Splunk 就知道它是一个字段名称而不是字符串文字。