Weblogic
Introduction
WebLogic is a powerful Java application server used to build and deploy enterprise applications. It offers scalability, high availability, and security for your applications, making it ideal for mission-critical deployments.
Getting Started
Compatibility
The WebLogic O11ySource supports versions 12c and later.
Data Collection Method
vuSmartMaps collects Weblogic health and performance metrics using OmniAgent’s JVM probe, and ingests logs via OmniAgent’s log collection probes.
Prerequisites
Dependent Configuration
To configure this O11ySource, create a 'credential' of type 'user' under the 'Definition' tab.
Inputs for Configuring Data Source
- WebLogic Server: The IP Address/FQDN of the WebLogic 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.
- Port: Provide the port details
- Credentials: This is optional
- Access Log Path: Enter the Weblogic access logfile's entire path
- Admin Log Path: Enter the Weblogic admin logfile's entire path.
Applications
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 the WebLogic server | vuSmartMaps Collection/Ingress node IP | 443* | TCP | Inbound |
*Before providing the firewall requirements, please update the port based on the customer environment.
Configuring the Target
Configure Logs Collection from Weblogic Server The Weblogic access log offer even more specific information about each client request, errors, and Weblogic-specific operations. Turnaround Time (TAT) is NOT included by default in WebLogic access logs.Enabling Turnaround Time (TAT) is essential for effective WebLogic log monitoring.The %D variable precisely measures the time taken to handle each request in microseconds. To integrate %D into the log format used by Weblogic, you should make adjustments to your Weblogic configuration file.
- Find your Weblogic configuration file, commonly named config.xml, and open it for editing. Then, search for the access-log section inside the server configuration, as this directive is responsible for defining the log format utilized by Weblogic.
- Modify the pattern to include %D. For example:
<pattern="%h %l %u %t "%r" %s %b %D" />
In the above example, we added %D to the end of the log format string.
Configuration Steps
Metrics Collected
| Name | Description | Data Type |
|---|---|---|
| Timestamp | Timestamp of the event | String |
| Timestamp | The precise timestamp when the data was recorded, including milliseconds. | DateTime64 |
| Target | IP Address of the Weblogic Server | String |
| Host | IP Address of the Weblogic Server | String |
| Tenant ID | Identifier for the specific tenant or customer in a multi-tenant environment. | LowCardinality(String) |
| Bu ID | Identifier for the business unit. | LowCardinality(String) |
| Type | Specifies the category or kind of entity or metric being referred to. | String |
| Uptime | The total time that a server, application, or system has been operational and running without interruption | Float64 |
| Status | The current operational state or condition of a server, application, or component | LowCardinality(String) |
| Error Message | A description of an error or issue encountered by the system or application | String |
| Server Health | A metric indicating the overall health and operational status of a server | LowCardinality(String) |
| Servername | It is used to uniquely identify a specific Admin Server or Managed Server | String |
| Vublock Name | The name of a specific Virtual User Block or resource in a system. | LowCardinality(String) |
| Topic Name | The name of a specific topic within a messaging system or publish/subscribe model. | LowCardinality(String) |
| Application Name | The name of Application | String |
| Active Transactions Total Count | Total count of active transactions | UInt32 |
| Execute Thread Idle Count | Count of idle execution threads | UInt32 |
| Execute Thread Total Count | Total count of execution threads | UInt32 |
| Heap Free Current | Current free heap Memory | Float64 |
| Heap Free Percent | Percentage of free heap memory | Float64 |
| Heapsizemax | Maximum heap size | Float64 |
| Hogging Thread Count | Count of hogging threads | UInt32 |
| Transaction Total Count | Total count of transactions | UInt32 |
| Transaction Total Count Change | Total count of transactions | UInt32 |
| Transaction Abandoned Total Count | Number of transactions that have been abandoned | UInt32 |
| Transaction Abandoned Total Count Change | Number of transactions that have been abandoned | UInt32 |
| Transaction Committed Total Count | The total number of transactions that have been successfully committed. | UInt32 |
| Transaction Committed Total Count Change | The total number of transactions that have been successfully committed. | UInt32 |
| Transaction Rolled Back Total Count | The total number of transactions that have been rolled back. | Float64 |
| Transaction Rolled Back Total Count Change | The total number of transactions that have been rolled back. | UInt32 |
| Memory Pool Name | Refers to the name of a memory pool in the JVM (Java Virtual Machine) heap. | String |
| Starttime | Refers to the timestamp when a particular server instance, application, or resource was started | String |
| Endtime | Refers to the timestamp when a particular server instance, application, or resource was stopped or shut down | String |
| Name | Name of the Application | String |
| Duration | Duration of the Application | Float64 |
| Memory After GC Max | Refers to the maximum amount of memory available in the JVM heap after a garbage collection (GC) event | Float64 |
| Memory After GC Committed | Represents the amount of memory that is committed and available immediately after a garbage collection (GC) event. | Float64 |
| Memory After GC Init | Refers to the initial amount of memory available immediately after a garbage collection (GC) event | Float64 |
| Memory After GC Used | Indicates the amount of memory that is being used by the JVM immediately after a garbage collection (GC) event. | Float64 |
| Memory Before GC Init | The state of memory just before GC is performed. | Float64 |
| Memory Before GC Committed | Indicates the memory that is allocated and reserved for application use just prior to GC. | Float64 |
| Memory Before GC Max | The highest level of memory that was available for use just prior to GC. | Float64 |
| Memory Before GC Used | The amount of memory that was in use by the JVM immediately before a garbage collection (GC) event. | Float64 |
| Memory Code Heap Non Methods Memory After GC Committed | The amount of committed memory allocated for the non-nmethods code heap (such as JIT compiler code) immediately after a garbage collection (GC) event. | Float64 |
| Memory Compressed Class Space Memory Before GC Used | The amount of memory used in the compressed class space just before a garbage collection (GC) event | Float64 |
| Memory Metaspace Memory Before GC Used | Represents the amount of memory used in the Metaspace (which stores class metadata) immediately before a garbage collection (GC) event. | Float64 |
| Memory Ps Eden Space Memory Before GC Used | Amount of memory used in the Eden Space of the JVM heap immediately before a garbage collection (GC) event | Float64 |
| Memory Ps Survivor Space Memory Before GC Used | Amount of memory used in the Survivor Space of the JVM heap before a GC event. | Float64 |
| Memory Compressed Class Space Memory After GC Used | Amount of memory used in the Compressed Class Space immediately after a GC event. | Float64 |
| Memory Code Cache Memory After GC Used | Amount of memory used in the Code Cache (for JIT-compiled code) immediately after a GC event. | Float64 |
| Memory Ps Eden Space Memory After GC Used | Amount of memory used in the Eden Space immediately after a GC event. | Float64 |
| Memory Ps Old Gen Memory Before GC Used | Amount of memory used in the Old Generation of the JVM heap immediately before a GC event. | Float64 |
| Memory Ps Survivor Space Memory After GC Used | Amount of memory used in the Survivor Space immediately after a GC event. | Float64 |
| Memory Ps Old Gen Memory After GC Used | Amount of memory used in the Old Generation immediately after a GC event. | Float64 |
| Memory Metaspace Memory After GC Used | Amount of memory used in the Metaspace (for class metadata) immediately after a GC event. | Float64 |
| Throughput | Percentage of time the JVM spends doing application work versus time spent performing garbage collection | Float64 |
| Stuck Thread Count | Number of threads that are considered "stuck" or not making progress, which may indicate performance issues or deadlocks | UInt32 |
| Collection Count | Total number of garbage collection (GC) events that have occurred. This metric helps assess the frequency of garbage collections. | UInt32 |
| Collection Count Change | Difference in the number of GC events over a specific period. It helps in understanding changes in GC activity | UInt32 |
| Collection Time | Total time spent performing garbage collections. This metric helps assess the impact of GC on application performance | UInt32 |
| Collection Time Change | Difference in the total time spent on GC between two time points. It indicates changes in garbage collection time | UInt32 |
| JMS Health | Indicates the health status of the Java Message Service (JMS) subsystem | LowCardinality(String) |
| JTA Health | Represents the health status of the Java Transaction API (JTA) subsystem. | LowCardinality(String) |
| App Health | Health status of the application | LowCardinality(String) |
| Memory Usage Heap Memory Usage Committed | Represents the amount of heap memory that the JVM has committed and is available for use by the application. | Float64 |
| Memory Usage Heap Memory Usage Init | Indicates the initial amount of heap memory allocated by the JVM when it starts. | Float64 |
| Memory Usage Heap Memory Usage Max | Represents the maximum amount of heap memory that the JVM is allowed to use. | Float64 |
| Memory Usage Heap Memory Usage Used | Shows the amount of heap memory currently being used by the application. | Float64 |
| Memory Usage Non Heap Memory Usage Committed | Represents the amount of non-heap memory committed by the JVM and available for use. | Float64 |
| Memory Usage Non Heap Memory Usage Init | Indicates the initial amount of non-heap memory allocated by the JVM when it starts. | Float64 |
| Memory Usage Non Heap Memory Usage Max | Represents the maximum amount of non-heap memory that the JVM is allowed to use | Float64 |
| Memory Usage Non Heap Memory Usage Used | Shows the amount of non-heap memory currently in use by the JVM. | Float64 |
| Application IP | The IP address of the application making the connection. | String |
| Listen Address | The network address where the server is listening for connections. | String |
| Connection Delay Time | The time delay (in milliseconds) before a connection is established. | Float64 |
| State | The current state of the connection or resource (e.g., Active, Idle, Failed). | String |
| Activeconnectionshighcount | The highest number of active connections recorded at any point. | Float64 |
| Activeconnectionscurrentcount | The current number of active connections at the given time. | Float64 |
| Leaked Connection Count | The number of leaked connections (connections that were not properly closed). | Float64 |
| Curr Capacity High Count | The maximum capacity utilization recorded for a resource. | Float64 |
| Curr Capacity | The current capacity utilization of the resource. | Float64 |
| Messages Received Count | The total number of messages received by the system. | Float64 |
| Messages High Count | The highest number of messages received in a given time period. | Float64 |
| Messages Current Count | The number of messages currently being processed. | Float64 |
| Messages Pending Count | The number of messages that are pending and waiting to be processed. | Float64 |
| Consumers Current Count | The number of active consumers processing messages at the given time. | Float64 |
| Consumers High Count | The highest number of consumers recorded during operation. | Float64 |
| Destination Type | The type of destination the message is being sent to (e.g., Queue, Topic). | String |
| Timestamp | The raw timestamp of the log entry as a string. | String |
| Type | The type/category of the log entry. | String |
| Vublock Name | The name of the vublock associated with the log. | String |
| Topic Name | The topic under which the log is categorized. | String |
| Host | The hostname or server where the log originated. | LowCardinality(String) |
| Target | The target resource being accessed or affected. | LowCardinality(String) |
| Request | The HTTP request URL or action. | String |
| Referrer | The referrer URL, indicating the source of the request. | String |
| Status Code | The HTTP status code returned by the server (e.g., 200, 404). | UInt64 |
| HTTP Code | An additional HTTP-related code (may be identical to status_code). | UInt64 |
| Response | The response message or body returned by the server. | String |
| Method | The HTTP method used in the request (e.g., GET, POST). | String |
| HTTP Version | The HTTP version used (e.g., 1.1, 2.0). | String |
| Client IP | The IP address of the client making the request. | String |
| Response Size | The size of the response data sent to the client. | UInt64 |
| User Agent | The user agent string from the client's request header. | String |
| Timestamp | The timestamp of the log entry with millisecond precision. | DateTime64(3) |
| Severity | The severity level of the log message (e.g., 16 for Warning). | UInt64 |
| Milliseconds | The exact milliseconds portion of the log timestamp. | Float64 |
| Unique ID | A unique identifier for tracking log entries. | String |
| Year | The year when the log entry was recorded. | Float64 |
| Timezone | The timezone of the log event (e.g., GMT). | String |
| Thread | The name or identifier of the thread that generated the log. | String |
| Month | The month when the log entry was recorded (e.g., Mar). | String |
| Ampm | Indicates whether the log timestamp is in AM or PM. | String |
| Log Code | A specific log identifier or error code (e.g., BEA-000365). | String |
| Loglevel | The severity level in text format (e.g., Info, Warning). | String |
| Time | The time of the log entry without the date component. | String |
| Category | The category or module related to the log entry (e.g., Security). | String |
| Day | The day of the month when the log was recorded. | UInt64 |
| Message | The detailed log message content. | String |
| TAT Microseconds | Turn Around Time | Float64 |
| Listenport | refers to the TCP port number on which a server instance listens for incoming client requests | UInt64 |
| Open Socket Count | refers to the number of open network socket connections currently handled by the server. | UInt64 |
| Application Port | defines the primary network port used by WebLogic Server to accept application traffic. | UInt64 |
| Current Request | The request that the thread is currently processing | String |
| Work Manager Name | Specifies the WebLogic Work Manager responsible for managing and scheduling the request execution. | String |
| User | Identifies the authenticated WebLogic user associated with the request or operation. | String |
| Service Request Total Count | Shows the cumulative number of service requests processed by the WebLogic service since startup or over the monitored period. | UInt64 |
| Modulename | Name of the EAR, WAR, or EJB module this WorkManager is associated with. | String |
| Healthstate | Overall health state of the WorkManager (OK, WARN, CRITICAL). | LowCardinality(String) |
| Pendingrequests | Number of requests currently waiting in the WorkManager queue. | UInt32 |
| Completedrequests | Total number of requests processed by the WorkManager since startup. | UInt64 |
| Max Threads Constraint | Maximum number of concurrent threads allowed for this WorkManager. | UInt32 |
| Max Threads Constraint Executing Requests | Number of requests currently executing under the MaxThreadsConstraint. | UInt32 |
| Max Threads Constraint Deferred Requests | Number of requests deferred due to the MaxThreadsConstraint limit being reached. | UInt32 |
| Min Threads Constraint | Minimum number of threads guaranteed to be allocated to this WorkManager. | UInt32 |
| Min Threads Constraint Completedrequests | Total number of requests completed under the MinThreadsConstraint. | UInt64 |
| Min Threads Constraint Current Wait Time | Current wait time in milliseconds for threads under the MinThreadsConstraint. | UInt64 |
| Min Threads Constraint Must Run Count | Number of threads that must run immediately as required by the MinThreadsConstraint. | UInt32 |
| Request Class Type | Type of request class assigned to this WorkManager (FairShare, ResponseTime, or Context). | LowCardinality(String) |
| Request Class Completed Count | Total number of requests completed under the associated RequestClass. | UInt64 |
| Request Class Pending Request Count | Number of requests currently pending in the associated RequestClass. | UInt32 |
| Request Class Totalthreaduse | Total accumulated thread usage by the associated RequestClass. | UInt64 |
| Request Class Virtual Time Increment | Virtual time increment applied by the RequestClass scheduler for fair-share prioritization. | UInt64 |
| Out Of Order Execution Count | Number of times requests were executed out of the expected order by the WorkManager. | UInt64 |
