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.

Conecta el proxy inverso de nginx a Application Insights.

Tengo un servidor proxy inverso nginx simple (del que soy novato) configurado de la siguiente manera:

servidor {
listen 80 default_server;

location / {
    proxy_pass ${URL};
}

}

Este proxy está en un contenedor de Docker y se ha implementado en un Azure App Service. Conecté el App Service a una instancia de Application Insights (AI) a través de Azure Portal. Sin embargo, la AI está vacía: sin entradas de registro (log entries).
¿Existe alguna forma de monitorear las solicitudes con AI sin tener que agregar código al proxy?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, es posible monitorear las solicitudes con Application Insights sin agregar código al proxy.

    Para hacer esto, puedes utilizar el módulo nginx-module-vts para Nginx. Este módulo proporciona una forma de exportar datos de estado de Nginx en un formato compatible con Prometheus, que luego se puede configurar para exportar los datos a Application Insights.

    Aquí está lo que necesitas hacer:

    1. Instala el módulo nginx-module-vts en tu contenedor Docker. Puedes hacer esto descargando el módulo y luego compilándolo junto con Nginx. También puedes usar una imagen Docker existente que incluya el módulo.
    2. Configura Nginx para exportar los datos de estado usando el módulo. Puedes agregar las siguientes líneas a tu configuración de Nginx:

    location /status {
        vhost_traffic_status_display;
        vhost_traffic_status_display_format prometheus;
    }
    

    Esto creará un punto final en /status que expondrá los datos de estado en un formato compatible con Prometheus.

    1. Configura Prometheus para raspar los datos de estado de Nginx. Puedes hacer esto agregando un nuevo objetivo a tu configuración de Prometheus:
    - job_name: 'nginx'
      scrape_interval: 1m
      scrape_timeout: 10s
      static_configs:
      - targets: ['nginx-container:80']
    

    Esto le dirá a Prometheus que raspe los datos del contenedor de Nginx que se ejecuta en el puerto 80.

    1. Configura Azure Monitor para recibir datos de Prometheus. Puedes hacer esto creando una nueva fuente de datos en Azure Monitor y seleccionando “Prometheus” como el tipo. Luego, puedes configurar la fuente de datos para raspar los datos del servidor Prometheus.

    Una vez que hayas completado estos pasos, deberías comenzar a ver datos en Azure Monitor desde tu contenedor de Nginx. Estos datos incluirán información sobre las solicitudes que están siendo proxyeadas por Nginx.

Comments are closed.