Skip to main content
Version: NG-2.14

OHS

Introduction

Oracle HTTP Server (OHS) is a web server software product developed by Oracle Corporation. It is built on the Apache HTTP Server, one of the most widely used and open-source web servers in the world. OHS extends the capabilities of the Apache web server and is designed to work seamlessly with Oracle's other software products, particularly within the Oracle Fusion Middleware stack.

Getting Started

Compatibility

The OHS O11ySource is compatible with all versions greater than 12.2.0.

Data Collection Method

VuNet's vuHealthAgent collects OHS metrics by establishing a connection to the server-status module, while additional metrics pertaining to vhosts are gathered through a connection to the DMS module.

OHS logs are collected by VuNet's vuLogAgent

Prerequisites

Inputs for Configuring Data Source

  • OHS Server: The IP Address/FQDN of the OHS server. This field is the key to identify each server you add here.
  • Period [in seconds]: How frequently data is gathered. period should be between 60 seconds - 3000 seconds.
Add Instances
  • IP Address: IP address on which DMS & Server-status module listens.This is configured in the ohs config file.
  • Instance Name: The name of the OHS instance
  • Server Status Path: Provide the path to server-status page. Eg: /server-status
  • Sever Status Port: Provide the port to access server-status page.
  • Is SSL Enabled for Server status page ?: Select if the SSL enabled or not to access this URL
  • DMS Path: Provide the path to dms page. Eg: /dms/dms.jsp
  • DMS Port: Provide the port to access DMS page.
  • Is SSL Enabled for DMS ?: Select if the SSL enabled or not to access this URL
Logs Collection
Add Logs
  • Access Log Path: Enter the OHS access logfile's entire path.
  • OHS Error Path: Enter the OHS error logfile's entire path.

Firewall Requirement

To collect data from this O11ySource, ensure the following ports are opened:

Source IPDestination IPDestination PortProtocolDirection
IP address of the OHS serverData Collector End Point9092*TCPInbound

*Before providing the firewall requirements, please update the port based on the customer environment.

Configuring the Target

Configure Metrics Collection from OHS Server Enable Server Status Module To enable the server-status module in Oracle HTTP Server (OHS), changes are required to be made in the server configuration file (httpd.conf) or the OHS configuration file specific to your environment. Here are the general steps to enable the server-status module in OHS:

  • Open the Configuration File: Locate and open the configuration file for your OHS installation. This file is often named httpd.conf or ohs.conf and is typically located in the OHS configuration directory.
  • Locate the LoadModule Directive: Search for the LoadModule directives in the configuration file. These directives are used to load modules (including the server-status module) into OHS. Look for a line similar to the following:
LoadModule status_module "${PRODUCT_HOME}/modules/mod_status.so"

If you can't find this line, you may need to add it. Make sure the mod_status.so module file exists in the modules directory of your OHS installation.

  • Configure the server-status Location: You will also need to configure the of the server-status page. Add or modify a directive in your configuration file. Here's an example:
<Location /server-status>


SetHandler server-status


Require ip 127.0.0.1


Require ip 192.168.1.0/24


</Location>

This configuration restricts access to the server-status page to the 127.0.0.1 and network 192.168.1.0/24. Adjust the "Require ip" directive as needed to specify which IP addresses or networks are allowed to access the server-status page.

Locate the ExtendedStatus configuration directive within the configuration file and set it to On. Enabling the ExtendedStatus to On allows for the collection of extended status information.

Enable DMS Module To enable the DMS (Dynamic Monitoring Service) module in Oracle HTTP Server (OHS), configuration changes are required to be made in the OHS configuration file (httpd.conf or admin.conf). Here are the steps to enable the DMS module:

  • Open the Configuration File: Locate and open the OHS configuration file (httpd.conf or admin.conf) in a text editor.
  • Locate the LoadModule Directive: Search for the LoadModule directives in the configuration file. These directives are used to load modules, including the DMS module, into OHS. Look for a line similar to the following:
LoadModule status_module "${PRODUCT_HOME}/modules/mod_dms.so"

If you can't find this line, you may need to add it. Make sure the mod_dms.so module file exists in the modules directory of your OHS installation.

  • Configure the DMS Module: To configure the DMS module, add a block to your configuration file. This block defines where you want to enable DMS functionality. For example:
<Location /dms>


SetHandler dms-handler


Require ip 127.0.0.1


Require ip 192.168.1.0/24


</Location>

