BLOG | NGINX

Anleitung: NGINX-Nutzungsberichte konfigurieren

NGINX-Teil-von-F5-horiz-schwarz-Typ-RGB
Akash Ananthanarayanan Miniaturansicht
Akash Ananthanarayanan
Veröffentlicht am 01. Mai 2024

NGINX Plus R31 führt eine einfachere und effizientere Möglichkeit ein, die Nutzung von NGINX Plus zu melden. Durch die native Integration der Nutzungsberichterstattung wird kein separater NGINX-Agent mehr benötigt. Dadurch erfolgt der Berichtsprozess für Kunden im Flex Consumption Program (FCP) von F5 sowie für Nicht-FCP-Kunden mit einem befristeten Abonnement nahtlos und problemlos. Mit dieser direkt in NGINX Plus integrierten Funktionalität können Instanzen erforderliche Nutzungsinformationen regelmäßig an den NGINX Instance Manager übermitteln, ohne dass die Leistung beeinträchtigt wird. Diese Funktion ist für virtuelle Maschinen und NGINX Ingress Controller verfügbar, dieser Blog konzentriert sich jedoch auf NGINX Plus-Instanzen – eine Anleitung zum Melden des NGINX Ingress Controllers an den NGINX Instance Manager finden Sie hier .

Durch die Vereinfachung der Einrichtung, das Anbieten von Anpassungsoptionen und die Bereitstellung von Fallback-Methoden möchten wir die erforderliche Nutzungsberichterstattung zu einem effizienten und anpassbaren Prozess machen, mit dem Kunden die Einhaltung von FCP implementieren und aufrechterhalten können. Für Kunden, die R31 noch nicht verwenden oder kein Upgrade planen, stehen alternative Methoden zum Aktivieren der Nutzungsberichterstattung zur Verfügung, entweder durch die Installation des NGINX-Agenten oder durch die Konfiguration von HTTP-Integritätsprüfungen.

Notiz: Um die NGINX Plus-Nutzung zu melden, müssen Sie NGINX Instance Manager auf einem dedizierten Host installieren. Weitere Informationen zu den verschiedenen Installationsmethoden finden Sie in der Installationsanleitung .

Sie können zwischen drei Möglichkeiten wählen, um NGINX Plus-Instanzen an F5 zu melden.

  • NGINX Plus R31-Benutzer – Konfigurieren der nativen NGINX-Nutzungsberichterstattung
  • R31- oder vor R31-Benutzer – Installieren des NGINX-Agenten
  • Benutzer vor R31 – Konfigurieren der HTTP-Integritätsprüfung für NGINX Plus

Lassen Sie uns sie einzeln untersuchen:

Konfigurieren Sie die native NGINX-Nutzungsberichterstattung

Nach der Installation stellt NGINX Plus über den Standard-DNS-Eintrag „nginx-mgmt.local“ eine automatisierte Verbindung zum NGINX Instance Manager her. Standardmäßig kommuniziert NGINX Plus alle 30 Minuten mit dem Instance Manager und sendet die Nutzungsinformationen. Wenn Sie den DNS-Eintrag des Instance Managers ändern oder das Standardverbindungsintervall Ihren Anforderungen entsprechend anpassen müssen, fügen Sie Ihrer NGINX-Konfiguration den Block mgmt{} hinzu. Darüber hinaus verfügt es über andere Standardanweisungen, wie z. B. die UUID-Datei, mTLS, DNS-Resolver, Nutzungsintervall und Usage_Report-Endpunkt. Eine vollständige Liste der anpassbaren Anweisungen finden Sie in der umfassenden mgmtmodule -Dokumentation. Mit dem ngx_mgmt_module können Sie die Anweisungen einfach anpassen, was für mehr Flexibilität und Komfort sorgt.

In den folgenden Abschnitten wird erläutert, wie Sie diese Funktion für Ihre Umgebung konfigurieren.

