|
WebNMS JBoss MIB is a MIB defined by WebNMS for monitoring and managing the JBoss server. The JBoss MBeans that are considered useful to monitor and manage the server by the J2EE users are identified and implemented in this MIB. These MBeans are not exposed in the J2EE MIB. This MIB is present under <SNMP Adaptor Home>/mibs as WebNMS-JBoss-MIB. It can be used for an effective performance and fault management.
The following are the monitoring parameters of WebNMS JBoss MIB:
The memory and the CPU usage of JBoss.
The log file, server.log.
Apart from the above mentioned parameters, notifications are also defined for fault management. The various objects of WebNMS JBoss MIB are discussed in the following paragraphs.
The memory and the CPU usage are exposed in the MIB via the jbossPerformance scalar group. The scalar objects in this group are defined as follows:
jbosspid: The native process ID of the JBoss application server.
jbosscpu: The number of centi-seconds of the total system's CPU resources consumed by this process.
jbossmem: The total amount of real system memory allocated to this process in KiloBytes.
The jbossPerformance scalar group will not be exposed for those systems with Windows as OS. This is due to the fact that Windows cannot identify the JBoss server process when many JVMs run on that machine. In such cases, you can use the process table explained below.
A table group called processTable is a (conceptual) table of software processes running on the host. JBoss is also one of the processes running on the host. This table can be exposed only if the OS SNMP agent is active and if Host-Resources-MIB is implemented. The following are the objects exposed in this table:
processID: A unique value for each piece of software running on the host. This would be the system's native, unique identification number.
processName: A textual description of this running piece of software.
processCPU: The number of centi-seconds of the total system's CPU resources consumed by this process.
processMemory: The total amount of real system memory allocated to this process.
processPath: A description of the location on long-term storage (e.g., a disk drive) from which this software was loaded.
processParameters: The parameters passed with the process.
To configure the processDetails group, obtained from the OS SNMP agent running in the host machine, you can edit the proxy settings stored in a file named jbosssnmp.prp. This file is present in the conf directory inside <SNMP Adaptor Home>/jbosssnmp/WebNMSJBossSNMPAgent.war. The following are the details of the agent contained in the property file (jbosssnmp.prp):
osagent.host: The host of the SNMP agent. The default host specified is 127.0.0.1.
osagent.port: The port at which the SNMP agent is running. The default port is 161.
osagent.version: The SNMP version of the agent. SNMP v1 is the default version.
osagent.community: The read community of the agent which is by default specified as public.
osagent.timeout: The timeout for the proxy in milliseconds. The default value is 2000.
osagent.heartbeatrate: The HeartBeat rate, in milliseconds, to check if the sub-agent is alive. HeartBeat would be disabled if the value is -1. The default value given is 60000.
The information logged into the server.log file in JBoss are implemented in the MIB as serverLogTable. The following are the objects exposed in this table:
sequenceNumber: A unique value for each entry in the log file.
date: The date when the entry is logged in the log file.
timestamp: The time at which the entry is logged in the log file.
severity: The severity of the message being logged. It can hold values, such as TRACE, DEBUG, INFO, WARN, ERROR and FATAL
className: The name of the class from which the entry is logged.
message: The actual message that is being logged in the log file.
The properties to monitor the server.log file in jboss are also stored in jbosssnmp.prp present in the conf directory inside <SNMP Adaptor Home>/jbosssnmp/WebNMSJBossSNMPAgent.war. The following are the properties of server.log file present in jbosssnmp.prp:
serverlog.path: This specifies the path to the server.log file to be monitored. The default path specified is ../server/default/log/server.log. If you have this file in a different location, then edit this PRP file and change the default path to the current path.
serverlog.pollingperiod: This specifies the polling interval of the log file in milliseconds. The default value specified is 10000. You can also change this value as per your requirement.
serverlog.volatilityperiod: The volatility period in milliseconds. This specifies the period of holding each entry of the log file in the memory. The default value specified is 1800000. If you want to change this value, you can edit this PRP file and enter the new value.
For monitoring and managing the faults in the JBoss server, WebNMS has defined certain default notifications using rules. The rules defined for the notifications are bundled as WebNMS-JBoss-MIB.rule under the rules directory inside <SNMP Adaptor Home>/jbosssnmp/WebNMSJBossSNMPAgent.war. The following are the notifications defined in this MIB:
defaultNotification: Used to send the notifications whose trap types are not defined
serverLogNotification: Used to send notifications when critical messages are being logged by the JBoss Application Server (For messages logged with a severity "WARN").
memoryNotification: Used to send notifications when the memory consumption of the JBoss Application Server is high (For memory consumption over 75000 KB).
You can also define your own new rules or modify the existing rules for emitting notifications using the Rule Editor tool provided.
|