This configuration restricts access to the DMS page to the 127.0.0.1 and network 192.168.1.0/24. Adjust the "Require ip" directive as needed to specify which IP addresses or networks are allowed to access the DMS page. Configure Logs Collection from OHS Server The OHS access log offers even more specific information about each client request than the status module does. OHS logs can be customized to include information that is more pertinent to your requirements. We need to enhance the current logging format to include the request duration information. The %D variable precisely measures the time taken to handle each request in microseconds. To integrate %D into the log format used by Oracle HTTP Server (OHS), you should make adjustments to your OHS configuration file. Typically, this file can be found in the httpd.conf or within dedicated configuration files used by OHS.

  • Find your OHS configuration file, commonly named httpd.conf, and open it for editing. Then, search for the LogFormat directive, as this directive is responsible for defining the log format utilized by OHS.
  • Modify the LogFormat directive to include %D. For example:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" combined

In the above example, we added %D to the end of the log format string. Save and Restart After saving the configuration file, proceed to restart your Oracle HTTP Server to ensure the changes take effect. The method for restarting your OHS depends on your specific installation:

  • Using Command Line: You can employ command-line utilities to restart OHS. For instance, you can use commands such as apachectl restart or httpd -k restart based on your OHS installation.
  • Fusion Middleware Control: Alternatively, if you prefer a graphical interface, you can utilize Oracle Fusion Middleware Control to manage your OHS instance. It provides options for starting, stopping, and restarting Oracle HTTP Server with ease.
  • opmnctl Command: The opmnctl command is another option for controlling Oracle Process Manager and Notification Server (OPMN), which manages various components of Oracle Fusion Middleware, including OHS. You can utilize opmnctl to gracefully restart the Oracle HTTP Server component.

Configuration Steps

  • Enable the O11ySource.
  • Select the Sources tab and press the + button to add a new OHS host to be monitored.
  • Set up metrics and log collection configurations. The O11ysource already provides predefined metric collection queries. You have the flexibility to adjust query intervals, modify existing queries, and introduce new queries as needed. Afterwards, select Save and Continue to proceed with downloading the Logbeat agent.
  • The following packages will be available for download based on the OS:vuHealthAgent Fresh Install Dropdown Option - Downloads the full vuHealthAgent package with required configurations for a fresh installationvuHealthbAgent Update Dropdown Option - Downloads the agent configuration package to update an existing vuHealthAgent installationvuLogAgent Fresh Install Dropdown Option - Downloads the full vuLogAgent package with required configurations for a fresh installationvuLogAgent Update Dropdown Option - Downloads the agent configuration package to update an existing vuLogAgent installation
  • Download the agent installation or update package, then click Finish to close the data source window.

Metrics Collected

