JVM Monitoring and Performance Management
Java is one of the most commonly used programming languages to build critical, highly scalable internet solutions. On top of that, the JVM (Java Virtual Machine) is the most used runtime engine for building other important components of mission critical systems such as Cassandra or Hadoop. Instana’s Java / JVM Monitoring offers comprehensive performance and health management for applications and services running inside the Java Virtual Machine, as well as the JVM internal parameters and performance metrics.
To understand and optimize application performance and further automate performance management workflows, Instana’s automatic Java Monitoring goes beyond simple metrics to provide a comprehensive set of management and monitoring features:
- Discovery of Java / JVM instances
- Zero configuration health monitoring
- Automatic code instrumentation for supported technologies (e.g. Spring Boot, Apache Tomcat, and others)
- No hands mapping and visualization of Service dependency maps
- End-to-end traces of requests across all systems
- Automated application and service discovery
Comprehensive JVM Monitoring requires performance visibility for the physical or virtual host, containers, Java instances, typical JVM metrics (like Garbage Collection data), and any applications and services deployed into the JVM instance.
Instana is the quickest and easiest way to monitor Java based services across the stack to deliver comprehensive application insights. The Instana agent automatically discovers all JVM instances, deploys the necessary monitoring sensors and begins tracing applications and requests. Instana also automatically determines not only the health of the JVM instances, but also for applications and services running inside.
Monitoring JVM and Java Code Performance
Once deployed, the Instana Agent automatically identifies all running Java instances – then automatically deploys and configures Instana’s Java Monitoring sensor, as well as additional sensors for technologies used in applications running inside the JVM. Instana’s curated knowledge base already knows what performance metrics are relevant for collection and how to collect them. To monitor Java services health, additional metrics are also collected. Since Instana’s automatic configuration collects all relevant information, monitoring Java instances couldn’t be easier.
To determine overall service health, the Instana Java Monitoring sensor also collects KPIs on the monitored JVM-running environment to determine its health status.
With the help of Artificial Intelligence (AI) and health signatures from the curated knowledge base, Instana automatically detects issues with individual Java instances and and issues service incidents. Based on severity, Instana automates incident escalation and root cause identification, helping you solve issues before users are impacted.
Java / JVM Configuration Monitoring
In addition to performance and health data, Instana’s Java Monitoring sensor also collects configuration data, allowing Instana to analyze and correlate configuration data and changes with application and service performance information.
All performance and configuration information for the JVM instance and the inside applications or services is summarized in a single Monitoring Dashboard, showing all relevant Java information in a single place for easy problem-solving and performance optimization.
Java performance monitoring centers around service metrics and their interactions with other services or data stores. Instana automatically identifies and collects the relevant service metrics.
Java / JVM Monitoring Data
Instana JVM Monitoring includes three types of data; Configuration Data, Performance Metrics and Health Signatures:
|Java Configuration Data||Java Performance Data||Java Health Signatures|
|Version||GC Activity||Code Cache|
|Runtime||Memory Usage||PermGen / MetaSpace Size|
|Heap Size||Memory Pools||GC Activity|
|Classpath||Threads||Heap Size and Usage|
Additional metrics are acquired based on technologies and frameworks deployed into the JVM instances.
Further information on the different sensor information is available in the Instana documentation on
Monitoring JVM and Java.