Détection de serveurs Web NGINX

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 3 minutes de lecture
  • NGINX est un serveur Web open source pourvu d'un équilibreur de charge. Discovery identifie le serveur Web et les informations relatives à l'équilibreur de charge.

    Discovery identifie le logiciel serveur NGINX à l'aide du processus suivant :
    1. Le classifieur de processus NGINX détecte un processus en cours qui correspond aux critères suivants lors de l’exploration d’un serveur Linux :
      • Le nom commence par nginx.
      • Le nom contient l'élément maître.
    2. En cas de correspondance :
      • Un enregistrement est créé dans la table Serveur Web NGINX [cmdb_ci_nginx_web_server].
      • Une relation Runs on est créée dans la table Relation CI [cmdb_rel_ci] pour un serveur Linux (serveur Linux [cmdb_ci_linux_server]) et pour un serveur Web NGINX (serveur Web NGINX [cmdb_ci_nginx_web_server]).
        Les deux sondes suivantes sont déclenchées :
        • NGINX : version : cette sonde contient un script Bourne shell. Elle détermine la version de NGINX et renseigne la table Serveur Web NGINX [cmdb_ci_nginx_web_server].
        • NGINX : obtenir la configuration : cette sonde contient un script Bourne shell et un argument qui détermine le chemin du fichier de configuration NGINX. La sonde identifie les paramètres de configuration en fonction de mots clés dans le fichier de configuration et les renvoie comme résultat unique de la charge utile.
        Le capteur de l'instance ServiceNow analyse le résultat de la charge utile et renseigne la CMDB.
    Les conditions suivantes doivent être réunies pour détecter un serveur Web NGINX :
    • NGINX est installé et en cours d'exécution sur le serveur.
    • Le MID Server a accès au fichier de configuration NGINX, qui est /etc/nginx/nginx.conf par défaut.

    Besoins

    Pour les serveurs NGINX :
    • Assurez-vous que le logiciel NGINX est installé et en cours d'exécution sur le serveur.
    • Attribuez au MID Server un accès au fichier de configuration NGINX, qui est /etc/nginx/nginx.conf par défaut.
    • Activez des commandes Secure Shell (SSH) pour identifier les éléments associés suivants :
      • NGINX Version
      • NGINX Get Configuration
    Les sondes suivantes nécessitent des privilèges d'exécution pour exécuter des commandes :
    Tableau 1. Commandes
    Sonde Commandes
    Nginx : version nginx
    Nginx : obtenir la configuration echo, sed, httpd, cut, grep, egrep (dans le script Bourne shell)

    Sondes et capteurs

    Détection identifie le logiciel serveur NGINX à l'aide du processus suivant :
    1. Le classifieur de processus Nginx détecte un processus en cours qui correspond aux critères suivants lors de l'exploration d'un serveur Unix :
      • Le nom du processus commence par nginx.
      • Le nom du processus contient un élément maître.
    2. En cas de correspondance :
      • Un enregistrement est créé dans la table Serveur Web [cmdb_ci_web_server].
      • Une relation Runs on est créée dans la table Relation CI [cmdb_rel_ci] pour la table Serveur Linux [cmdb_ci_linux_server] et la table Serveur Web [cmdb_ci_web_server].
    3. Les deux sondes suivantes sont déclenchées :
      • Nginx – Version : cette sonde contient un script Bourne shell. Elle détermine la version de NGINX et renseigne la table Serveur Web [cmdb_ci_web_server].
      • Nginx – Get Configuration : cette sonde contient un script Bourne shell et un argument qui détermine le chemin du fichier de configuration NGINX. La sonde identifie les paramètres de configuration en fonction de mots clés dans le fichier de configuration et les renvoie comme résultat unique de la charge utile.
    4. Le capteur de l'instance ServiceNow traite la charge utile et renseigne la CMDB.

    Données collectées

    Détection crée ou met à jour des enregistrements CMDB lorsqu'il détecte un processus NGINX en cours d'exécution. Les données suivantes sont collectées.
    Tableau 2. Données collectées par Discovery pour NGINX
    Nom de table Nom de champ et d'étiquette Sonde
    Nom cmdb_ci_lb_appl [name] Nginx : obtenir la configuration
    Adresse IP cmdb_ci_lb_appl [ip_address] Nginx : obtenir la configuration
    Dernière détection cmdb_ci_lb_appl [last_discovered] Nginx : obtenir la configuration
    Version cmdb_ci_lb_appl [version] Nginx : version
    Nom cmdb_ci_lb_pool_member [name] Nginx : obtenir la configuration
    Dernière détection cmdb_ci_lb_pool_member [last_discovered] Nginx : obtenir la configuration
    Adresse IP cmdb_ci_lb_pool_member [ip_address] Nginx : obtenir la configuration
    Équilibreur de charge cmdb_ci_lb_pool_member [load_balancer] Nginx : obtenir la configuration
    Nom de domaine complet cmdb_ci_lb_pool_member [fqdn] Nginx : obtenir la configuration
    Port cmdb_ci_lb_pool_member [port] Nginx : obtenir la configuration
    Dernière détection cmdb_ci_lb_service [last_discovered] Nginx : obtenir la configuration
    Adresse IP cmdb_ci_lb_service [ip_address] Nginx : obtenir la configuration
    Nom cmdb_ci_lb_service [name] Nginx : obtenir la configuration
    Équilibreur de charge cmdb_ci_lb_service [load_balancer] Nginx : obtenir la configuration
    URL d'entrée cmdb_ci_lb_service [input_url] NGINX : obtenir la configuration

    Relations

    Dans la table [cmdb_rel_ci], les relations suivantes sont renseignées :
    • Les enregistrements de la table cmdb_ci_lb_appl s'exécutent sur les enregistrements de la table cmdb_ci_web_server.
    • Les enregistrements de la table cmdb_ci_lb_service utilisent les enregistrements de la table cmdb_ci_lb_pool.
    • Les enregistrements de la table cmdb_ci_pool sont utilisés par les enregistrements de la table cmdb_ci_service.
    • Les enregistrements de la table cmdb_ci_pool sont membres de la table cmdb_ci_pool_member.
    • Les enregistrements de la table cmdb_ci_pool_member sont membres de la table cmdb_ci_pool.