HAProxy load balancer discovery with patterns
Summarize
Summary of HAProxy Load Balancer Discovery with Patterns
The HAProxy load balancer discovery functionality within the ServiceNow Discovery and Service Mapping Patterns application enables the identification of HAProxy Community load balancers on Linux servers. This feature relies on pattern-based discovery, which became the default method starting from version 1.15.0 of the application. Note that while HTTP load balancing is supported, TCP load balancing is not.
Show less
Key Features
- Load Balancer Discovery: Discovers HAProxy load balancers and their respective configurations.
- One-to-One Relationship Mapping: Maps relationships between front-end and back-end ports, prioritizing the lowest front-end port in case of multiple connections.
- CMDB Population: Automatically populates relevant data into the Configuration Management Database (CMDB) during discovery.
Prerequisites
- Ensure the Discovery and Service Mapping Patterns application is up to date.
- Verify HAProxy is installed and running on the Linux server.
- Confirm permissions to run the HAProxy command and access the configuration file.
- Create SSH credentials for the discovery process.
- Schedule a horizontal discovery for comprehensive data collection.
Key Outcomes
Upon successful discovery, users can expect the following data to be collected and organized in the CMDB:
- Load Balancer Information: Name, version, and description of the HAProxy load balancer.
- Load Balancer Service Details: Service name, listening port, IP address, and highest port number used.
- Load Balancer Pool Data: Pool name, associated load balancer, load balancing method, and install status.
- Pool Member Information: Name, service port, IP address, and associated pool.
This structured data allows for better visibility and management of load balancer resources within the IT environment.
The Discovery and Service Mapping Patterns application uses the HA Proxy pattern to find HAProxy Community load balancers running on a Linux server. Discovering some of these resources requires updating the Discovery and Service Mapping Patterns application from the ServiceNow Store.
HAProxy Community edition is an open-source load balancer that can run in either TCP or HTTP mode. Note that although Discovery supports HAProxy for HTTP load balancing, TCP load balancing isn’t supported.
Starting with Discovery and Service Mapping Patterns 1.15.0 version, pattern-based discovery is the default method for discovering HAProxy load balancers. For information on probe-based HAProxy discovery, see HAProxy load balancer discovery with probes.
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.
To learn about HAProxy load balancers and their versions that you can discover, refer to Detailed information on products discovered by ITOM Visibility.
Prerequisites
- Verify that the applications are up to date
-
- Discovery and Service Mapping Patterns
- Visibility Content
- Verify HAProxy is installed on the Linux server
- Verify the HAProxy software is installed and running on a Linux server.
- Verify permission to run HAProxy command
- Verify you have permission to run the following command: <HAproxy Installation Path>/haproxy -v.
- Verify read access to HAProxy configuration file
- Verify you have read access to the haproxy.cfg file.
- Create SSH credentials
- For more information, see SSH credentials.
- Schedule a horizontal discovery
- For more information, see Schedule a horizontal discovery.
Data collected by Discovery during horizontal discovery
Discovery populates the data in the CMDB when running the HA Proxy Pattern.
| Field | Description |
|---|---|
| Name [name] | Name of the HAProxy load balancer. |
| Version [version] | Version of the HAProxy load balancer. |
| Description [short_description] | Description of the HAProxy process, which is obtained by running the command: haproxy -version. |
| Field | Description |
|---|---|
| Name [name] | Name of the load balancer in the following format: <LB name>:<LB port>. |
| Port [port] | Port on which the load balancer is listening. |
| IP Address [ip_address] | IP address of the load balancer service. |
| Last port [last_port] | Highest port number used by the load balancer service. |
| Field | Description |
|---|---|
| Name [name] | Name of the load balancer pool. |
| Load balancer [load_balancer] | HAProxy containing the load balancer pool. |
| Load balancing method [load_balancing_method] | Method used to load balance the pool, for example: Round Robin. |
| Most recent discovery [last_discovered] | Timestamp of the most recent discovery. |
| Install Status [install_status] | Install status of the load balancer pool, for example: Installed. |
| Field | Description |
|---|---|
| Name [name] | Name of the load balancer pool member. |
| Service port [service_port] | Port used by the pool member. |
| IP Address [ip_address] | IP address of the pool member host. |
| Pool [pool] | Load balancer pool containing the pool member. |
CI relationships
Discovery creates these relationships to support the HAProxy load balancer discovery.
| CI | Relationship | CI |
|---|---|---|
| Load Balancer Pool [cmdb_ci_lb_pool] | References | HAProxy Load Balancer [cmdb_ci_lb_haproxy] |
| Load Balancer Pool Member [cmdb_ci_lb_pool_member] | References | HAProxy Load Balancer [cmdb_ci_lb_haproxy] |
| Load Balancer Service [cmdb_ci_lb_service] | References | HAProxy Load Balancer [cmdb_ci_lb_haproxy] |
| Load Balancer Pool [cmdb_ci_lb_pool] | Allocated to::Allocated from | Load Balancer Service [cmdb_ci_lb_service] |
| Load Balancer Pool [cmdb_ci_lb_pool] | Owns::Owned by | Load Balancer Pool Member [cmdb_ci_lb_pool_member] |
| Load Balancer Pool [cmdb_ci_lb_pool] | References | Load Balancer Pool Member [cmdb_ci_lb_pool_member] |
| Load Balancer Service [cmdb_ci_lb_service] | Runs on::Runs | Hardware [cmdb_ci_hardware] |