VMware NSX Advanced load balancer discovery

  • Release version: Xanadu
  • Updated August 1, 2024
  • 4 minutes to read
  • Summarize
    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 VMware NSX Advanced Load Balancer Discovery

    ServiceNow Discovery uses the VMware NSX Advanced Load Balancer discovery pattern to identify VMware NSX load balancers in your environment. This pattern leverages REST APIs and is triggered by the NSX HTTP classifier responding to HTTP-Classify probes. There are two patterns: one for NSX S series (legacy) and a new one for NSX-T series, with equivalent functionality and data collected. Discovering NSX load balancers helps populate your CMDB with detailed configuration items (CIs) and their relationships.

    Show full answer Show less

    Prerequisites and Configuration

    • Enable NSX Basic Authentication: This must be configured in VMware NSX to allow secure API access.
    • Update Applications: Ensure Discovery and Service Mapping Patterns applications are current to support the latest features.
    • Configure Credentials: Set up basic authentication credentials in ServiceNow with specific API permissions for NSX and NSX-T endpoints.
    • Discovery Triggers: HTTP discovery is triggered only if SSH or SNMP discovery fails, targeting the NSX Main Controller IP.
    • Discovery Scheduling: Create a schedule or run quick discoveries on the NSX Main Controller IP to initiate load balancer discovery.

    Data Collected and CMDB Impact

    The discovery populates key CI classes in the CMDB with essential details about the NSX load balancers and their components, including:

    • NSX Load Balancer [cmdbcinsxlb]: Edge name, object ID, IP address, operational status.
    • Load Balancer Service [cmdbcilbservice]: Virtual server details such as name, IP, port, and listener protocol.
    • Load Balancer Pool [cmdbcilbpool]: Pool name and object ID.
    • Load Balancer Pool Member [cmdbcilbpoolmember]: Member name, IP address, object ID, and service port.
    • Cloud Load Balancer Health Service [cmdbcilbhealthservice]: Monitor configuration details including name, timeout, interval, protocol, request path, and retry count.

    The discovery creates relationships among these CIs, illustrating how services run on load balancers, pools host members, and health services monitor pools. These relationships enhance visibility and dependency mapping in your CMDB.

    Troubleshooting

    • REST Timeout Errors: If discovery fails due to REST call timeouts, increase the mid.sa.cloud.requesttimeout parameter on the MID Server. The default is 30000 milliseconds.
    • Pattern Debugging Timeouts: For Pattern Designer timeouts during debugging, increase the sa.debugger.maxtimeout parameter on the relevant MID Server. The default is 240 seconds.

    If these parameters do not appear in the MID Server configuration, you may need to add them manually.

    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.

    The pattern uses a set of REST APIs to find the load balancers. It is triggered by the NSX HTTP classifier that responds to the HTTP - Classify probe. For more information, see HTTP device discovery.
    Note:
    There are two patterns available. The legacy VMware NSX Load Balancer pattern is for the S series. The new VMware NSX-T Load Balancer pattern is for the T series. The functionality and collected information remain the same.

    Request apps on the Store

    Visit the ServiceNow Store website 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
    For more information about basic authentication credentials, see Basic authentication credentials.
    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.

    Table 1. NSX Load Balancer [cmdb_ci_nsx_lb]
    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.
    Table 2. Load Balancer Service [cmdb_ci_lb_service]
    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.
    Table 3. Load Balancer Pool [cmdb_ci_lb_pool]
    Field Description
    Name [name] Pool name.
    Object ID [object_id] Pool object ID.
    Table 4. Load Balancer Pool Member [cmdb_ci_lb_pool_member]
    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.
    Table 5. Cloud Load Balancer Health Service [cmdb_ci_lb_health_service]
    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".
    The Dependency Views map shows all discovered load balancer CIs and the relationships between them.
    CIs and connections on a Dependency Views map

    CI relationships

    Discovery creates these relationships to support the VMware NSX load balancer discovery.
    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

    If the mapping process does not proceed as you expected, follow the following suggestions.
    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.