Détection de serveurs Web NGINX
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 :
- 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.
- 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 :Le capteur de l'instance ServiceNow analyse le résultat de la charge utile et renseigne la CMDB.
- 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.
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.confpar 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 :
| 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 :
- 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.
- 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].
- 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.
- 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.
| 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.