BLOG | NGINX

Tutorial: Configurar o Relatório de Uso do NGINX

NGINX-Parte-de-F5-horiz-preto-tipo-RGB
Miniatura de Akash Ananthanarayanan
Akash Ananthanarayanan
Publicado em 01 de maio de 2024

O NGINX Plus R31 apresenta uma maneira mais simples e eficiente de relatar o uso do NGINX Plus. A integração nativa de relatórios de uso elimina a necessidade de um agente NGINX separado, tornando o processo de relatórios simples e descomplicado para clientes no Programa de Consumo Flexível (FCP) da F5 e para clientes não FCP em uma assinatura temporária. Com essa funcionalidade incorporada diretamente no NGINX Plus, as instâncias podem comunicar informações de uso necessárias ao NGINX Instance Manager periodicamente, sem qualquer impacto no desempenho. Este recurso está disponível para máquinas virtuais e controladores de entrada NGINX, mas este blog se concentra em instâncias NGINX Plus — você pode encontrar um guia sobre como relatar o controlador de entrada NGINX ao gerenciador de instâncias NGINX aqui .

Ao simplificar a configuração, oferecer opções de personalização e fornecer métodos de fallback, pretendemos tornar o relatório de uso necessário um processo eficiente e adaptável para que os clientes implementem e mantenham a conformidade com o FCP. Para clientes que ainda não estão no R31 ou que não planejam fazer a atualização, métodos alternativos para habilitar relatórios de uso estão disponíveis, instalando o Agente NGINX ou configurando verificações de integridade HTTP.

Observação:  Para relatar o uso do NGINX Plus, você deve instalar o NGINX Instance Manager em um host dedicado. Consulte o guia de instalação para saber mais sobre os diferentes métodos de instalação.

Há três maneiras possíveis de você escolher para relatar instâncias do NGINX Plus para a F5.

  • Usuários do NGINX Plus R31 — Configurando relatórios de uso nativo do NGINX
  • Usuários R31 ou pré-R31 — Instalando o agente NGINX
  • Usuários pré-R31 — Configurando verificação de integridade HTTP para NGINX Plus

Vamos explorá-los um por um:

Configurar relatórios de uso nativos do NGINX

Após a instalação, o NGINX Plus estabelece uma conexão automatizada com o NGINX Instance Manager por meio da entrada DNS padrão "nginx-mgmt.local". Por padrão, a cada 30 minutos, o NGINX Plus se comunica com o Instance Manager e envia as informações de uso. Se você precisar alterar a entrada DNS do Instance Manager ou alterar o intervalo de conexão padrão para atender melhor às suas necessidades, adicione o bloco mgmt{} à sua configuração do NGINX. Além disso, ele vem com outras diretivas padrão, como o arquivo UUID, mTLS, resolvedor de DNS, intervalo de uso e endpoint usage_report. Para uma lista completa de diretivas personalizáveis, consulte a documentação abrangente do mgmtmodule . Com o ngx_mgmt_module , você pode personalizar facilmente as diretivas, oferecendo maior flexibilidade e conveniência.

As seções a seguir explicam como configurar esse recurso para seu ambiente.

Configurar NGINX Plus

  1. É aconselhável usar mTLS para aumentar a segurança do seu sistema. Você pode fazer isso gerando um certificado, uma chave e um certificado de chave CA para a instância do NGINX Plus e o NGINX Instance Manager. Para mais informações sobre como gerar chaves, clique aqui .
  2. Especifique o caminho para o certificado do cliente e o arquivo de chave privada dentro do bloco de gerenciamento do arquivo de configuração nginx.conf.
    		
       mgmt {
    protocolos ssl TLSv1.2 TLSv1.3;
    cifras ssl PADRÃO;
    certificado ssl          /home/ubuntu/agent.crt;
    chave_certificado ssl      /home/ubuntu/agent.key
    }
    
  3. Para um processo de autenticação seguro e confiável, especifique o caminho para a cadeia de CA para validar a autenticidade dos certificados.
    
       mgmt {
    ssl_trusted_certificate /home/ubuntu/ca.pem;
    ssl_verify                ligado;
    ssl_verify_depth          2;
    }
    
  4. Para resolvedores DNS personalizados, especifique o endereço do resolvedor no bloco mgmt{} usando a diretiva resolver.
    
       mgmt {
    resolver 3.X.X.X;
    }
    
  5. Para configurar um FQDN personalizado para o NGINX Instance Manager, especifique o FQDN na diretiva usage_report . Em seguida, adicione um registro A ao seu DNS local que associe o nome do host ao endereço IP do NGINX Instance Manager.
    
       mgmt {
    resolver 3.X.X.X;
    endpoint do relatório de uso=nms.local intervalo=15m;
    }
    

