HAProxy load balancer discovery using probes

  • Release version: Zurich
  • Updated July 31, 2025
  • 2 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 HAProxy load balancer discovery using probes

    This process enables ServiceNow customers to discover HAProxy Community Edition load balancers using SSH-based probes. HAProxy is an open-source load balancer optimized for HTTP load balancing with session persistence and Layer 7 processing. Discovery focuses on HTTP load balancing; TCP load balancing is not supported. From Discovery and Service Mapping Patterns version 1.15.0 onward, pattern-based discovery is the default, but probe-based discovery can still be enabled as needed.

    Show full answer Show less

    Key Requirements

    • HAProxy must be installed and running on a Linux server.
    • A ServiceNow MID Server must be deployed with access to the HAProxy server and its configuration file.
    • The discovery process locates the haproxy.cfg file either via the process output parameter or the default path /etc/haproxy/haproxy.cfg.
    • Discovery probes require valid credentials with privileges to execute commands on the target server.

    How Discovery Works

    • The Unix Active Processes probe looks for the HAProxy process named haproxy.
    • Upon identification, a record is created in the HAProxy Load Balancers [cmdbcilbhaproxy] table if it does not already exist.
    • Subsequent probes collect detailed information:
    Probe Description Commands Used
    HAProxy – Version Populates the HAProxy version in the HAProxy Load Balancers table. haproxy
    HAProxy – Get Configuration Populates additional HAProxy load balancer details and related CI tables:
    • Load Balancer Service
    • Load Balancer Pool
    • Load Balancer Pool Member
    • Load Balancer Interface
    • Load Balancer Application
    Also creates relationships among these CI records.
    echo, sed, cut, grep, egrep (via Borne shell script)

    Key Outcomes

    • Accurate identification and recording of HAProxy load balancers in the ServiceNow CMDB.
    • Detailed configuration data is captured and distributed across relevant CI tables, enabling comprehensive visibility into load balancer services, pools, members, interfaces, and applications.
    • Relationships among the discovered CIs are established to reflect real-world dependencies and associations, improving CMDB integrity and service mapping accuracy.

    Discovery of HAProxy Community edition load balancers is performed by SSH.

    Note:
    Starting with Discovery and Service Mapping Patterns 1.15.0 version, pattern-based discovery is the default method for discovering HAProxy load balancers.

    HAProxy is an open-source load balancer that can manage any TCP service. It is particularly suited for HTTP load balancing because it supports session persistence and Layer 7 processing. Discovery supports HAProxy for HTTP load balancing. TCP load-balancing is not supported.

    Consider the following requirements for discovering the HAProxy:
    • The HAProxy software is installed and running on a Linux server.
    • The MID Server is deployed to explore the server and the MID Server has access to the server HAProxy configuration file.
    • The configuration probe checks for the haproxy.cfg file using one of the following methods:
      • Using the f parameter for the HAProxy process output.
      • Using the default /etc/haproxy/haproxy.cfg path.
    • The HAProxy probes require credentials and execute privileges to run commands.

    Discovery uses the Unix - Active Processes probe to identify an HAProxy load balancer when the name of the process is haproxy. If this criterion matches, a record is created in the HAProxy Load Balancers [cmdb_ci_lb_haproxy] table if one does not already exist for that running process.

    The following probes are triggered after classification:
    Table 1. HAProxy probes
    Probe Description Commands
    HAProxy – Version The sensor of this probe populates the HAProxy version in the HAProxy Load Balancers [cmdb_ci_lb_haproxy] table. haproxy
    HAProxy – Get Configuration The sensor of this probe populates additional information in the HAProxy Load Balancers [cmdb_ci_lb_haproxy] table. The probe also populates information in the Load Balancer Service [cmdb_ci_lb_service], Load Balancer Pool [cmdb_ci_lb_pool], Load Balancer Pool Member [cmdb_ci_lb_pool_member], Load Balancer Interface [cmdb_ci_lb_interface], and Load Balancer Application [cmdb_ci_lb_appl] tables. echo, sed, cut, grep, egrep (within the Borne shell script)

    In addition to populating the data, the following relationships records are created in CI Relationships [cmdb_rel_ci] table:

    • 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 records.
    • The records in the cmdb_ci_pool_member table are members of the cmdb_ci_pool table records.