BLOG | NGINX

Tutorial: Configurar los informes de uso de NGINX

Miniatura de Akash Ananthanarayanan
Akash Ananthanarayanan
Publicado el 1 de mayo de 2024

NGINX Plus R31 presenta una forma más sencilla y eficiente de informar el uso de NGINX Plus. La integración nativa de informes de uso elimina la necesidad de un agente NGINX separado, lo que hace que el proceso de informes sea sencillo y sin complicaciones para los clientes del Programa de consumo flexible (FCP) de F5 y para los clientes que no son del FCP pero tienen una suscripción a plazo. Con esta funcionalidad integrada directamente en NGINX Plus, las instancias pueden comunicar la información de uso necesaria al Administrador de instancias de NGINX periódicamente, sin ningún impacto en el rendimiento. Esta función está disponible para máquinas virtuales y controladores de ingreso NGINX, pero este blog se centra en las instancias NGINX Plus: puede encontrar una guía sobre cómo informar el controlador de ingreso NGINX al administrador de instancias NGINX aquí .

Al simplificar la configuración, ofrecer opciones de personalización y proporcionar métodos alternativos, nuestro objetivo es hacer que los informes de uso requeridos sean un proceso eficiente y adaptable para que los clientes implementen y mantengan el cumplimiento con FCP. Para los clientes que aún no están en la versión R31 o que no planean actualizar, hay métodos alternativos disponibles para habilitar los informes de uso, ya sea instalando el Agente NGINX o configurando controles de estado HTTP.

Nota:  Para informar el uso de NGINX Plus, debe instalar NGINX Instance Manager en un host dedicado. Consulte la guía de instalación para conocer los diferentes métodos de instalación.

Hay tres formas posibles que puede elegir para informar instancias de NGINX Plus a F5.

  • Usuarios de NGINX Plus R31: Configuración de informes de uso nativos de NGINX
  • Usuarios de R31 o anteriores a R31: Instalación del agente NGINX
  • Usuarios anteriores a R31: Configuración de la comprobación del estado HTTP para NGINX Plus

Vamos a explorarlos uno por uno:

Configurar informes de uso nativos de NGINX

Tras la instalación, NGINX Plus establece una conexión automatizada con el Administrador de instancias NGINX a través de la entrada DNS predeterminada "nginx-mgmt.local". De forma predeterminada, cada 30 minutos, NGINX Plus se comunica con el administrador de instancias y envía la información de uso. Si necesita cambiar la entrada DNS del Administrador de instancias o alterar el intervalo de conexión predeterminado para adaptarlo mejor a sus necesidades, agregue el bloque mgmt{} a su configuración de NGINX. Además, viene con otras directivas predeterminadas, como el archivo UUID, mTLS, solucionador de DNS, intervalo de uso y punto final usage_report. Para obtener una lista completa de directivas personalizables, consulte la documentación completa de mgmtmodule . Con ngx_mgmt_module , puede personalizar fácilmente las directivas, lo que ofrece mayor flexibilidad y conveniencia.

Las siguientes secciones explican cómo configurar esta función para su entorno.

Configurar NGINX Plus

  1. Es aconsejable utilizar mTLS para mejorar la seguridad de su sistema. Puede lograr esto generando un certificado, una clave y un certificado de clave de CA tanto para la instancia NGINX Plus como para el Administrador de instancias NGINX. Para obtener más información sobre cómo generar claves, haga clic aquí .
  2. Especifique la ruta al certificado del cliente y al archivo de clave privada dentro del bloque de administración del archivo de configuración nginx.conf.
    		
       mgmt {
              ssl_protocols TLSv1.2 TLSv1.3;
              ssl_ciphers DEFAULT;
              ssl_certificate          /home/ubuntu/agent.crt;
              ssl_certificate_key      /home/ubuntu/agent.key
           }
    
  3. Para un proceso de autenticación seguro y confiable, especifique la ruta a la cadena de CA para validar la autenticidad de los certificados.
    
       mgmt {
              ssl_trusted_certificate  /home/ubuntu/ca.pem;
              ssl_verify               on;
              ssl_verify_depth         2;
           }
    
  4. Para los solucionadores de DNS personalizados, especifique la dirección del solucionador en el bloque mgmt{} utilizando la directiva resolver.
    
       mgmt {
              resolver 3.X.X.X;
           }
    
  5. Para configurar un FQDN personalizado para NGINX Instance Manager, especifique el FQDN en la directiva usage_report . Luego, agregue un registro A a su DNS local que asocie el nombre de host con la dirección IP del administrador de instancias NGINX.
    
       mgmt {
              resolver 3.X.X.X;
              usage_report endpoint=nms.local interval=15m;
           }
    

