IBM HTTP Server
Introduction
IBM HTTP Server (IHS) is a robust and secure web server based on Apache HTTP Server, with enhancements and extensions from IBM. It is designed to handle high-volume, high-availability web transactions.
Getting Started
Compatibility
The IBM HTTP Server (IHS) O11ySource is compatible with all versions equal to or greater than 2.2.31 and 2.4.16.
Data Collection Method
vuSmartMaps collects health and performance data for IHS server using VuNet's Healthbeat agent. This agent collects data based on the source configuration. Logbeat agent is used to collect IHS Logs.
Prerequisites
Inputs for Configuring Data Source
- IHS Server: The IP Address/FQDN of the IHS server. This field is the key to identify each server you add here.
- Period [in seconds]: How frequently data is gathered. The period should be between 60 seconds – 3000 seconds.
- URL: The server URL to IHS server-status page. Eg: http://127.0.0.1, https://127.0.0.1, http://127.0.0.1:8080 or https://127.0.0.1:8080
- Access Log Path: Enter the IHS access logfile's entire path
- Error Log Path: Enter the IHS error logfile's entire path.
Firewall Requirement
To collect data from this O11ySource, ensure the following ports are opened:
Source IP | Destination IP | Destination Port | Protocol | Direction |
---|---|---|---|---|
IP Address of IHS Server | vuSmartMaps Data Collector End Point | 9092* | TCP | Inbound |
*Before providing the firewall requirements, please update the port based on the customer environment.
Configuring the Target
IHS metrics are collected by VuNet's Healthbeat agent by connecting to the server-status module. The IHS web server includes the server status to allow web browsers to query the status of the server. IHS logs can be customized to include information that is more pertinent to your requirements. IHS logs are collected by VuNet's Logbeat agent. Both agents should be running in the IHS server.
Configuration Steps
- Enable the IHS O11ySource.
- Select the Sources tab and press the
+
button to add a new IHS host to be monitored. - Set up metrics and log collection configurations. Afterwards, select
Save and Continue
to proceed with downloading the Healthbeat and Logbeat agents. - The following packages will be available for download based on the OS:
Download <OS> Healthbeat Installation Binary - Downloads the full Healthbeat package with required configurations for a fresh installationDownload <OS> Healthbeat Update Configuration Binary - Downloads the agent configuration package to update an existing Healthbeat installationDownload <OS> Logbeat Installation Binary - Downloads the full Logbeat package with required configurations for a fresh installationDownload <OS> Logbeat Update Configuration Binary - Downloads the agent configuration package to update an existing Logbeat installation
- Download the agent installation or update package, then click Finish to close the data source window.
Metrics Collected
Name | Description | Data Type |
---|---|---|
@timestamp | The original string timestamp from the source log. | String |
timestamp | The timestamp for the data point with high precision (64-bit). | DateTime64 |
target | The target for the metrics, typically identifying the specific system or service being monitored. | String |
host | Hostname of the server where the metrics were collected. | String |
tenant_id | Tenant identifier for multi-tenant environments. | LowCardinality(String) |
bu_id | Business Unit identifier for organizational grouping. | LowCardinality(String) |
Type | Type of service being monitored (e.g., Apache, Nginx, etc.). | String |
Uptime | Time in seconds that the server or service has been running since the last restart. | Float64 |
Status | Current status of the server or service (e.g., "Running", "Stopped"). | LowCardinality(String) |
service_type | The type of service provided (e.g., HTTP, HTTPS). | String |
source_id | Unique identifier for the source from which the metrics are collected. | String |
service_address | The address of the service (e.g., IP address or URL). | String |
vublock_name | Block name or virtual unit block within a larger system. | String |
metricset_name | The name of the specific metric set (group of related metrics). | String |
type | Type of data point being recorded (e.g., gauge, counter). | String |
period | Time period for which the metrics are being collected (in seconds). | Float64 |
topic_name | Name of the topic related to the metric, such as a specific service or function. | LowCardinality(String) |
requests_per_sec | Number of HTTP requests per second. | Float64 |
hostname | The hostname of the server where Apache is running. | String |
uptime_uptime | The uptime of the current Apache process in seconds. | Float64 |
uptime_server_uptime | Total uptime of the Apache server since the last restart. | Float64 |
cpu_load | The current CPU load (the average amount of work the CPU has to do). | Float64 |
cpu_user | The percentage of CPU time spent in user space. | Float64 |
cpu_system | The percentage of CPU time spent in kernel space. | Float64 |
cpu_children_user | CPU time spent by child processes in user mode. | Float64 |
cpu_children_system | CPU time spent by child processes in kernel mode. | Float64 |
cpu_system_diff | Difference in system CPU usage between the last two metric collections. | Float64 |
cpu_system_rate | Rate of system CPU usage. | Float64 |
cpu_user_diff | Difference in user CPU usage between the last two metric collections. | Float64 |
cpu_user_rate | Rate of user CPU usage. | Float64 |
scoreboard_waiting_for_connection | Number of workers waiting for a connection. | UInt64 |
scoreboard_reading_request | Number of workers reading requests. | UInt64 |
scoreboard_dns_lookup | Number of workers performing DNS lookups. | UInt64 |
scoreboard_closing_connection | Number of workers closing connections. | UInt64 |
scoreboard_gracefully_finishing | Number of workers gracefully finishing connections. | UInt64 |
scoreboard_idle_cleanup | Number of workers cleaning up idle connections. | UInt64 |
scoreboard_keepalive | Number of workers handling keep-alive connections. | UInt64 |
scoreboard_total | Total number of scoreboard slots used. | UInt64 |
scoreboard_logging | Number of workers writing log entries. | UInt64 |
scoreboard_open_slot | Number of open slots in the scoreboard. | UInt64 |
scoreboard_starting_up | Number of workers in the process of starting up. | UInt64 |
scoreboard_sending_reply | Number of workers sending replies to clients. | UInt64 |
load_15 | System load average over the last 15 minutes. | Float64 |
load_1 | System load average over the last 1 minute. | Float64 |
load_5 | System load average over the last 5 minutes. | Float64 |
bytes_per_sec | The number of bytes served per second. | Float64 |
connections_total | Total number of connections handled. | Float64 |
connections_async_writing | Number of asynchronous writing connections. | Float64 |
connections_async_keep_alive | Number of asynchronous keep-alive connections. | Float64 |
connections_async_closing | Number of asynchronous closing connections. | Float64 |
workers_busy | Number of busy workers at the time of data collection. | Float64 |
workers_idle | Number of idle workers at the time of data collection. | Float64 |
total_accesses | Total number of accesses (requests) made to the server. | Float64 |
bytes_per_request | Average number of bytes per request. | Float64 |
total_kbytes | Total number of kilobytes served. | Float64 |
total_accesses_diff | Difference in the number of total accesses since the last metric collection. | UInt32 |
total_kbytes_diff | Difference in total kilobytes served since the last metric collection. | UInt64 |
total_kbytes_rate | Rate at which kilobytes are being served. | Float64 |
total_cpu | Total CPU time used by the server. | Float64 |
total_cpu_pct | Percentage of total CPU utilization. | Float64 |
busy_workers_pct | Percentage of workers that are busy. | Float64 |
idle_workers_pct | Percentage of workers that are idle. | Float64 |
timestamp | The timestamp when the event was logged, accurate to the microsecond level. | DateTime64 |
host | The name or IP address of the host where the log was generated. | String |
target | The target system, service, or process associated with the log entry. | String |
topic_name | The name of the topic, possibly referring to a logging topic or category. | String |
vublock_name | Virtual unit block name, representing a logical or virtual part of the system (if applicable). | String |
doc_type | The type of document or record being logged (e.g., error log, transaction log, etc.). | String |
type | General log type (e.g., request, response, error). | String |
source_id | Unique identifier for the source generating the log entry. | String |
message | The log message itself, containing details of the event or transaction. | String |
log_offset | The offset position within the log file where this entry is located. | Float64 |
log_file_path | The file path to the log file where this entry is stored | String |
Type | Type of request being logged (similar to type, used in some contexts for HTTP or API request types). | String |
request | The HTTP or API request details (URL, parameters, etc.). | String |
response_code | The response code returned by the server (custom codes for application-level responses). | UInt16 |
http-code | Standard HTTP response code (e.g., 200 for OK, 404 for not found). | UInt16 |
request_time | Time taken to process the request, in milliseconds. | UInt32 |
extra_info | Additional information about the request or log entry. | String |
method | The HTTP method used (GET, POST, PUT, DELETE, etc.). | String |
ms | Milliseconds taken for the entire request-response process (possibly a duplicate of request_time). | String |
client_ip | The IP address of the client that made the request. | String |
bytes_sent | Total number of bytes sent in the response. | String |
response | The actual response body returned by the server. | String |
geo_timezone | Timezone of the client or user making the request (derived from geolocation). | String |
geo_city_name | City name of the client or user making the request (based on IP geolocation). | String |
geo_country_name | Country name of the client or user making the request (based on IP geolocation). | String |
message_id | A unique identifier for the message or log entry. | String |
tid | Thread ID of the process that generated the log entry. | String |
pid | Process ID of the process that generated the log entry. | String |
input_type | Input type of ihs logs | String |