Erkennung von NGINX-Webservern

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • NGINX ist ein Open Source-Webserver mit einem Lastenausgleichsmodul. Discovery identifiziert den Webserver und Informationen in Bezug auf das Lastenausgleichsmodul.

    Discovery identifiziert die Serversoftware NGINX mit dem folgenden Prozess:
    1. Die NGINX-Prozessklassifizierung erkennt einen laufenden Prozess, der die folgenden Kriterien während der Durchsuchung eines Linux-Servers erfüllt:
      • Name beginnt mit „nginx“
      • Name enthält „master“
    2. Wenn es eine Übereinstimmung gibt:
      • In der Tabelle „NGINX-Webserver“ [cmdb_ci_nginx_web_server] wird ein Datensatz erstellt.
      • In der CI-Beziehungstabelle [cmdb_rel_ci] wird für einen Linux-Server (Linux Server [cmdb_ci_linux_server]) und für einen NGINX-Webserver (NGINX Web Server [cmdb_ci_nginx_web_server]) eine Beziehung vom Typ „Wird ausgeführt auf“ erstellt.
        Die folgenden beiden Probes werden ausgelöst:
        • NGINX – Version: Diese Probe enthält ein Bourne-Shell-Skript. Er bestimmt die Version von NGINX und füllt die Tabelle „NGINX-Webserver“ [cmdb_ci_nginx_web_server].
        • NGINX – Get Configuration: Diese Probe enthält ein Bourne-Shell-Skript und ein Argument, das den Pfad der NGINX-Konfigurationsdatei bestimmt. Die Probe identifiziert Konfigurationsparameter basierend auf Schlüsselwörtern in der Konfigurationsdatei und gibt sie als einzelnes Nutzlastergebnis zurück.
        Der Sensor in der ServiceNow-Instanz analysiert das Nutzlastergebnis und füllt die CMDB.
    Zur Erkennung eines NGINX-Webservers müssen die folgenden Voraussetzungen erfüllt sein:
    • NGINX ist auf dem Server installiert und wird ausgeführt.
    • Der MID Server hat Zugriff auf die NGINX-Konfigurationsdatei, die standardmäßig /etc/nginx/nginx.conf lautet.

    Anforderungen

    Für NGINIX-Server:
    • NGINX ist auf dem Server installiert und wird ausgeführt.
    • Der MID Server hat Zugriff auf die NGINX-Konfigurationsdatei, die standardmäßig /etc/nginx/nginx.conf lautet.
    • Aktivieren Sie SSH-Befehle (Secure Shell), um die folgenden zugeordneten Elemente zu identifizieren:
      • NGINX - Version
      • NGINX - Get Configuration
    Die folgenden Probes benötigen Ausführungsrechte, um Befehle auszuführen:
    Tabelle : 1. Befehle
    Probe Befehle
    Nginx – Version nginx
    Nginx – Get Configuration echo, sed, httpd, cut, grep, egrep (im Bourne-Shell-Skript)

    Probes und Sensoren

    Discovery identifiziert die Serversoftware NGINX mit dem folgenden Prozess:
    1. Der Prozessklassifizierer „Nginx“ erkennt einen laufenden Prozess, der während der Erkundung eines UNIX-Servers die folgenden Kriterien erfüllt:
      • Der Name des Prozesses beginnt mit nginx.
      • Der Name des Prozesses enthält master.
    2. Wenn es eine Übereinstimmung gibt:
      • In der Tabelle „Webserver“ [cmdb_ci_web_server] wird ein Datensatz erstellt.
      • In der Tabelle „CI-Beziehung“ [cmdb_rel_ci] wird für den Linux-Server (Linux-Server [cmdb_ci_linux_server]) und für den Webserver (Webserver [cmdb_ci_web_server]) eine Beziehung vom Typ Wird ausgeführt auf erstellt.
    3. Die folgenden beiden Probes werden ausgelöst:
      • Nginx – Version: Diese Probe enthält ein Bourne-Shell-Skript. Er bestimmt die Version von NGINX und füllt die Tabelle „Webserver“ [cmdb_ci_web_server].
      • Nginx – Get Configuration: Diese Probe enthält ein Bourne-Shell-Skript und ein Argument, das den Pfad der NGINX-Konfigurationsdatei bestimmt. Die Probe identifiziert Konfigurationsparameter basierend auf Schlüsselwörtern in der Konfigurationsdatei und gibt sie als einzelnes Nutzlastergebnis zurück.
    4. Der Sensor in der ServiceNow-Instanz verarbeitet die Nutzlast und füllt die CMDB.

    Erfasste Daten

    Discovery erstellt oder aktualisiert einen CMDB-Datensatz, wenn ein laufender NGINX-Prozess erkannt wird. Die folgenden Daten werden erfasst.
    Tabelle : 2. Von Discovery für NGINX erfasste Daten
    Tabellenname Feld- und Bezeichnungsname Probe
    Name cmdb_ci_lb_appl [name] Nginx– Get Configuration
    IP-Adresse cmdb_ci_lb_appl [ip_address] Nginx– Get Configuration
    Zuletzt erkannt cmdb_ci_lb_appl [last_discovered] Nginx– Get Configuration
    Version cmdb_ci_lb_appl [version] Nginx– Version
    Name cmdb_ci_lb_pool_member [name] Nginx– Get Configuration
    Zuletzt erkannt cmdb_ci_lb_pool_member [last_discovered] Nginx– Get Configuration
    IP-Adresse cmdb_ci_lb_pool_member [ip_address] Nginx– Get Configuration
    Lastenausgleich cmdb_ci_lb_pool_member [load_balancer] Nginx– Get Configuration
    Vollqualifizierter Domänenname cmdb_ci_lb_pool_member [fqdn] Nginx– Get Configuration
    Port cmdb_ci_lb_pool_member [port] Nginx– Get Configuration
    Zuletzt erkannt cmdb_ci_lb_service [last_discovered] Nginx– Get Configuration
    IP-Adresse cmdb_ci_lb_service [ip_address] Nginx– Get Configuration
    Name cmdb_ci_lb_service [name] Nginx– Get Configuration
    Lastenausgleich cmdb_ci_lb_service [load_balancer] Nginx– Get Configuration
    Eingabe-URL cmdb_ci_lb_service [input_url] NGINX - Get Configuration

    Beziehungen

    In die Tabelle [cmdb_rel_ci] werden die folgenden Beziehungen eingefügt:
    • Die Datensätze in der Tabelle cmdb_ci_lb_appl werden in den Datensätzen der Tabelle cmdb_ci_web_server ausgeführt.
    • Die Datensätze in der Tabelle cmdb_ci_lb_service verwenden die Datensätzen der Tabelle cmdb_ci_lb_pool.
    • Die Datensätze in der Tabelle cmdb_ci_pool werden von den Datensätzen der Tabelle cmdb_ci_service verwendet.
    • Die Datensätze in der Tabelle cmdb_ci_pool sind Mitglieder der Tabelle cmdb_ci_pool_member.
    • Die Datensätze in der Tabelle cmdb_ci_pool_member sind Mitglieder der Tabelle cmdb_ci_pool.