JMX Sensor

Roadmap JMX-Sensor

Description of functionality and features of a JMX-Sensor within inspectIT.

Milestones

#ObjectiveDescriptionTimeframeStatus
1Confluence
  • Creation of a Confluence-Page describing the functionality and features of the JMX-Sensor
  • Developing UI-Sketches as a base for further feature-planning
  • Defining the data a user has to provide

2 Weeks

(tick)
2Data-ClassesDevelopment of Data-Classes  required to save JMX-Data
  • JmxSensorDefinitionData
  • JmxSensorValueData
  • Class to save ObjectNames of all available MBeans??
3 Weeks(tick)
3Configuration Storage
  • Saving data defined via user-input to the ConfigurationStorage
    • Reading the ConfigurationFile
    • Accepting regular expressions to define multiple MBeans and Attributes?
  • Developing test to verfiy the functionality of the code
3 Weeks(tick)
4Registration (Agent)
  • Registration of the available data on the Agent only
  • Finalize Agent
  • Writing Tests for the Agent to verify its functionality
4-5 Weeks(tick)
5Registration (CMR)
  • Completing the registration of JMXSensors and its data on the CMR
  • Creating the databasemodel for JMX-Data on the CMR
  • Verifiying the functionality via tests
5 Weeks(tick)
6Client (Data)
  • Seize JMX-Data on the client
  • Testing the integrity of the seized data
3 Weeks(tick)
7Client (User Interface)
  • Development of the UI
  • UI-Sketches as base of development
5 Weeks

(tick)

8Client (User Interface)Display Data of specified Attributes of MBeans3 Weeks(tick)
9Client (User Interface)Display history of specified Attributes of MBeans2 Weeks(minus)

 

Legend:

ItemDescription
(tick)Finished task
(warning)Work in progress
(minus)Outstanding task

 

 

Definition of MBeans/Attributes

Definition in Configuration File

## jmx-sensor-type <sensor-name> <fully-qualified-name>

#################################

#jmx-sensor-type jmx-sensor1 info.novatec.inspectit.agent.sensor.jmx.JmxSensor

 

## JMX

######

## jmx-sensor <jmx-sensor-name> mbeanname=<mbean-name> attributename=<attribute-name>

#####################################################################

## jmx-sensor jmx-sensor1 mbeanname=Catalina:type=Server attributename=port

 

Server Parameters within eclipse

Run-configs to include the inspectIT Agent in a Tomcat within eclipse:

 

Program Arguments:

start

 

VM-Arguments for Tomcat 7.0:

-javaagent:[Path to Agent]\inspectit-agent.jar -Dinspectit.config=[Path to config-file]\config\

-Dcatalina.base="[Path to catalina-Base]" -Dcatalina.home="[Path to Tomcat]\Tomcat" -Dwtp.deploy="[Path to deploy folder]\wtpwebapps" -Djava.endorsed.dirs="[Path to endorsed folder]\Tomcat\endorsed"

 

UI-Sketches

General view

Expanded view on a specified MBean

 

 

Detail view on a specified attribute of a MBean

Current Developing State of the JMX-Sensor

Regarding Code:

  • Agent completely finished
    • Data of MBeans completely captured
    • Regular expressions work for ObjectNames
      • only if start of RegEx is defined (e.g.: "Catalina*"  is working, " * " only won't work)
    • Regular Expressions for Attributes won't work in the current version (changes in JmxSensor-class required to search for RegEx of Attribute-Names as they are passed directly)
  • CMR finished
    • Data stored in H2-Database
    • Access to data is implemented
  • UI partially finished
    • Display of most recent value of attributes of MBeans is done
    • no further data is displayed but may be acquired from the CMR

Regarding Server:

Tests were run on a Tomcat 7.0. Other java-based application servers should work without any problems as no specific libraries, communication protocols or else were used. But no tests were done on application servers beside Tomcat 7.0.