---
sourceDocument: Yokohama IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/it-operations-management

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# NGINX web server

# NGINX web server discovery {#ariaid-title1}

* Release version: Yokohama
* 
* Updated January 30, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read

Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of NGINX web server discovery

NGINX web server discovery in ServiceNow identifies running NGINX web servers and related load balancer information on Linux and Windows servers.
It detects NGINX processes, collects version and configuration details, and creates or updates configuration management database (CMDB) records.
This capability helps you maintain an accurate inventory of NGINX servers and their configurations for better IT service management.
Show full answer Show less  

## How Discovery Works

* The NGINX Process Classifier detects processes with names starting with "nginx" and containing "master" during server exploration.
* When detected, a record is created in the **NGINX Web Server \[cmdbcinginxwebserver\]** or **Web Server \[cmdbciwebserver\]** table.
* A "Runs on" relationship is established between the Linux Server and the NGINX Web Server in the **CI Relationship \[cmdbrelci\]** table.
* Two probes are triggered:
  * **NGINX -- Version**: Uses a Bourne shell script to determine and populate the NGINX version.
  * **NGINX -- Get Configuration** : Uses a shell script to read the NGINX configuration file (default path: `/etc/nginx/nginx.conf`), extracts configuration parameters, and returns them as a payload to be parsed and stored in the CMDB.

## Requirements

* NGINX must be installed and running on the target server.
* The MID Server must have access to the NGINX configuration file, typically `/etc/nginx/nginx.conf`.
* SSH commands must be enabled and allowed for the MID Server to execute probes.
* Execute privileges are needed for commands used in probes such as `nginx`, `echo`, `sed`, `httpd`, `cut`, `grep`, and `egrep`.

## Data Collected and Relationships

Discovery collects detailed data about NGINX web servers and related load balancer components, populating multiple tables including:

* **cmdbcilbappl**: Name, IP address, version, and last discovered timestamp.
* **cmdbcilbpoolmember**: Name, IP address, port, FQDN, load balancer association, and last discovered timestamp.
* **cmdbcilbservice**: Name, IP address, input URL, load balancer association, and last discovered timestamp.

The **cmdbrelci** table maintains these key relationships:

* Applications (**cmdbcilbappl** ) run on web servers (**cmdbciwebserver**).
* Services (**cmdbcilbservice** ) use load balancer pools (**cmdbcilbpool**).
* Pools (**cmdbcilbpool** ) are used by services and contain pool members (**cmdbcilbpoolmember**).
* Pool members belong to pools, establishing membership relationships.

## Practical Benefits for ServiceNow Customers

This discovery process enables you to automatically identify and track NGINX web servers and load balancer configurations within your environment, ensuring your CMDB reflects accurate and current infrastructure details. With this data, you can improve operational visibility, support impact analysis, and enhance service mapping for applications relying on NGINX servers.  
NGINX is an open source web server with a load balancer. Discovery identifies the web server and information related to the load balancer.
Discovery identifies NGINX server software using the following process:

