es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo calcular el porcentaje de solicitudes fallidas (estado HTTP 401) utilizando una consulta de Splunk?

Tengo la siguiente consulta:

<consulta base=""> | 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

que me da la siguiente tabla:

event_date      200     401
==========      ===     ===
11/28/21        61      24
11/29/21        295     96

Sin embargo, necesito una columna adicional que muestre el porcentaje del estado 401 en comparación con el total, es decir, “401” / (“200” + “401”), de la siguiente manera:

event_date      200     401     Porcentaje 401
==========      ===     ===     ==============
11/28/21        61      24      28.24%
11/29/21        295     96      24.55%

¿Alguien podría decirme cómo hacerlo? Muchas gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar el comando addcoltotals para agregar una nueva columna que contenga el recuento total para cada event_date, luego utiliza el comando eval para calcular el porcentaje de códigos de estado 401 para cada fecha de evento.

    Aquí está la consulta modificada:

    <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
    | addcoltotals labelfield=event_date label=Total 
    | eval "401 percentage"=round(('401'/('200'+'401'))*100,2)."%"
    

    El comando addcoltotals agrega una nueva fila en la parte inferior de la tabla que muestra el recuento total para cada columna. El parámetro labelfield especifica el campo que contiene las etiquetas de fila (en este caso, event_date), y el parámetro label especifica la etiqueta para la fila total (en este caso, Total).

    El comando eval calcula el porcentaje de códigos de estado 401 para cada event_date. La expresión ('401'/('200'+'401'))*100 calcula el porcentaje, y la función round redondea el resultado a 2 decimales. Finalmente, ."%" concatena el signo de porcentaje al final del resultado.

    La tabla resultante debería tener una nueva columna llamada 401 percentage que muestra el porcentaje de códigos de estado 401 para cada fecha de evento.

Comments are closed.