HAProxy load balancer discovery using probes
Summarize
Summary of HAProxy load balancer discovery using probes
ServiceNow enables discovery of 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. However, only HTTP load balancing is supported during discovery; TCP load balancing is not.
Show less
Starting with Discovery and Service Mapping Patterns version 1.15.0, pattern-based discovery is the default approach. Probe-based discovery remains available and can be enabled as needed. This method requires the HAProxy software to be installed and running on a Linux server accessible to a MID Server with proper credentials and execution privileges.
Key Features
- Process Identification: Uses the Unix - Active Processes probe to detect running HAProxy processes by name (“haproxy”).
- Configuration File Detection: The configuration probe locates the
haproxy.cfgfile either through the process output parameter or the default path/etc/haproxy/haproxy.cfg. - Probes Executed After Classification:
- HAProxy – Version Probe: Retrieves and records the HAProxy version in the HAProxy Load Balancers table.
- HAProxy – Get Configuration Probe: Gathers detailed configuration data, populating multiple CMDB tables related to load balancer services, pools, pool members, interfaces, and applications.
- Relationship Mapping: The discovery process creates CI relationship records linking HAProxy components to web servers, services, pools, and members to accurately represent the load balancer architecture within the CMDB.
What Customers Can Expect
By enabling HAProxy load balancer discovery with probes, customers can automatically identify HAProxy instances running on Linux servers, extract their version and configuration details, and map their relationships within the ServiceNow CMDB. This enhances visibility into load balancing infrastructure, supports accurate service mapping, and improves configuration management.
Customers should ensure the MID Server has SSH access and appropriate permissions to execute commands and read configuration files on the HAProxy servers. Additionally, they can choose between pattern-based discovery or probe-based discovery methods, with pattern-based being the default from version 1.15.0 onward.
Discovery of HAProxy Community edition load balancers is performed by SSH.
- For information about enabling probe-based discovery, see Enable HAProxy load balancer discovery with probes.
- For information about the HA Proxy pattern, see HAProxy load balancer discovery with patterns.
- For information about Probe to Pattern migration see the knowledge article KB0694477.
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.
- 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.
| 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.