NGINX Plus konfigurieren

  1. Es wird empfohlen, mTLS zu verwenden, um die Sicherheit Ihres Systems zu erhöhen. Sie können dies erreichen, indem Sie ein Zertifikat, einen Schlüssel und ein CA-Schlüsselzertifikat sowohl für die NGINX Plus-Instanz als auch für den NGINX Instance Manager generieren. Weitere Informationen zum Generieren von Schlüsseln erhalten Sie hier .
  2. Geben Sie den Pfad zum Client-Zertifikat und zur privaten Schlüsseldatei im Verwaltungsblock der Konfigurationsdatei nginx.conf an.
    		
       mgmt {
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers STANDARD;
    ssl_zertifikat          /home/ubuntu/agent.crt;
    ssl_zertifikatsschlüssel      /home/ubuntu/agent.key
    }
    
  3. Für einen sicheren und zuverlässigen Authentifizierungsprozess geben Sie den Pfad zur CA-Kette an, um die Echtheit der Zertifikate zu überprüfen.
    
       mgmt {
    ssl_trusted_certificate  /home/ubuntu/ca.pem;
    ssl_verify               ein;
    ssl_verify_depth         2;
    }
    
  4. Geben Sie für benutzerdefinierte DNS-Resolver die Resolveradresse im mgmt{}-Block mit der Resolver-Direktive an.
    
       mgmt {
    Resolver 3.X.X.X;
    }
    
  5. Um einen benutzerdefinierten FQDN für NGINX Instance Manager zu konfigurieren, geben Sie den FQDN in der Direktive „usage_report“ an. Fügen Sie dann Ihrem lokalen DNS einen A-Eintrag hinzu, der den Hostnamen mit der IP-Adresse des NGINX Instance Managers verknüpft.
    
       mgmt {
    Resolver 3.X.X.X;
    Nutzungsbericht Endpunkt=nms.local Intervall=15m;
    }
    

Beispielkonfiguration für NGINX Plus:


  mgmt {
usage_report endpoint=nms.local interval=30m;
Resolver 3.X.X.X;
SSL-Protokolle TLSv1.2 TLSv1.3;
SSL-Chiffren STANDARD;
SSL-Zertifikat /home/ubuntu/agent.crt;
SSL-Zertifikatschlüssel /home/ubuntu/agent.key;

SSL-vertrauenswürdiges Zertifikat /home/ubuntu/ca.pem;
SSL-Verifizierung ein;
SSL-Verifizierungstiefe 2;
}

Speichern Sie die NGINX-Konfiguration und laden Sie NGINX Plus neu.

sudo nginx -s neu laden

NGINX Instance Manager konfigurieren

Fügen Sie das SSL-Zertifikat in /etc/nginx/conf.d/nms-HTTP.conf innerhalb des Serverblocks hinzu. Klicken Sie hier, um zu erfahren, wie Sie ein SSL-Zertifikat im NGINX Management Suite-Server konfigurieren.


Server {
Listen 443 SSL http2;
Root /var/www/nms;
Servername _;
SSL-Protokolle TLSv1.1 TLSv1.2;
SSL-Chiffren HIGH:!aNULL:!MD5;
SSL-Sitzungscache gemeinsam genutzt: SSL:10 m;
SSL-Sitzungszeitüberschreitung 10 m;
SSL-Zertifikat /etc/nms/certs/server.crt;
SSL-Zertifikatschlüssel /etc/nms/certs/server.key;
SSL-Clientzertifikat /etc/nms/certs/ca.pem;
SSL-Verifizierungsclient ein;
}

Um die NGINX Plus-Nutzung anzuzeigen, melden Sie sich in Ihrem Browser bei der NGINX Management Suite an und navigieren Sie zum Modul NGINX Instance Manager. Wählen Sie dann die Registerkarte NGINX Plus unten links auf der Seite aus.

