Apache web server discovery
Discovery identifies and classifies information about Apache web servers on both Windows and Linux computers.
Note: For information on Probe to Pattern migration see the knowledge article KB0694477.
Credentials
For a list of privileged commands that you need for Discovery and Service Mapping, see Service Mapping commands requiring a privileged user. This list includes commands that require elevated rights to discover and map Unix-based hosts in your organization.
Classifier, patterns, and probes
| Classifier | Trigger probes | Patterns |
|---|---|---|
| Apache Server | - Horizontal discovery probe: Launches patterns - Apache - Version\* - Apache - Get Configuration\* - Apache - Get JK ModuleApache - Get Proxy Module\* | - Apache On Windows Pattern - Apache On Unix Pattern |
*For new instances, these probes are inactive on the classifier. Discovery uses patterns for discovery.
To use patterns, verify that the correct pattern is specified in the horizontal pattern probe on the classifier. See Add the Horizontal Pattern probe to a classifier for instructions.
Data collected using probes
Discovery collects the following data on the Apache [cmdb_ci_apache_web_server] table for both Unix and Windows:
| Label | Field name |
|---|---|
| Name | name |
| Version | version |
| Description | description |
| TCP port(s) | tcp_port |
Connections found by Service Mapping during top-down discovery
Service Mapping uses discovery patterns to discover the following connections:
- Any application using java
- Any application using the LDAP port
- Oracle WebLogic Module Oracle, and WebLogic Server (version 10.3)
- (On Windows only) Jiva applications
- (On Windows only) Tomcat server
- (On UNIX only) Applications discovered using the mod_jk process
- (On UNIX only) Hosts to which the Apache web server is connecting in the load balancing mode
- (On UNIX only) Epic application
Parent Topic:Software discovery
Apache mod_jk and mod_proxy discovery
Discovery uses SSH to find Apache connectors mod_jk and mod_proxy.
Discovery uses the Unix - Active Processes probe to identify an Apache web server process by matching one of the following criteria: the name of the process is:
- httpd, or
- apache, or
- httpd2, or
- httpd2-prefork
- httpd.worker
If there is a match on one of these criteria, a record is created in the Web Server [cmdb_ci_web_server] table if one does not already exist for that running process.
The following probes are triggered after classification:
| Probe | Description | Commands |
|---|---|---|
| Apache – Version | The sensor of this probe populates the Apache version information in the Web Server record. | httpd |
| Apache – Get Configuration | This probe contains a Bourne shell script and an argument that determines the path of the Apache configuration file. The sensor of this probe populates some additional information in the Web Server record. | echo, sed, httpd, cut, grep, egrep (within the Borne shell script) |
The sensor processing of the Apache – Get Configuration probe identifies whether either the mod_jk or mod_proxy modules are present and triggers the appropriate probe.
| Probe | Description | Commands |
|---|---|---|
| Apache – Get JK Module | If the mod_jk module is running as a load balancer on the server, the sensor of this probe populates the information in the Load Balancer Service [cmdb_ci_lb_service], Load Balancer Pool [cmdb_ci_lb_pool] and Load Balancer Pool Member [cmdb_ci_lb_pool_member] tables. | echo, sed, httpd, cut, grep, egrep (within the Borne shell script) |
| Apache – Get Proxy Module | If the mod_proxy module is running as a load balancer on the server, the sensor of this probe populates the information in the Load Balancer Service [cmdb_ci_lb_service], Load Balancer Pool [cmdb_ci_lb_pool] and Load Balancer Pool Member [cmdb_ci_lb_pool_member] tables. | grep, egrep (within the Borne shell script) |
In addition to data population, the following relationships are created in the CI Relationship [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_lb_pool table are used by the cmdb_ci_service table record.
- The records in the cmdb_ci_lb_pool table are members of the cmdb_ci_lb_pool_member table.
- The records in the cmdb_ci_lb_pool_member table are members of the cmdb_ci_lb_pool table.
Legacy: Add sudo access for the Unix - Active Processes probe
For an Apache web server the Unix - Active Processes probe requires sudo privileges.
Before you begin
Role required: admin
About this task
You can configure the Unix - Active Processes probe to elevate privileges.
Procedure
Navigate to All > Discovery > Probes.
In the Search field, search for Unix - Active Processes.
Click field, search for Unix - Active Processes probe.
In the Probe Parameters related list, clickNew.
Click New
Use the following information to fill out the form:
Probe Commands Name must_sudo Value true Click Submit
Data collected by Mod_jk module
The Apache mod_jk module forwards requests from the Apache web server to a Servlet container, such as Tomcat.
Additional mod_jk directives can also manage load balancing. Discovery populates the CMDB when it detects an Apache Server. When the Apache Web Server process is detected, if the mod_jk module is running on the web server as a load balancer, the related information populates to the CMDB.
- The MID Server user account to explore the target server must have access to the httpd.conf configuration file in the /etc/httpd/conf/ folder.
- Discovery uses secure shell (SSH) commands to identify the following associated elements:
- Apache Get Configuration
- Apache Version
- Apache Get JK Module
The following probes require execute privileges to run commands:
Probe Command Apache – Get Configuration echo, sed, httpd, cut, grep, egrep (within the Borne shell script) Apache – Version httpd Apache – Get JK Module echo, sed, httpd, cut, grep, egrep (within the Borne shell script)
Probes and sensors
Discovery uses the Unix - Active Processes probe to identify an Apache server that contains the mod_jk module:
- The Unix - Active Processes probe detects a running process that matches one of the following criteria:
- The name of the process is httpd.
- The name of the process is apache.
- If there is a match on one of these criteria, a record is created in the Web Server table [cmdb_ci_web_server] if one does not already exist for that running process. The following probes are also triggered:
- Apache – Version: the sensor of this probe populates the Apache version information in the Web Server record.
- Apache – Get Configuration: this probe contains a Bourne shell script and an argument that determines the path of the Apache configuration file. The sensor of this probe populates some additional information in the Web Server record.
The sensor processing of Apache – Get configuration probe results triggers the following probes if the mod_jk module is running on the web server:
Apache – JK Module: if the mod_jk module is running as a load balancer on the server, the sensor of this probe populates the information in the Load Balancer Service [cmdb_ci_lb_service], Load Balancer Pool [cmdb_ci_lb_pool] and Load Balancer Pool Member [cmdb_ci_lb_pool_member] tables.
Data Collected
For the mod_jk module with no load balancer, the following data is collected by default:
| Table Name | Field and Label Name | Probe |
|---|---|---|
| cmdb_ci_web_server | Name [name] | Apache – Get Configuration |
| cmdb_ci_web_server | Version [version] | Apache – Version |
| cmdb_ci_web_server | Description [short_description] | Apache – Version |
If the mod_jk module is enabled for load balancing, Discovery connects the following data:
| Table Name | Field and Label Name | Probe |
|---|---|---|
| cmdb_ci_lb_appl | Name [name] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_appl | IP Address [ip_address] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_appl | Last Discovered [last_discovered] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool_member | Name [name] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool_member | Last Discovered [last_discovered] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool_member | IP Address [ip_address] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool_member | Load Balancer [load_balancer] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool_member | Port [port] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_service | Input URL [Input_url] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_service | Last Discovered [last_discovered] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_service | IP Address [ip_address] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_service | Name [name] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_service | Load Balancer [load_balancer] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_service | Port [port] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool | Last Discovered [last_discovered] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool | Load balancing Method [load_balancing_method] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool | Load Balancer [load_balancer] | Apache – Apache - Get JK Module |
| cmdb_ci_lb_pool | Name [name] | Apache – Apache - Get JK Module |
Relationships
In addition to data population, the following relationships are created in the CI Relationship [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_lb_pool table are used by the cmdb_ci_service table record.
- The records in the cmdb_ci_lb_pool table are members of the cmdb_ci_lb_pool_member table.
- The records in the cmdb_ci_lb_pool_member table are members of the cmdb_ci_lb_ pool table.
Data collected by Mod_proxy module
The Apache mod_proxy module implements a proxy, gateway, or cache for the Apache web server.
An additional mod_proxy_balancer can also manage load balancing. Discovery populates the CMDB when it detects an Apache server. When the Apache Web Server process is detected, if the mod_proxy module is running on the web server as a load balancer the related information populates to the CMDB.
Consider the following requirements for discovering an Apache server that contains the mod_proxy module:
- The MID Server user account to explore the target server must have access to the [httpd.conf] configuration file in the /etc/httpd/conf/ folder.
- Discovery uses secure shell (SSH) commands to identify the following associated elements:
- Apache Get Configuration
- Apache Version
- Apache Get Proxy Module
The following probes require execute privileges to run commands:
Probe Commands Apache – Get Configuration echo, sed, httpd, cut, grep, egrep (within the Borne shell script) Apache – Get Proxy Module grep, egrep (within the Borne shell script) Apache – Version httpd
Probes and sensors
Discovery uses the Unix - Active Processes probe to identify an Apache server that contains the mod_proxy module. The probes and sensors operate in the following manner:
- The Unix - Active Processes probe detects a running process that matches one of the following criteria:
- The name of the process is httpd.
- The name of the process is apache2.
- If there is a match on one of these criteria, a record is created in the Web Server table [cmdb_ci_web_server] if one does not already exist for that running process. The following probes are also triggered:
- Apache – Version: the sensor of this probe populates the Apache version information in the Web server [cmdb_ci_web_server] record.
- Apache – Get Configuration: this probe contains a Bourne shell script and an argument that determines the path of the Apache configuration file. The sensor of this probe populates some additional information in the Web server [cmdb_ci_web_server] record.
The sensor processing of the Apache – Get configuration probe results triggers the following probes if the mod_proxy module is running on the web server:
Apache - Get Proxy Module: if the mod_proxy module is running as a load balancer on the server, the sensor of this probe populates the information in the Load Balancer Service [cmdb_ci_lb_service], Load Balancer Pool [cmdb_ci_lb_pool] and Load Balancer Pool Member [cmdb_ci_lb_pool_member] tables.
Data Collected
For the mod_proxy module with no load balancer, the following data is collected by default:
| Table Name | Field and Label Name | Probe |
|---|---|---|
| cmdb_ci_web_server | Name [name] | Apache – Get Configuration |
| cmdb_ci_web_server | Version [version] | Apache – Version |
| cmdb_ci_web_server | Description [short_description] | Apache – Version |
If the mod_proxy module is enabled for load balancing, Discovery connects the following data:
| Table Name | Field and Label Name | Probe |
|---|---|---|
| cmdb_ci_lb_appl | IP Address [ip_address] | Apache - Get Proxy Module |
| cmdb_ci_lb_appl | Last Discovered [last_discovered] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool_member | Name [name] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool_member | Last Discovered [last_discovered] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool_member | IP Address [ip_address] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool_member | Load Balancer [load_balancer] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool_member | Port [port] | Apache - Get Proxy Module |
| cmdb_ci_lb_service | Input URL [Input_url] | Apache - Get Proxy Module |
| cmdb_ci_lb_service | Last Discovered [last_discovered] | Apache - Get Proxy Module |
| cmdb_ci_lb_service | IP Address [ip_address] | Apache - Get Proxy Module |
| cmdb_ci_lb_service | Name [name] | Apache - Get Proxy Module |
| cmdb_ci_lb_service | Load Balancer [load_balancer] | Apache - Get Proxy Module |
| cmdb_ci_lb_service | Port [port] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool | Last Discovered [last_discovered] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool | Load balancing Method [load_balancing_method] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool | Load Balancer [load_balancer] | Apache - Get Proxy Module |
| cmdb_ci_lb_pool | Name [name] | Apache - Get Proxy Module |
Relationships
In addition to data population, the following relationships are created in the CI Relationship [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_lb_pool table are used by the cmdb_ci_service table records.
- The records in the cmdb_ci_lb_pool are members of the cmdb_ci_lb_pool_member table records.
- The records in the cmdb_ci_lb_pool_member is a member of the cmdb_ci_lb_pool table records.