NameDescriptionData Type
o11ysource_nameThe name of the observability source collecting the data.String
doc_typeThe type or category of the document or log entry.String
ohs_instance_idThe unique identifier for the Oracle HTTP Server (OHS) instance.String
tagsTags associated with the log entry or metric, often used for categorization.String
tenant_idIdentifier for the tenant to which this data belongs.UInt8
collection_moduleThe module responsible for collecting the data.String
hostnameThe hostname of the system generating the data.String
bu_idIdentifier for the business unit associated with the data.UInt8
portThe port on which the Oracle HTTP Server is running.String
instance_nameThe name of the specific Oracle HTTP Server instance.String
hostThe hostname or IP address of the host system.String
@timestampThe timestamp when the event or metric was recorded, typically in ISO 8601 format.String
source_idA unique identifier for the data source.String
typeThe type or category of data being recorded (e.g., metric, log).String
metricset_nameThe name of the metric set being collected.String
metricset_moduleThe module responsible for processing the metric set.String
ohs_statusThe current status of the Oracle HTTP Server instance (e.g., running, stopped).String
ohs_wlsWait_avgThe average wait time for WebLogic Server requests.Float64
ohs_wlsWait_activeThe number of active WebLogic Server wait requests.UInt64
ohs_totalHandled_valueThe total number of requests handled by the Oracle HTTP Server.UInt64
ohs_connection_avgThe average number of connections handled.UInt64
ohs_busyThreads_valueThe number of threads currently busy handling requests.UInt64
ohs_handle_activeThe number of currently active request handlers.UInt64
ohs_totalErrors_valueThe total number of errors encountered by the server.UInt64
ohs_totalDeclines_valueThe total number of requests declined by the server.UInt64
ohs_upTime_valueThe total uptime of the Oracle HTTP Server, typically in seconds.UInt64
ohs_request_avgThe average number of requests processed.UInt64
ohs_numProcesses_valueThe number of processes running in the Oracle HTTP Server instance.UInt64
ohs_instance_name_valueThe name of the Oracle HTTP Server instance as reported.String
ohs_handle_avgThe average number of request handlers.UInt64
ohs_totalRetries_valueThe total number of request retries attempted by the server.UInt64
ohs_numThreads_valueThe total number of threads in use by the server.UInt64
ohs_request_activeThe number of active requests being processed.UInt64
ohs_busyProcesses_valueThe number of processes currently busy handling requests.UInt64
ohs_wlsWait_completedThe total number of completed WebLogic Server wait requests.UInt64
ohs_connection_activeThe number of active connections.UInt64
ohs_totalSuccess_valueThe total number of successfully processed requests.UInt64
targetThe target resource or application associated with the metrics.String
periodThe period of data collection or metric aggregation, usually in seconds.Float64
timestampThe precise timestamp of the metric or event, including milliseconds.DateTime64
o11ysource_nameThe name of the observability source collecting the data.String
doc_typeThe type or category of the document or log entry.String
ohs_instance_idThe unique identifier for the Oracle HTTP Server (OHS) instance.String
tagsTags associated with the log entry or metric, often used for categorization.String
tenant_idIdentifier for the tenant to which this data belongs.UInt8
collection_moduleThe module responsible for collecting the data.String
hostnameThe hostname of the system generating the data.String
bu_idIdentifier for the business unit associated with the data.UInt8
portThe port on which the Oracle HTTP Server is running.String
instance_nameThe name of the specific Oracle HTTP Server instance.String
hostThe hostname or IP address of the host system.String
@timestampThe timestamp when the event or metric was recorded, typically in ISO 8601 format.String
source_idA unique identifier for the data source.String
typeThe type or category of data being recorded (e.g., metric, log).String
metricset_nameThe name of the metric set being collected.String
metricset_moduleThe module responsible for processing the metric set.String
ohs_statusThe current status of the Oracle HTTP Server instance (e.g., running, stopped).String
ohs_load15Server load average over the last 15 minutes.Float64
ohs_total_accessesTotal number of requests processed by the server.UInt64
ohs_uptime_msThe total uptime of the server in milliseconds.UInt64
ohs_total_durationThe total duration (in milliseconds) of all requests processed.UInt64
ohs_idle_workersThe number of idle worker threads.UInt64
ohs_scoreboard_idle_cleanup_of_workerNumber of worker threads in the "idle cleanup" state.UInt64
ohs_scoreboard_loggingNumber of worker threads actively logging.UInt64
ohs_scoreboard_open_slotsNumber of available worker slots.UInt64
ohs_scoreboard_reading_requestNumber of worker threads currently reading client requests.UInt64
ohs_scoreboard_starting_upNumber of worker threads starting up.UInt64
ohs_scoreboard_closing_connectionNumber of worker threads closing connections.UInt64
ohs_scoreboard_sending_replyNumber of worker threads sending responses to clients.UInt64
ohs_scoreboard_dns_lookupNumber of worker threads performing DNS lookups.UInt64
ohs_scoreboard_gracefully_finishingNumber of worker threads gracefully finishing requests.UInt64
ohs_scoreboard_waiting_for_connectionNumber of worker threads waiting for new connections.UInt64
ohs_scoreboard_keepaliveNumber of worker threads in a keep-alive state.UInt64
ohs_requests_per_secondThe average number of requests handled per second.Float64
ohs_duration_per_requestThe average duration (in milliseconds) of requests.Float64
ohs_bytes_per_secondThe average number of bytes sent per second.Float64
ohs_restart_timeThe timestamp of the last server restart.String
ohs_total_bytesThe total number of bytes sent by the server.Float64
ohs_load1Server load average over the last 1 minute.Float64
ohs_load5Server load average over the last 5 minutes.Float64
ohs_cpu_load_pctThe CPU load percentage utilized by the server.Float64
ohs_cpu_children_userCPU usage by child processes in user mode.Float64
ohs_cpu_children_systemCPU usage by child processes in system mode.Float64
ohs_cpu_userCPU usage by the server in user mode.Float64
ohs_cpu_systemCPU usage by the server in system mode.Float64
ohs_bytes_per_requestThe average number of bytes sent per request.Float64
ohs_busy_workersThe number of worker threads actively processing requests.UInt64
ohs_total_bytes_diffThe difference in total bytes sent since the last measurement.UInt64
ohs_total_bytes_rateThe rate of bytes sent per second.Float64
ohs_total_accesses_diffThe difference in total accesses since the last measurement.UInt64
ohs_total_accesses_rateThe rate of accesses per second.Float64
targetThe target resource or application associated with the metrics.String
periodThe period of data collection or metric aggregation, usually in seconds.Float64
timestampThe precise timestamp of the metric or event, including milliseconds.DateTime64
o11ysource_nameThe name of the observability source collecting the data.String
doc_typeThe type or category of the document or log entry.String
ohs_instance_idThe unique identifier for the Oracle HTTP Server (OHS) instance.String
tagsTags associated with the log entry or metric, often used for categorization.String
tenant_idIdentifier for the tenant to which this data belongs.UInt8
collection_moduleThe module responsible for collecting the data.String
hostnameThe hostname of the system generating the data.String
bu_idIdentifier for the business unit associated with the data.UInt8
portThe port on which the Oracle HTTP Server is running.String
instance_nameThe name of the specific Oracle HTTP Server instance.String
hostThe hostname or IP address of the host system.String
@timestampThe timestamp when the event or metric was recorded, typically in ISO 8601 format.String
source_idA unique identifier for the data source.String
typeThe type or category of data being recorded (e.g., metric, log).String
metricset_nameThe name of the metric set being collected.String
metricset_moduleThe module responsible for processing the metric set.String
ohs_vhost_requests_activeThe number of active requests currently being processed by the virtual host.UInt64
ohs_vhost_requests_avgThe average number of requests handled by the virtual host.Float64
ohs_vhost_typeThe type of virtual host (e.g., HTTP, HTTPS).String
ohs_vhost_nameThe name of the virtual host.String
ohs_vhost_requests_completedThe total number of requests completed by the virtual host.UInt64
ohs_vhost_requests_avg_diffThe difference in the average number of requests handled by the virtual host since the last measurement.Int64
ohs_vhost_requests_avg_rateThe rate of change in the average number of requests handled by the virtual host.Float64
ohs_vhost_requests_completed_diffThe difference in the total number of requests completed by the virtual host since the last measurement.UInt64
ohs_vhost_requests_completed_rateThe rate at which requests are being completed by the virtual host.Float64
targetThe target resource or application associated with the metrics.String
uuidA unique identifier for the specific data record.String
periodThe period of data collection or metric aggregation, usually in seconds.Float64
timestampThe precise timestamp of the metric or event, including milliseconds.DateTime64
instance_nameName of the specific instance where the event or metric is generated.String
fileName of the file associated with the data or log entry.String
o11ysource_nameThe name of the observability source collecting the data.String
hostThe hostname or IP address of the system generating the data.String
source_idA unique identifier for the data source.String
typeThe type or category of data being recorded (e.g., log, metric).String
targetThe target resource or application associated with the data.String
ohs_access_user_nameThe username associated with the access request.String
ohs_access_methodThe HTTP method used for the request (e.g., GET, POST).String
messageThe message content of the log entry.String
ohs_access_tatTotal access time (TAT) in seconds for the request.Float64
ohs_access_response_codeHTTP response code returned for the request (e.g., 200, 404).UInt16
ohs_access_timeThe timestamp of the access request in a human-readable format.String
ohs_access_http_versionThe HTTP protocol version used for the request (e.g., HTTP/1.1).String
ohs_access_session_idThe session ID associated with the request.String
ohs_access_body_sent_bytesThe size of the response body sent, in bytes.UInt32
ohs_access_remote_ipThe IP address of the client making the request.String
ohs_access_urlThe URL accessed by the client.String
http_codeThe HTTP response code returned for the request (duplicate of ohs_access_response_code).UInt16
@timestampThe timestamp when the event or metric was recorded, typically in ISO 8601 format.String
ResponseThe response content or status associated with the request.String
geo_country_nameThe country name determined from the client’s IP address.String
geo_timezoneThe timezone associated with the client’s geographical location.String
scaled_ueiScaled value of the Unique Event Identifier (UEI), used for event correlation or categorization.Float32
timestampThe precise timestamp of the event or metric, including milliseconds.DateTime64
instance_nameName of the specific instance where the error was generated.String
fileName of the file associated with the error log entry.String
o11ysource_nameName of the observability source collecting the error data.String
hostThe hostname or IP address of the system generating the error log.String
source_idUnique identifier for the source of the data.String
typeThe type or category of log being recorded (e.g., error, warning).String
targetTarget resource or application associated with the error.String
ohs_error_codeError code identifying the specific error encountered.String
ohs_error_host_addrThe host address where the error originated.String
ohs_error_componentThe component or module of the system where the error occurred.String
messageDetailed message or description of the error.String
ohs_error_host_idHost ID of the system where the error was generated.String
ohs_error_messageError message providing detailed information about the issue.String
ohs_error_loglevelThe log level of the error (e.g., INFO, WARN, ERROR).String
ohs_error_timeThe timestamp of when the error occurred, with millisecond precision.DateTime64
ohs_error_tidThread ID associated with the error.String
ohs_error_moduleThe specific module in the application where the error occurred.String
ohs_error_userUsername associated with the session or request when the error occurred.String
ohs_error_virtual_hostThe virtual host configuration under which the error occurred.String
ohs_error_pidProcess ID of the application or process encountering the error.String
timestampPrecise timestamp of the error log, including milliseconds.DateTime64
@timestampHuman-readable ISO 8601 formatted timestamp when the error was recorded.String
ohs_error_client_ipIP address of the client involved in the request that triggered the error.String