Use the Java Management Extension (JMX) to manage and monitor Java based applications. AppMon supports JMX, which provides an interface for integration with third-party applications. Through this interface, you can:
- Retrieve server statistics such as events, PurePaths, and defined profiles.
- Execute base server operations such as starting and stopping the server, dumping memory sessions, and performing Hot Sensor Placement. See Command Line Tool for further information.
- Retrieve data about JVM health: class loading, garbage collection, memory, and other data.
- View the collection of defined realtime metrics, measures, and measurements.
- Query application information such as the latest PurePath, collection of PurePaths, and PurePath nodes.
Configuration of the JMX interface
The JMX interface of AppMon provides a Monitoring and a Management service. Use monitoring to query measurement data from monitored applications and health data for the AppMon system. Use the Management service to manage the AppMon system with JMX. You can stop or restart the server, clear or store specific sessions, start or stop session recording, and alter the active configuration.
Authentication is not required to perform Management operations with Java Management Extension (JMX). Any user that is enabled to reach the AppMon Server using the JMX service URL can stop or restart the service. Therefore we highly recommend do not use the Management service!
Starting with AppMon 2018 April we are discontinuing support of the Management service! Please use Server Management REST API instead.
To enable JMX Monitoring and Management:
- In the AppMon Client, select Settings > Dynatrace Server to open the Dynatrace Server Settings dialog box, then select Services.
- Select the Management tab.
- In the JMX Service area, select Monitoring for the Monitoring service, or select both Monitoring and Management for the Management service. You cannot select Management when Monitoring is disabled.
Local access to the JMX interface of the AppMon Server is available whether the JMX Monitoring service is enabled or not, but the AppMon-specific MBeans are only available if Monitoring is enabled. Remote access using the JMX service URL is only available if Monitoring is enabled:
service:jmx:rmi://<dynaTrace server host name>:1099/jndi/rmi://<dynaTrace server host name>:1099/com.dynatrace.diagnostics.management.30
Server control MBean
The Server Control MBean represents an AppMon Server and provides current statistical data about the Server and operations. Its
- CounterSkippedNodesDueToTruncation: The number of PurePath nodes that were skipped because the PurePath was truncated.
- CounterSkippedExitEventsDueToMissingEntryEvent: The number of exit events that were skipped because their entry points were missing.
- EventInformationBufferSize: The current buffer size, in bytes, for storing event information objects.
- EventInformationBufferMaxSize: The maximum buffer size, in bytes, for storing event information objects.
- IncompleteNodeCount: The number of unpaired events that led to incomplete nodes.
- PurePathBufferMaxSize: The maximum buffer size, in bytes, for storing PurePaths.
- PurePathBufferSize: The current buffer size, in bytes, for storing PurePaths.
- PurePathNodesCount: The number of PurePath nodes.
- TotalNumberOfEventsReceived: The number of events the server received from the Agents.
- shutdownServer: Shut down the server.
- restartServer: Perform a server shutdown followed by a restart.
Each System Profile is represented by a System MBean. The
ObjectName of those MBeans is:
com.dynatrace.diagnostics.system:type=system, systemName=<Name of the System Profile>
- ActiveProfileName: The name of the currently active configuration profile.
- LatestPath: Data about the latest completed PurePath.
- Notifications: Information about occurred incidents and notifications.
- PurePaths: Information about all currently stored PurePaths.
- ConfigurationNames: The names of the currently defined configuration profiles.
- clear: Clear the data of the selected session by clearing its PurePaths.
- store: Store the data of the selected system to a file.
- hotSensorPlacement: Reinstrument the load classes of Agents of the selected system that support hot update.
- getPurePath: List the nodes of a PurePath specified by the PurePath's trace tag. For example,
- startSessionRecording: Start data recording at the selected system. The default name is used for the recorded file.
- stopSessionRecording: Stop data recording at the selected system.
- activateConfiguration: Activate the provided configuration profile at the selected system.
Measures for Realtime Analytics and Charting are specified through the Client's measurement configuration editor. Retrieve these metrics and their values using JMX.
Each measure subscription of each System Profile is represented by a measure MBean that provides current configuration data and measurements of the measure. The
ObjectName of those MBeans is:
com.dynatrace.diagnostics.system.measures:type=<Name of the Metric>, metricGroupId=<Name of the Metric Group>, sessionName=<Name of the System Profile>, sourceGroupId=<Name of the used Agent Group or Monitor>, keyId=<Name of the Measure>
- ThresholdUpperWarning: The configured upper Warning threshold.
- ThresholdUpperSevere: The configured upper Severe threshold.
- ThresholdLowerWarning: The configured lower Warning threshold.
- ThresholdLowerSevere: The configured lower Severe threshold.
- ThresholdActive: Indicates whether at least one of the thresholds is configured.
- MetricUnit: The unit of the measure that is displayed in charts.
- MetricName: The name of the metric on which the measure is based.
- MetricGroupName: The name of the metric group of the metric on which the measure is based.
- MetricDescription: A detailed description of what the metric measures.
- TotalizedValue: Indicates whether the measure provides cumulative values.
- SampleIntervalSize: The default measurement sample interval in milliseconds.
- Timestamp: A timestamp of the last measurement in milliseconds.
- ThresholdUpperWarningReached: Indicates if the upper Warning threshold is reached or exceeded.
- ThresholdUpperSevereReached: Indicates if the upper Severe threshold is reached or exceeded.
- ThresholdLowerWarningReached Indicates if the lower Warning threshold is reached or exceeded.
- ThresholdLowerSevereReached: Indicates if the lower Severe threshold is reached or exceeded.
- StartTime: The time of the first measurement in milliseconds.
- NumberOfSamples: The number of measurements performed up to now.
- LatestSum: The summed measurement values of the last sample interval.
- LatestMin The lowest measurement value of the last sample interval.
- LatestMax: The highest measurement value of the last sample interval.
- LatestCount: The number of measurements received during the last sample interval.
- LatestAvg: The average measurement value of the last sample interval.
- AgentName: The name of the Agent that provided the measurement data.
- AgentHost: The host of the Agent that provided the measurement data.
The following figure shows measures in the Java Management & Monitoring Console:
service:jmx:rmi://<Dynatrace server host name>:1099/jndi/rmi://<Dynatrace server host name>:1099/com.dynatrace.diagnostics.management.30