1. The NGINX Process Classifier detects a running process that matches the following criteria during the exploration of a Linux server:
   * Name starts with nginx
   * Name contains master
   {#c_NGINXWebServerDiscovery__ul_izx_hkp_cr}
2. If there is a match:
   * A record is created in the NGINX Web Server \[cmdb_ci_nginx_web_server\] table.
   * A Runs on relationship is created in the CI Relationship \[cmdb_rel_ci\] table for a Linux server (Linux Server \[cmdb_ci_linux_server\]) and for an NGINX web server (NGINX Web Server \[cmdb_ci_nginx_web_server\]).  
     The following two probes are triggered:
     * NGINX -- Version: This probe contains a Bourne shell script. It determines the version of NGINX and populates the NGINX Web Server \[cmdb_ci_nginx_web_server\] table.
     * NGINX -- Get Configuration: This probe contains a Bourne shell script and an argument that determines the path of the NGINX configuration file. The probe identifies configuration parameters based on keywords within the configuration file and returns them as a single payload result.
     {#c_NGINXWebServerDiscovery__ul_djl_lkp_cr}
     The sensor on the ServiceNow instance parses the payload result and populates the CMDB.
{#c_NGINXWebServerDiscovery__ul_osk_jkp_cr}  
You must have the following requirements to discover an NGINX webserver:

* NGINX is installed and running on the server.
* The MID Server has access to the NGINX configuration file, which is /`etc/nginx/nginx.conf` by default.
{#c_NGINXWebServerDiscovery__ul_v3r_xjp_cr}

## Requirements {#c_NGINXWebServerDiscovery__section_ct4_h21_bcb}

For NGINIX servers:

* Ensure that the NGINX software is installed and running on the server.
* Grant the MID Server has access to the NGINX configuration file, which is /etc/nginx/nginx.conf by default.
* Enable secure shell (SSH) commands to identify the following associated elements:  
  * NGINX Version
  * NGINX Get Configuration
  {#c_NGINXWebServerDiscovery__ul_et4_h21_bcb}
{#c_NGINXWebServerDiscovery__ul_dt4_h21_bcb}  
The following probes require execute privileges to run commands:{#c_NGINXWebServerDiscovery__table_fdg_ghb_1t__entry__2}

| Probe | Commands |
|-|-|
| Nginx -- Version | nginx |
| Nginx -- Get Configuration | echo, sed, httpd, cut, grep, egrep (within the Bourne shell script) |
[Table 1. Commands]

{#c_NGINXWebServerDiscovery__table_fdg_ghb_1t}  
Note:  
The Nginx pattern performs top-down discovery on both Windows and Linux servers. For information on prerequisites for top-down discovery for NGINX web servers, see [Prerequisites for performing top-down discovery using Service Mapping](https://servicenow-prod.fluidtopics.net/20BFFRIMDaojk1En5RNucg "Learn about credentials, users, and user permissions you must configure to let Service Mapping access and discover applications inside your organization private network.").

## Probes and Sensors {#c_NGINXWebServerDiscovery__section_ft4_h21_bcb}

Discovery identifies NGINX server software using the following process:

1. The Nginx Process Classifier detects a running process that matches the following criteria during the exploration of a UNIX server:
   * The name of the process starts with nginx.
   * The name of the process contains master.
   {#c_NGINXWebServerDiscovery__ul_ht4_h21_bcb}
2. If there is a match:
   * A record is created in the Web Server \[cmdb_ci_web_server\] table.
   * A Runs on relationship is created in the CI Relationship \[cmdb_rel_ci\] table for the Linux Server \[cmdb_ci_linux_server\] table and the Web Server \[cmdb_ci_web_server\] table.
   {#c_NGINXWebServerDiscovery__ul_it4_h21_bcb}
3. The following two probes are triggered:
   * Nginx -- Version: this probe contains a Bourne shell script. It determines the version of NGINX and populates the Web Server \[cmdb_ci_web_server\] table.
   * Nginx -- Get Configuration: this probe contains a Bourne shell script and an argument that determines the path of the NGINX configuration file. The probe identifies configuration parameters based on keywords within the configuration file and returns them as a single payload result.
   {#c_NGINXWebServerDiscovery__ul_jt4_h21_bcb}
4. The sensor on the ServiceNow instance processes the payload and populates the CMDB.
{#c_NGINXWebServerDiscovery__ol_gt4_h21_bcb}

## Data Collected {#c_NGINXWebServerDiscovery__section_kt4_h21_bcb}

Discovery creates or updates CMDB records when it detects a running NGINX process. The following data is collected. {#c_NGINXWebServerDiscovery__table_g3g_tfb_1t__entry__3}

| Table Name | Field and Label Name | Probe |
|-|-|-|
| Name | cmdb_ci_lb_appl \[name\] | Nginx-- Get Configuration |
| IP Address | cmdb_ci_lb_appl \[ip_address\] | Nginx-- Get Configuration |
| Last Discovered | 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 |
| Last Discovered | cmdb_ci_lb_pool_member \[last_discovered\] | Nginx-- Get Configuration |
| IP Address | cmdb_ci_lb_pool_member \[ip_address\] | Nginx-- Get Configuration |
| Load Balancer | cmdb_ci_lb_pool_member \[load_balancer\] | Nginx-- Get Configuration |
| Fully Qualified Domain Name | cmdb_ci_lb_pool_member \[fqdn\] | Nginx-- Get Configuration |
| Port | cmdb_ci_lb_pool_member \[port\] | Nginx-- Get Configuration |
| Last Discovered | cmdb_ci_lb_service \[last_discovered\] | Nginx-- Get Configuration |
| IP Address | cmdb_ci_lb_service \[ip_address\] | Nginx-- Get Configuration |
| Name | cmdb_ci_lb_service \[name\] | Nginx-- Get Configuration |
| Load Balancer | cmdb_ci_lb_service \[load_balancer\] | Nginx-- Get Configuration |
| Input URL | cmdb_ci_lb_service \[input_url\] | NGINX -- Get Configuration |
[Table 2. Data Collected by Discovery for NGINX]

{#c_NGINXWebServerDiscovery__table_g3g_tfb_1t}

## Relationships {#c_NGINXWebServerDiscovery__section_lt4_h21_bcb}

In the table \[cmdb_rel_ci\] the following relationships are populated:

* The records in the cmdb_ci_lb_appl table run on the cmdb_ci_web_server table records.
* The records in the cmdb_ci_lb_service table use the cmdb_ci_lb_pool table records.
* The records in the cmdb_ci_pool table are used by the cmdb_ci_service table records.
* The records in the cmdb_ci_pool table are members of the cmdb_ci_pool_member table.
* The records in the cmdb_ci_pool_member table are members of cmdb_ci_pool table.
{#c_NGINXWebServerDiscovery__ul_mt4_h21_bcb}