Ejemplo de configuración de NGINX Plus:


  mgmt {
         usage_report endpoint=nms.local interval=30m;
         resolver 3.X.X.X;
         ssl_protocols TLSv1.2 TLSv1.3;
         ssl_ciphers DEFAULT;
         ssl_certificate          /home/ubuntu/agent.crt;
         ssl_certificate_key      /home/ubuntu/agent.key;

         ssl_trusted_certificate  /home/ubuntu/ca.pem;
         ssl_verify               on;
         ssl_verify_depth         2;
     }

Guarde la configuración de NGINX y vuelva a cargar NGINX Plus.

sudo nginx -s reload

Configurar el administrador de instancias de NGINX

Agregue el certificado SSL en /etc/nginx/conf.d/nms-HTTP.conf dentro del bloque del servidor. Haga clic aquí para aprender cómo configurar un certificado SSL en el servidor NGINX Management Suite.


server {
    listen 443 ssl http2;
    root /var/www/nms;
    server_name _;
    ssl_protocols       TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_certificate         /etc/nms/certs/server.crt;
    ssl_certificate_key     /etc/nms/certs/server.key;
    ssl_client_certificate  /etc/nms/certs/ca.pem;
    ssl_verify_client on;
 }

Para ver el uso de NGINX Plus, inicie sesión en NGINX Management Suite en su navegador y navegue hasta el módulo Administrador de instancias de NGINX. Luego, seleccione la pestaña NGINX Plus ubicada en la parte inferior izquierda de la página.

Instancias de inventario de NGINX Plus a lo largo del tiempo

Mira este video tutorial con instrucciones paso a paso:

Mensajes de registro de errores

A continuación se muestra una lista de mensajes de error para solucionar problemas en la instancia NGINX Plus cuando no puede ver los datos de uso en el Administrador de instancias NGINX: A continuación se muestran algunos ejemplos de mensajes de error:

  • Errores del solucionador dinámico: Error al resolver el solucionador DNS.
    2024/04/02 04:02:10 [error] 574079#574079: recv() failed (111: Connection refused) while resolving, resolver: 3.17.128.165:53
    2024/04/02 04:02:35 [warn] 574079#574079: usage report: nginx-mgmt.locals could not be resolved (110: Operation timed out)
    
  • Fallos del solucionador del sistema: Error al resolver el nombre de host del Administrador de instancias NGINX
    2024/04/02 13:20:44 [info] 103888#0: usage report: host not found in resolver "nginx-mgmt.local"
    
  • Errores de conexión SSL: No se puede verificar o el certificado SSL está vencido.
    2024/04/02 13:13:50 [warn] 103877#0: usage report: peer SSL connection failed
    
  • Fallos de comunicación entre pares: Error al acceder al administrador de instancias NGINX.
    2024/04/02 13:15:25 [warn] 103877#0: usage report: peer connection failed (-1: Unknown error)
    2024/04/02 13:23:32 [warn] 103877#0: usage report: failed (server returned: 404 Not Found)
    2024/04/02 19:53:45 [warn] 4648#4648: usage report: connection timed out
    

Instalar el agente NGINX

Si aún no se ha mudado a R31 o no tiene intenciones de hacerlo pronto, aún puede informar sus instancias NGINX Plus al Administrador de instancias NGINX. Puede lograr esto instalando el Agente NGINX en su entorno. Una vez completada la instalación, puede establecer una conexión con el Administrador de instancias y comenzar a transmitir datos de uso. Para instalar el Agente NGINX, siga las instrucciones proporcionadas en este enlace .

Para ver el uso de NGINX Plus, inicie sesión en NGINX Management Suite en su navegador y navegue hasta el módulo Administrador de instancias de NGINX. Luego, seleccione la pestaña NGINX Plus ubicada en la parte inferior izquierda de la página.

