VMware NSX Advanced load balancer discovery
Summarize
Summary of VMware NSX Advanced Load Balancer Discovery
The ServiceNow Discovery application includes a VMware NSX Advanced Load Balancer discovery pattern designed to identify VMware NSX load balancers within your environment. This discovery leverages REST APIs and is initiated via the NSX HTTP classifier responding to the HTTP-Classify probe. There are two versions of the pattern:
Show less
- Legacy VMware NSX Load Balancer pattern for the S series
- VMware NSX-T Load Balancer pattern for the T series
Both patterns collect the same core information and update the Configuration Management Database (CMDB) with discovered load balancer configuration items (CIs).
Prerequisites and Setup
- Enable NSX Basic Authentication: Must be enabled within VMware NSX to allow API access.
- Update Applications: Ensure Discovery and Service Mapping Patterns applications are current via the ServiceNow Store.
- Configure Credentials: Set up basic authentication credentials on the ServiceNow AI Platform with required API permissions for NSX and NSX-T endpoints.
- Discovery Triggers: HTTP discovery runs only if SSH or SNMP discovery attempts fail.
- Discovery Scheduling: Create a discovery schedule or run a quick discovery against the NSX Main Controller IP.
Discovered Data and CMDB Impact
Discovery populates detailed data in the CMDB for the following load balancer components:
- NSX Load Balancer [cmdbcinsxlb]: Includes edge name, ID, IP address, and operational status.
- Load Balancer Service [cmdbcilbservice]: Captures virtual server details such as name, IP, port, and listener protocol.
- Load Balancer Pool [cmdbcilbpool]: Records pool names and IDs.
- Load Balancer Pool Member [cmdbcilbpoolmember]: Details member names, IP addresses, ports, and IDs.
- Cloud Load Balancer Health Service [cmdbcilbhealthservice]: Monitors health service names, IDs, timeouts, intervals, monitor types, request paths, and max retries.
Relationships between these CIs are automatically created to provide a comprehensive dependency map showing how services, pools, pool members, and health monitors relate to load balancers.
Troubleshooting
- REST Timeout Errors: If discovery fails due to REST call timeouts, increase the
mid.sa.cloud.requesttimeoutparameter on the relevant MID Server (default 30,000 ms) to accommodate response processing. - Pattern Designer Debug Timeouts: For debugging timeouts in the Pattern Designer, increase the
sa.debugger.maxtimeoutparameter (default 240 seconds) on the MID Server.
Practical Benefits for ServiceNow Customers
This discovery pattern enables ServiceNow customers to automatically identify and map VMware NSX load balancers and their components, maintaining accurate and up-to-date load balancer configurations in the CMDB. Accurate CI and relationship data enhance visibility, support impact analysis, and improve service management workflows related to NSX load balancers.
The ServiceNow Discovery application uses the VMware NSX Advanced load balancer discovery pattern to find VMware NSX load balancers. Discovering some of these resources may require updating to the latest version of the Discovery and Service Mapping Patterns application from the ServiceNow Store.
Request apps on the Store
Visit the ServiceNow Store to view all the available apps, and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the ServiceNow Store version history release notes.
Prerequisites
- Enable NSX Basic Authentication
- In VMware NSX, enable NSX Basic Authentication.
- Verify that the applications are up to date
-
- CMDB CI Class Models
- Visibility Content
- Discovery and Service Mapping Patterns
- Configure basic authentication credentials
- On the ServiceNow AI Platform, configure basic authentication credentials. The credentials must have the following API permissions:
- NSX:
- /api/4.0/edges
- /api/4.0/edges/<edge_id>loadbalancer/config
- NSX-T: /api/v1/edge-clusters
- NSX:
- Verify HTTP discovery is triggered against the NSX Main Controller IP
- The HTTP discovery is triggered only if SSH or SNMP discovery is unsuccessful.
- Create a discovery schedule
- Create the discovery schedule for VMware NSX load balancer discovery or run a quick discovery on the IP address of the NSX Main Controller. For more information about running a quick discovery, see Run a Quick Discovery.
Data collected by Discovery for VMware NSX Advanced load balancer
Discovery populates the data in the CMDB when running the VMware NSX Advanced load balancer patterns.
| Field | Description |
|---|---|
| Name [name] | Edge name. |
| Object ID [object_id] | Edge ID. |
| IP Address [ip_address] | IP address of the NSX Main Controller. |
| Operational status [operational_status] | Load balancer status: Active or inactive. |
| Field | Description |
|---|---|
| Name [name] | Virtual server name. |
| IP Address [ip_address] | Virtual server IP address. |
| Object ID [object_id] | Virtual server object ID. |
| Port [port] | Virtual server port with which to communicate. |
| Listener Protocol [listener_protocol] | Listener protocol. For example: HTTP, HTTPS. |
| Field | Description |
|---|---|
| Name [name] | Pool name. |
| Object ID [object_id] | Pool object ID. |
| Field | Description |
|---|---|
| Name [name] | Pool member name. |
| IP Address [ip_address] | Pool member IP address. |
| Object ID [object_id] | Pool member object ID. |
| Service port [service_port] | Pool member port with which to communicate. |
| Field | Description |
|---|---|
| Name [name] | Monitor name. |
| Object ID [object_id] | Monitor object ID. |
| Timeout in seconds [timeout_sec] | Time in seconds to wait for a response. |
| Interval in seconds [check_interval_sec] | Interval in seconds after which the monitor sends the request again. |
| Monitor type protocol [monitor_type] | Monitor type. For example: HTTP, HTTPS, TCP. |
| Request path [request_path] | Path where the monitor sends the request. |
| Max retries [max_retries] | The maximum number of times the resource is tested before it is declared "Down". |
CI relationships
| CI | Relationship | CI |
|---|---|---|
| Load Balancer Service [cmdb_ci_lb_service] | Runs on::Runs | NSX Load Balancer [cmdb_ci_nsx_lb] |
| Load Balancer Service [cmdb_ci_lb_service] | Uses::Used by | Load Balancer Pool [cmdb_ci_lb_pool] |
| Load Balancer Pool [cmdb_ci_lb_pool] | Hosted on::Hosts | NSX Load Balancer [cmdb_ci_nsx_lb] |
| Load Balancer Pool [cmdb_ci_lb_pool] | Owns::Owned by | Load Balancer Pool Member [cmdb_ci_lb_pool_member] |
| Cloud Load Balancer Health Service [cmdb_ci_lb_health_service] | Hosted on::Hosts | NSX Load Balancer [cmdb_ci_nsx_lb] |
| Cloud Load Balancer Health Service [cmdb_ci_lb_health_service] | Used by::Uses | Load Balancer Pool [cmdb_ci_lb_pool] |
Troubleshooting
| Symptom | Cause | Solution |
|---|---|---|
| Discovery fails. The discovery message contains the information about an error caused by the REST timeout. | There are many CIs sending the REST call response in the deployment. The MID Server cannot process the REST call response without exceeding the time limit controlled by the mid.sa.cloud.request_timeout parameter. | By default, the mid.sa.cloud.request_timeout parameter is set to 30000 milliseconds. Increase the value of this parameter on the relevant MID Server and run discovery again. Note: If the Configuration Parameters related list for the relevant MID Server does not show this parameter, you may need to add it. |
| Pattern Designer fails during a debug session. The Pattern Designer message contains information about an error caused by a timeout. | The Pattern Designer fails because of a timeout during pattern debugging (and not during discovery). | By default, the sa.debugger.max_timeoutparameter is set to 240 seconds. Increase the value of this parameter on the relevant MID Server. |