【问题标题】:How to calculate the percentage of failed requests (HTTP status 401) using Splunk query?如何使用 Splunk 查询计算失败请求的百分比(HTTP 状态 401)?
【发布时间】:2021-12-05 06:49:56
【问题描述】:

我有以下问题

<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

这给了我下表

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%

谁能告诉我怎么做?非常感谢。

【问题讨论】:

    标签: splunk splunk-query


    【解决方案1】:

    使用eval 计算百分比。

    | eval "401 percentage" = round('401'*100/('200'+'401'),2)."%"
    

    round 函数将计算限制为 2 个小数位,."%" 在末尾添加一个百分比符号。顺便说一句,请务必在我有的地方使用单引号,以便 Splunk 知道它是字段名称而不是字符串文字。

    【讨论】:

    • 嗨@RichG,在我将您的 eval 语句附加到查询末尾后,我看到了一个新的“401 百分比”列。它有效,谢谢。但是,当我转到可视化时,我在折线图上看不到“401 百分比”,但我看到了“401 百分比”图例。知道为什么以及如何让“401 百分比”显示在图表上吗?谢谢。
    • 我发现我需要删除值末尾的“%”,以将其保留为数字,以便显示在图表上。
    猜你喜欢
    • 2021-10-14
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多