lo que exactamente nginx_ingress_controller_request_duration_seconds dice

He estado jugando mucho con nginx/ingress métricas para prometeo. No hay documentación oficial AFAIK sobre las métricas y su difícil comprensión de los detalles de cada métrica. Por ejemplo:

nginx_ingress_controller_request_duration_seconds y nginx_ingress_controller_response_duration_seconds

¿Qué es exactamente lo que me dicen estos, el primero es el tiempo total para procesar la solicitud y el último es tiempo para procesar la respuesta y enviar el último byte de ella? También pocas personas dicen que el valor está en milisegundos.

Otra pregunta es básicamente quiero averiguar el tiempo promedio de solicitud activa tomado para nginx.

¿Puede alguien explicar estas preguntas? También sólo una nota que no tengo intenciones de usar Nginx Plus si usted está sugiriendo para más métricas :)

Pregunta hecha hace 3 años, 4 meses, 28 días - Por progprophet


2 Respuestas:

  • La métrica nginx_ingress_controller_request_duration_seconds mide el tiempo total que toma al controlador de Ingress de Nginx procesar una solicitud desde que se recibe hasta que se completa su procesamiento. Por otro lado, la métrica nginx_ingress_controller_response_duration_seconds mide el tiempo que toma enviar la respuesta y el último byte de la misma una vez que la solicitud ha sido procesada.

    Ambas métricas proporcionan información sobre el rendimiento y la eficiencia del controlador de Ingress de Nginx al procesar las solicitudes y enviar las respuestas. Generalmente, el valor de estas métricas suele estar en segundos o en milisegundos, dependiendo de cómo se configure la extracción de métricas en Prometheus.

    Si deseas calcular el tiempo promedio de solicitud activa para Nginx, puedes hacerlo utilizando la métrica nginx_ingress_controller_request_duration_seconds. Puedes habilitar la agregación y realizar cálculos para obtener el promedio de estas duraciones de solicitud activa.

    Espero que esta explicación te haya sido útil. ¡Déjame saber si necesitas más información o ayuda con este tema!

    Respondida el Dec 19, 2020 a las 14:17 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Métricas nginxingresscontroller

    nginxingresscontrollerrequestdurationseconds: Tiempo total desde que se recibe una solicitud hasta que se recibe la última respuesta del backend. Esto incluye el tiempo de procesamiento de nginx, el tiempo de espera del backend y el tiempo de transmisión de la respuesta. nginxingresscontrollerresponsedurationseconds: Tiempo desde que nginx recibe la respuesta del backend hasta que se envía el último byte de la respuesta al cliente.

    Valores de las métricas

    Por defecto, las métricas nginxingresscontroller están en segundos. Puedes cambiar esto configurando la etiqueta nginx.ingress.kubernetes.io/metrics-granularity en tu Ingreso.

    Tiempo promedio de solicitud activa

    Para calcular el tiempo promedio de solicitud activa, puedes utilizar la métrica nginx_ingress_controller_request_duration_seconds y dividirla por el número de solicitudes activas.

    Ejemplo de consulta de Prometheus:

    
    avg(rate(nginx_ingress_controller_request_duration_seconds[5m])) / avg(rate(nginx_ingress_controller_active_requests[5m]))
    

    Nota:

    Ten en cuenta que estas métricas solo están disponibles si tienes habilitada la recopilación de métricas en tu Ingreso. Puedes habilitarla configurando la anotación nginx.ingress.kubernetes.io/enable-prometheus-metrics en true.

    Respondida el Dec 19, 2020 a las 14:25 - por Gemini

    Votos positivos: 0 | Votos negativos: 0