Exemplo de configuração do NGINX Plus:


  mgmt {
endpoint do relatório de uso = nms.intervalo local = 30m;
resolver 3.X.X.X;
protocolos ssl TLSv1.2 TLSv1.3;
cifras ssl PADRÃO;
certificado ssl / home / ubuntu / agent.crt;
chave do certificado ssl / home / ubuntu / agent.key;

certificado confiável ssl / home / ubuntu / ca.pem;
verificação ssl ativada;
profundidade ssl_verify 2;
}

Salve a configuração do NGINX e recarregue o NGINX Plus.

sudo nginx -s recarregar

Configurar o NGINX Instance Manager

Adicione o certificado SSL em /etc/nginx/conf.d/nms-HTTP.conf dentro do bloco do servidor. Clique aqui para saber como configurar um certificado SSL no servidor NGINX Management Suite.


servidor {
ouvir 443 ssl http2;
raiz /var/www/nms;
nome_do_servidor _;
protocolos_ssl TLSv1.1 TLSv1.2;
cifras_ssl ALTO:!aNULL:!MD5;
cache_de_sessão_ssl compartilhado: SSL: 10 m;
tempo_limite_de_sessão_ssl 10 m;
certificado_ssl /etc/nms/certs/server.crt;
chave_do_certificado_ssl /etc/nms/certs/server.key;
certificado_cliente_ssl /etc/nms/certs/ca.pem;
cliente_ssl_verify ativado;
}

Para visualizar o uso do NGINX Plus, faça login no NGINX Management Suite no seu navegador e navegue até o módulo NGINX Instance Manager. Em seguida, selecione a aba NGINX Plus localizada no canto inferior esquerdo da página.

Instâncias de inventário do NGINX Plus ao longo do tempo

Assista a este tutorial em vídeo com instruções passo a passo:

Mensagens de log de erros

Aqui está uma lista de mensagens de erro para solucionar problemas na instância do NGINX Plus quando você não consegue ver os dados de uso no Gerenciador de Instâncias do NGINX: Aqui estão alguns exemplos de mensagens de erro:

  • Falhas de resolução dinâmica: Falha ao resolver o resolvedor de DNS.
    2024/04/02 04:02:10 [erro] 574079#574079: recv() falhou (111: Conexão recusada) durante a resolução, resolver: 3.17.128.165:53
    2024/04/02 04:02:35 [warn] 574079#574079: relatório de uso: nginx-mgmt.locals não pôde ser resolvido (110: Tempo limite da operação esgotado)
    
  • Falhas no resolvedor do sistema: Falha ao resolver o nome do host do NGINX Instance Manager
    2024/04/02 13:20:44 [info] 103888#0: relatório de uso: host não encontrado no resolvedor "nginx-mgmt.local"
    
  • Falhas de conexão SSL: Não é possível verificar ou o certificado SSL expirou.
    2024/04/02 13:13:50 [aviso] 103877#0: relatório de uso: falha na conexão SSL do peer
    
  • Falhas na comunicação entre pares: Falha ao acessar o NGINX Instance Manager.
    2024/04/02 13:15:25 [aviso] 103877#0: relatório de uso: falha na conexão do peer (-1: Erro desconhecido)
    2024/04/02 13:23:32 [aviso] 103877#0: relatório de uso: falhou (o servidor retornou: 404 Não encontrado)
    2024/04/02 19:53:45 [aviso] 4648#4648: relatório de uso: conexão com tempo limite esgotado
    

Instalar o agente NGINX

Se você ainda não migrou para o R31 ou não pretende fazê-lo em breve, ainda poderá relatar suas instâncias do NGINX Plus ao NGINX Instance Manager. Você pode fazer isso instalando o Agente NGINX em seu ambiente. Após a conclusão da instalação, você pode estabelecer uma conexão com o Instance Manager e começar a transmitir dados de uso. Para instalar o Agente NGINX, siga as instruções fornecidas neste link .

Para visualizar o uso do NGINX Plus, faça login no NGINX Management Suite no seu navegador e navegue até o módulo NGINX Instance Manager. Em seguida, selecione a aba NGINX Plus localizada no canto inferior esquerdo da página.