NGINX Plus-Inventarinstanzen im Zeitverlauf

Sehen Sie sich dieses Video-Tutorial mit Schritt-für-Schritt-Anleitungen an:

Fehlerprotokollmeldungen

Hier ist eine Liste von Fehlermeldungen zur Fehlerbehebung in der NGINX Plus-Instanz, wenn Sie im NGINX Instance Manager keine Nutzungsdaten sehen können: Hier einige Beispiele für Fehlermeldungen:

  • Fehler des dynamischen Resolvers: DNS-Resolver kann nicht aufgelöst werden.
    2024/04/02 04:02:10 [Fehler] 574079#574079: recv() fehlgeschlagen (111: Verbindung abgelehnt) während der Auflösung, Resolver: 3.17.128.165:53
    02.04.2024 04:02:35 [warn] 574079#574079: Nutzungsbericht: nginx-mgmt.locals konnte nicht aufgelöst werden (110: (Zeitüberschreitung beim Vorgang)
    
  • System-Resolver-Fehler: Der Hostname des NGINX Instance Managers konnte nicht aufgelöst werden.
    02.04.2024 13:20:44 [info] 103888#0: Nutzungsbericht: Host nicht im Resolver „nginx-mgmt.local“ gefunden
    
  • SSL-Verbindungsfehler: SSL-Zertifikat kann nicht überprüft werden oder ist abgelaufen.
    2024/04/02 13:13:50 [warn] 103877#0: Nutzungsbericht: Peer-SSL-Verbindung fehlgeschlagen
    
  • Fehler bei der Peer-Kommunikation: Der NGINX-Instanzmanager kann nicht erreicht werden.
    2024/04/02 13:15:25 [warn] 103877#0: Nutzungsbericht: Peer-Verbindung fehlgeschlagen (-1: Unbekannter Fehler)
    02.04.2024 13:23:32 [Warnung] 103877#0: Nutzungsbericht: fehlgeschlagen (Server hat zurückgegeben: 404 Nicht gefunden)
    02.04.2024 19:53:45 [Warnung] 4648#4648: Nutzungsbericht: Verbindung abgelaufen
    

NGINX-Agent installieren

Wenn Sie noch nicht auf R31 umgestiegen sind oder dies nicht in Kürze beabsichtigen, können Sie Ihre NGINX Plus-Instanzen trotzdem dem NGINX Instance Manager melden. Sie können dies erreichen, indem Sie den NGINX-Agenten in Ihrer Umgebung installieren. Sobald die Installation abgeschlossen ist, können Sie eine Verbindung mit dem Instance Manager herstellen und mit der Übertragung der Nutzungsdaten beginnen. Befolgen Sie zum Installieren des NGINX-Agenten die Anweisungen unter diesem Link .

Um die NGINX Plus-Nutzung anzuzeigen, melden Sie sich in Ihrem Browser bei der NGINX Management Suite an und navigieren Sie zum Modul NGINX Instance Manager. Wählen Sie dann die Registerkarte NGINX Plus unten links auf der Seite aus.

NGINX Plus-Inventarinstanzen im Zeitverlauf

Sehen Sie sich dieses Video-Tutorial mit Schritt-für-Schritt-Anleitungen an:

HTTP-Integritätsprüfung für NGINX Plus konfigurieren

Wenn Sie nicht vorhaben, den NGINX-Agenten zu installieren oder auf R31 zu aktualisieren, können Sie Ihre NGINX Plus-Instanzen trotzdem melden. Dies kann durch die Konfiguration einer HTTP-Integritätsprüfung über die NGINX-Konfigurationsdatei erreicht werden. Um diese Option nutzen zu können, müssen Sie die NGINX Plus-Konfigurationsdatei jedoch manuell aktualisieren. Diese Methode kann zeitaufwändig und umständlich sein, insbesondere wenn Ihre Umgebung mehrere Instanzen umfasst. Daher ist es ratsam, diese Faktoren zu berücksichtigen, bevor Sie sich für diese Option entscheiden.

