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 is compatible with all versions equal to or greater than 12c.
Data Collection Method
vuSmartMaps collects health and performance data for WebLogic server using VuNet's vuAppAgent. This agent collects data based on the source configuration.
Weblogic Logs are collected by using Logbeat
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.
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 Data Collector End Point | 9092* | 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
Enablethe Weblogic O11ySource.- Select the Sources tab and press the
+button to add a new Tomcat host to be monitored. - Set up metrics and log collection configurations. Afterwards, select
Save and Continueto proceed with downloading the agents. - The following packages will be available for download based on the OS:Vuappagent Install Binary - Downloads the full vuAppAgent package with required configurations for a fresh installationVuappagent config update Install Binary - Downloads the agent configuration package to update an existing vuAppAgent installationLogbeat Install Binary - Downloads the full Logbeat package with required configurations for a fresh installationLogbeat config update Install Binary - Downloads the agent configuration package to update an existing Logbeat installation
- Download the agent installation or update package, then click
Finishto close the data source window.
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) |
| ErrorMessage | A description of an error or issue encountered by the system or application | String |
| Server Health | Overall server health status. | 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) |
| ApplicationName | The name of Application | String |
| ActiveTransactionsTotalCount | Total count of active transactions | UInt32 |
| Idle Threads | Number of idle execution threads. | UInt32 |
| Exec Threads | Total execution threads available. | UInt32 |
| Heap Free | Current free heap memory. | Float64 |
| Heap Free % | Percentage of free heap memory. | Float64 |
| Heap Max | Maximum heap memory available. | Float64 |
| Hogging Threads | Number of hogging threads. | UInt32 |
| Total Requests | Total requests processed. | UInt32 |
| Request Rate | Number of requests processed per interval. | UInt32 |
| TranscationAbandonedTotalCount | Number of transactions that have been abandoned | UInt32 |
| TranscationAbandonedTotalCount_diff | Number of transactions that have been abandoned | UInt32 |
| TranscationCommittedTotalCount | The total number of transactions that have been successfully committed. | UInt32 |
| TranscationCommittedTotalCount_diff | The total number of transactions that have been successfully committed. | UInt32 |
| TranscationRolledBackTotalCount | The total number of transactions that have been rolled back. | Float64 |
| TranscationRolledBackTotalCount_diff | The total number of transactions that have been rolled back. | UInt32 |
| memoryPoolName | 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 |
| MemoryAfterGc_max | Refers to the maximum amount of memory available in the JVM heap after a garbage collection (GC) event | Float64 |
| MemoryAfterGc_committed | Represents the amount of memory that is committed and available immediately after a garbage collection (GC) event. | Float64 |
| MemoryAfterGc_init | Refers to the initial amount of memory available immediately after a garbage collection (GC) event | Float64 |
| MemoryAfterGc_used | Indicates the amount of memory that is being used by the JVM immediately after a garbage collection (GC) event. | Float64 |
| MemoryBeforeGc_init | The state of memory just before GC is performed. | Float64 |
| MemoryBeforeGc_committed | Indicates the memory that is allocated and reserved for application use just prior to GC. | Float64 |
| MemoryBeforeGc_max | The highest level of memory that was available for use just prior to GC. | Float64 |
| MemoryBeforeGc_used | The amount of memory that was in use by the JVM immediately before a garbage collection (GC) event. | Float64 |
| Memory_CodeHeap_non_nmethods_MemoryAfterGc_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_MemoryBeforeGc_used | The amount of memory used in the compressed class space just before a garbage collection (GC) event | Float64 |
| Memory_Metaspace_MemoryBeforeGc_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_MemoryBeforeGc_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_MemoryBeforeGc_used | Amount of memory used in the Survivor Space of the JVM heap before a GC event. | Float64 |
| Memory_Compressed_Class_Space_MemoryAfterGc_used | Amount of memory used in the Compressed Class Space immediately after a GC event. | Float64 |
| Memory_Code_Cache_MemoryAfterGc_used | Amount of memory used in the Code Cache (for JIT-compiled code) immediately after a GC event. | Float64 |
| Memory_PS_Eden_Space_MemoryAfterGc_used | Amount of memory used in the Eden Space immediately after a GC event. | Float64 |
| Memory_PS_Old_Gen_MemoryBeforeGc_used | Amount of memory used in the Old Generation of the JVM heap immediately before a GC event. | Float64 |
| Memory_PS_Survivor_Space_MemoryAfterGc_used | Amount of memory used in the Survivor Space immediately after a GC event. | Float64 |
| Memory_PS_Old_Gen_MemoryAfterGc_used | Amount of memory used in the Old Generation immediately after a GC event. | Float64 |
| Memory_Metaspace_MemoryAfterGc_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 Threads | Number of stuck threads. | UInt32 |
| CollectionCount | Total number of garbage collection (GC) events that have occurred. This metric helps assess the frequency of garbage collections. | UInt32 |
| GC Count Delta | Change in GC event count per interval. | UInt32 |
| CollectionTime | Total time spent performing garbage collections. This metric helps assess the impact of GC on application performance | UInt32 |
| GC Time Delta | Change in garbage collection time per interval. | UInt32 |
| JMS Health | Health status of JMS subsystem. | LowCardinality(String) |
| JTA Health | Health status of JTA subsystem. | LowCardinality(String) |
| App Health | Overall application health status. | LowCardinality(String) |
| MemoryUsage_HeapMemoryUsage_committed | Represents the amount of heap memory that the JVM has committed and is available for use by the application. | Float64 |
| MemoryUsage_HeapMemoryUsage_init | Indicates the initial amount of heap memory allocated by the JVM when it starts. | Float64 |
| MemoryUsage_HeapMemoryUsage_max | Represents the maximum amount of heap memory that the JVM is allowed to use. | Float64 |
| Heap Used | Heap memory currently in use. | Float64 |
| MemoryUsage_NonHeapMemoryUsage_committed | Represents the amount of non-heap memory committed by the JVM and available for use. | Float64 |
| MemoryUsage_NonHeapMemoryUsage_init | Indicates the initial amount of non-heap memory allocated by the JVM when it starts. | Float64 |
| MemoryUsage_NonHeapMemoryUsage_max | Represents the maximum amount of non-heap memory that the JVM is allowed to use | Float64 |
| Non-Heap Used | Non-heap memory currently in use. | Float64 |
| applicationIP | The IP address of the application making the connection. | String |
| listenAddress | The network address where the server is listening for connections. | String |
| ConnectionDelayTime | 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 |
| Active Connections | Current active connections. | Float64 |
| Leaked Connections | Connections not closed properly. | Float64 |
| CurrCapacityHighCount | The maximum capacity utilization recorded for a resource. | Float64 |
| CurrCapacity | The current capacity utilization of the resource. | Float64 |
| MessagesReceivedCount | The total number of messages received by the system. | Float64 |
| MessagesHighCount | The highest number of messages received in a given time period. | Float64 |
| MessagesCurrentCount | The number of messages currently being processed. | Float64 |
| Pending Messages | Messages waiting to be processed. | Float64 |
| Active Consumers | Current active message consumers. | Float64 |
| ConsumersHighCount | The highest number of consumers recorded during operation. | Float64 |
| DestinationType | 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 |
| HTTP Status | HTTP response status code for error tracking. | 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 |
| Response Time | Request processing time. | Float64 |
| listenPort | refers to the TCP port number on which a server instance listens for incoming client requests | UInt64 |
| Open Sockets | Current open socket connections. | UInt64 |
| applicationport | defines the primary network port used by WebLogic Server to accept application traffic. | UInt64 |
| CurrentRequest | The request that the thread is currently processing | String |
| WorkManagerName | 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 Requests | Total service requests handled. | UInt64 |