Instâncias de inventário do NGINX Plus ao longo do tempo

Assista a este tutorial em vídeo com instruções passo a passo:

Configurar verificação de integridade HTTP para NGINX Plus

Se você não estiver planejando instalar o Agente NGINX ou atualizar para o R31, ainda poderá relatar suas instâncias do NGINX Plus. Isso pode ser feito configurando uma verificação de integridade HTTP por meio do arquivo de configuração NGINX. No entanto, você deve atualizar manualmente o arquivo de configuração do NGINX Plus para utilizar esta opção. Esse método pode ser demorado e trabalhoso, principalmente se seu ambiente tiver múltiplas instâncias. Portanto, é aconselhável considerar esses fatores antes de escolher esta opção.

Configurar NGINX Plus

  1. Abra a configuração do NGINX Plus e insira o código dentro do bloco http {}:
    
       keyval_zone zone=uuid:32K state=/var/lib/nginx/state/instance_uuid.json; keyval 1 $nginx_uuid zone=uuid; receptor upstream { receptor de zona 64k; # OBRIGATÓRIO: Atualize NMS_FQDN com o endereço IP ou nome do host do NGINX Management Suite. # Se estiver configurando com nome do host, certifique-se de descomentar a diretiva resolver # abaixo e defina um servidor DNS que possa resolver o nome do host. server NMS_FQDN:443; # OPCIONAL: Atualize DNS_UP com o endereço IP do servidor DNS que pode resolver # o nome do host definido acima. #resolver DNS_IP; } map CERT $repo_crt { # OPCIONAL: Localização do certificado do cliente padrão /home/ubuntu/agent.crt; } map KEY $repo_key { # OPCIONAL: Localização da chave privada do certificado do cliente padrão /home/ubuntu/agent.key; } server { location @ngx_usage_https { # OPCIONAL: Configure o esquema (http|https) aqui proxy_pass https://receiver; # OBRIGATÓRIO: Se estiver usando o NGINX APP PROTECT (NAP) nesta instância, defina nap=active na seguinte linha: proxy_set_header Nginx-Usage "Version=$nginx_version;Hostname=$hostname;uuid=$nginx_uuid; nap=active "; health_check uri=/api/nginx-usage interval=1800s; # NÃO MODIFIQUE proxy_ssl_certificate $repo_crt; # NÃO MODIFIQUE proxy_ssl_certificate_key $repo_key; # NÃO MODIFIQUE } location @self { health_check uri=/_uuid interval=1d; proxy_pass http://self; } location = /_uuid { if ($nginx_uuid !~ .) { set $nginx_uuid $request_id; } return 204; } ouvir unix:/tmp/ngx_usage.sock; } upstream self { zona self 64k; servidor unix:/tmp/ngx_usage.sock; }
    
  2. Atualize o NMS FQDN com o nome do host ou endereço IP do Instance Manager. Se você estiver usando DNS privado, descomente e atualize seu endereço IP de DNS.
  3. Para garantir a segurança do tráfego HTTP para o NGINX Instance Manager, é essencial especificar os locais do certificado SSL e da chave nos blocos map CERT e map KEY.

Salve as alterações e recarregue o NGINX.

sudo nginx -s recarregar

Para visualizar o uso do NGINX Plus, faça login no NGINX Management Suite no seu navegador e navegue até o módulo NGINX Instance Manager. Em seguida, selecione a aba NGINX Plus no canto inferior esquerdo da página.

Instâncias de inventário do NGINX Plus ao longo do tempo

Assista a este tutorial em vídeo com instruções passo a passo:

Conclusão

Estamos comprometidos em encontrá-lo onde você estiver e ajudá-lo a otimizar e automatizar relatórios de uso com facilidade. É por isso que estamos oferecendo diversas opções para flexibilidade de relatórios. A atualização do NGINX Plus R31 lançada recentemente torna ainda mais simples e eficiente relatar dados de uso mensal em instâncias do NGINX Plus — sem afetar o desempenho e garantindo a conformidade com os requisitos da F5.


"Esta postagem do blog pode fazer referência a produtos que não estão mais disponíveis e/ou não têm mais suporte. Para obter as informações mais atualizadas sobre os produtos e soluções F5 NGINX disponíveis, explore nossa família de produtos NGINX . O NGINX agora faz parte do F5. Todos os links anteriores do NGINX.com redirecionarão para conteúdo semelhante do NGINX no F5.com."