NGINX Plus konfigurieren

  1. Öffnen Sie die NGINX Plus-Konfiguration und fügen Sie den Code in den http {}-Block ein:
    
       keyval_zone zone=uuid:32K state=/var/lib/nginx/state/instance_uuid.json; keyval 1 $nginx_uuid zone=uuid; Upstream-Empfänger { Zone-Empfänger 64k; # ERFORDERLICH: Aktualisieren Sie NMS_FQDN mit der IP-Adresse oder dem Hostnamen der NGINX Management Suite. # Achten Sie bei der Konfiguration mit Hostnamen darauf, die unten stehende Resolver-Direktive # auszukommentieren und einen DNS-Server zu definieren, der den Hostnamen auflösen kann. Server NMS_FQDN:443; # OPTIONAL: Aktualisieren Sie DNS_UP mit der IP-Adresse des DNS-Servers, die # den oben definierten Hostnamen auflösen kann. #resolver DNS_IP; } map CERT $repo_crt { # OPTIONAL: Speicherort des Client-Zertifikats Standard /home/ubuntu/agent.crt; } map KEY $repo_key { # OPTIONAL: Speicherort des privaten Schlüssels des Client-Zertifikats, Standard: /home/ubuntu/agent.key; } Server { Speicherort @ngx_usage_https { # OPTIONAL: Konfigurieren Sie das Schema (http|https) hier proxy_pass https://receiver; # ERFORDERLICH: Wenn Sie NGINX APP PROTECT (NAP) auf dieser Instanz verwenden, legen Sie nap=active in der folgenden Zeile fest: proxy_set_header Nginx-Usage "Version=$nginx_version;Hostname=$hostname;uuid=$nginx_uuid; nap=active "; health_check uri=/api/nginx-usage interval=1800s; # NICHT ÄNDERN proxy_ssl_certificate $repo_crt; # NICHT ÄNDERN proxy_ssl_certificate_key $repo_key; # NICHT ÄNDERN } 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 selbst { Zone selbst 64k; Server unix:/tmp/ngx_usage.sock; }
    
  2. Aktualisieren Sie den NMS-FQDN mit Ihrem Instance Manager-Hostnamen oder Ihrer IP-Adresse. Wenn Sie privates DNS verwenden, heben Sie die Kommentierung auf und aktualisieren Sie Ihre DNS-IP-Adresse.
  3. Um die Sicherheit des HTTP-Verkehrs zum NGINX Instance Manager zu gewährleisten, müssen die Speicherorte des SSL-Zertifikats und -Schlüssels in den Map-CERT- und Map-KEY-Blöcken angegeben werden.

Speichern Sie die Änderungen und laden Sie NGINX neu.

sudo nginx -s neu laden

Um die NGINX Plus-Nutzung anzuzeigen, melden Sie sich in Ihrem Browser bei der NGINX Management Suite an und navigieren Sie zum Modul NGINX Instance Manager. Wählen Sie dann unten links auf der Seite die Registerkarte NGINX Plus aus.

NGINX Plus-Inventarinstanzen im Zeitverlauf

Sehen Sie sich dieses Video-Tutorial mit Schritt-für-Schritt-Anleitungen an:

Abschluss

Wir möchten Sie dort abholen, wo Sie stehen, und Ihnen dabei helfen, die Nutzungsberichterstattung mühelos zu optimieren und zu automatisieren. Aus diesem Grund bieten wir mehrere Optionen für flexible Berichterstattung. Das kürzlich veröffentlichte NGINX Plus R31-Update macht es noch einfacher und effizienter, monatliche Nutzungsdaten zu NGINX Plus-Instanzen zu melden – ohne die Leistung zu beeinträchtigen und gleichzeitig die Einhaltung der Anforderungen von F5 sicherzustellen.


„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."