Instancias de inventario de NGINX Plus a lo largo del tiempo

Mira este video tutorial con instrucciones paso a paso:

Configurar la comprobación del estado HTTP para NGINX Plus

Si no planea instalar el Agente NGINX o actualizar a R31, aún puede informar sus instancias NGINX Plus. Esto se puede lograr configurando una verificación de estado HTTP a través del archivo de configuración NGINX. Sin embargo, debe actualizar manualmente el archivo de configuración de NGINX Plus para utilizar esta opción. Este método puede consumir mucho tiempo y ser engorroso, especialmente si su entorno tiene varias instancias. Por lo tanto, es recomendable tener en cuenta estos factores antes de elegir esta opción.

Configurar NGINX Plus

  1. Abra la configuración de NGINX Plus e inserte el código dentro del bloque http {}:
    
       keyval_zone zone=uuid:32K state=/var/lib/nginx/state/instance_uuid.json;
       keyval 1 $nginx_uuid zone=uuid;
       upstream receiver {
        zone receiver 64k;
    
        # REQUIRED: Update NMS_FQDN with NGINX Management Suite IP Address or hostname.
        # If configuring with hostname, please ensure to uncomment the resolver
        # directive below and define a DNS server that can resolve the hostname.
        server NMS_FQDN:443;
    
        # OPTIONAL: Update DNS_UP with DNS server IP address that can resolve
        # the hostname defined above.
        #resolver DNS_IP;
       }  
    
    map CERT $repo_crt {
        # OPTIONAL: Location of client certificate
          default /home/ubuntu/agent.crt;
       }  
    
    map KEY $repo_key {
        # OPTIONAL: Location of client certificate private key
          default /home/ubuntu/agent.key; 
       }
    
    
     server {
        location @ngx_usage_https {
            # OPTIONAL: Configure scheme (http|https) here
            proxy_pass https://receiver;
    
            # REQUIRED: If using NGINX APP PROTECT (NAP) on this instance, set nap=active on the following line:
    proxy_set_header Nginx-Usage "Version=$nginx_version;Hostname=$hostname;uuid=$nginx_uuid;nap=active";	 
    
            health_check uri=/api/nginx-usage interval=1800s;       # DO NOT MODIFY
            proxy_ssl_certificate     $repo_crt;                    # DO NOT MODIFY
            proxy_ssl_certificate_key $repo_key;                    # DO NOT MODIFY
        }
    
        location @self {
            health_check uri=/_uuid interval=1d;
            proxy_pass http://self;
        }
    
        location = /_uuid {
            if ($nginx_uuid !~ .) {
                set $nginx_uuid $request_id;
            }
            return 204;
        }
    
        listen unix:/tmp/ngx_usage.sock;
      }
    
     upstream self {
        zone self 64k;
        server unix:/tmp/ngx_usage.sock;
     }
    
  2. Actualice el FQDN de NMS con el nombre de host o la dirección IP de su administrador de instancias. Si está utilizando DNS privado, descomente y actualice su dirección IP de DNS.
  3. Para garantizar la seguridad del tráfico HTTP al Administrador de instancias NGINX, es esencial especificar las ubicaciones del certificado SSL y la clave en los bloques de mapa CERT y mapa KEY.

Guarde los cambios y vuelva a cargar NGINX.

sudo nginx -s reload

Para ver el uso de NGINX Plus, inicie sesión en NGINX Management Suite en su navegador y navegue hasta el módulo Administrador de instancias de NGINX. Luego, seleccione la pestaña NGINX Plus en la parte inferior izquierda de la página.

Instancias de inventario de NGINX Plus a lo largo del tiempo

Mira este video tutorial con instrucciones paso a paso:

CONCLUSIÓN

Nos comprometemos a encontrarnos con usted donde se encuentre y ayudarlo a optimizar y automatizar los informes de uso con facilidad. Es por eso que ofrecemos múltiples opciones para brindar flexibilidad en los informes. La actualización NGINX Plus R31 recientemente lanzada hace que sea aún más simple y eficiente informar datos de uso mensual en instancias NGINX Plus, sin afectar el rendimiento y al mismo tiempo garantizando el cumplimiento de los requisitos de F5.


"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.