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
Enable
the 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 Continue
to 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
Finish
to 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 | 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) |
ApplicationName | The name of Application | String |
ActiveTransactionsTotalCount | Total count of active transactions | UInt32 |
ExecuteThreadIdleCount | Count of idle execution threads | UInt32 |
ExecuteThreadTotalCount | Total count of execution threads | UInt32 |
HeapFreeCurrent | Current free heap Memory | Float64 |
HeapFreePercent | Percentage of free heap memory | Float64 |
HeapSizeMax | Maximum heap size | Float64 |
HoggingThreadCount | Count of hogging threads | UInt32 |
TransactionTotalCount | Total count of transactions | UInt32 |
TransactionTotalCount_diff | Total count of transactions | 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 |
StuckThreadCount | Number of threads that are considered "stuck" or not making progress, which may indicate performance issues or deadlocks | UInt32 |
CollectionCount | Total number of garbage collection (GC) events that have occurred. This metric helps assess the frequency of garbage collections. | UInt32 |
CollectionCount_diff | Difference in the number of GC events over a specific period. It helps in understanding changes in GC activity | UInt32 |
CollectionTime | Total time spent performing garbage collections. This metric helps assess the impact of GC on application performance | UInt32 |
CollectionTime_diff | 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) |
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 |
MemoryUsage_HeapMemoryUsage_used | Shows the amount of heap memory currently being used by the application. | 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 |
MemoryUsage_NonHeapMemoryUsage_used | Shows the amount of non-heap memory currently in use by the JVM. | 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 |
ActiveConnectionsCurrentCount | The current number of active connections at the given time. | Float64 |
LeakedConnectionCount | The number of leaked connections (connections that were not properly closed). | 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 |
MessagesPendingCount | The number of messages that are pending and waiting to be processed. | Float64 |
ConsumersCurrentCount | The number of active consumers processing messages at the given time. | 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 |
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 |