Jetty Server Monitoring


Overview

Jetty, the lightweight open-source project hosted by the Eclipse foundation, is a full-fledged HTTP server and Servlet container that can be easily configured to serve static and dynamic content. Unlike most Web Servers, Jetty is often used for machine to machine communications, usually within larger software frameworks.

Applications Manager allows you to monitor your Java applications running on the Jetty HTTP server and Servlet container, track critical performance indicators of Jetty App server like CPU usage and be notified of thread pool exhaustion. Applications Manager also provides an in-depth view of the memory usage - heap and garbage collection information, real-time memory utilization and even object instance information within the JVM and Jetty server.

Creating a new Jetty server monitor

Supported versions of Jetty Server: Jetty 3.1 and above.

Prerequisites for monitoring Jetty Server: Click to know about the user previleges and other necessary prerequisites to monitor Jetty Server.

To create a Jetty monitor, follow the steps given below:

  1. Click on New Monitor link.
  2. Select Jetty Server under Application Servers.
  3. Give the Display name.
  4. Enter the Hostname of the server where Jetty Server is running.
  5. Enter the JMX Port. For default installations of Jetty, the JMX port number is 9999.
  6. You can enter your own credential details or select preconfigured credentials from details in Credentials Manager. If you wish to enter your own credentials, specify enter the JMX User Name and Password of Jetty Server. If no authentication is required, then leave the fields blank.
  7. Enter the JNDI path. For example:- JNDIPATH for default installations of Jetty is /jmxrmi.
  8. Set the Polling interval.
  9. Choose the Monitor Group from the combo box with which, you want to associate Jetty Server Monitor (optional). You can choose multiple groups to associate your monitor.
  10. Click Add Monitor(s). This discovers your Jetty Server from the network and starts monitoring it.

Monitored Parameters

Go to the Monitors Category View by clicking the Monitors tab. Click on Jetty Server under the Applications Servers Table. Displayed is the Jetty Server bulk configuration view distributed under three tabs:

  • Availability tab, gives the Availability history for the past 24 hours or 30 days.
  • Performance tab gives the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations

Click on the monitor name to see all the server details listed under the following tabs:

Performance Overview

Parameter Description
CPU Details
Available Processors The number of processors available to the JVM.
CPU Usage Percentage The percentage of CPU usage of the JVM on the server.
Uptime The uptime of the Java virtual machine.
Class Loading Details
Loaded Class Count The number of classes currently loaded in the JVM.
Unloaded Class Count The number of classes unloaded since the JVM started execution.
Heap Memory
PS Survivor Space The pool containing objects that have survived the garbage collection of the Eden space.
PS Eden Space The pool from which memory is initially allocated for most objects.
PS Old Gen This pool contains tenured and virtual (reserved) space and will be holding those objects which survived after garbage collection from young generation space.
Non Heap Memory
PS Perm Gen The Permanent Generation holds all the reflective data of the virtual machine itself, such as class and method objects. With JVMs that use class data sharing, this generation is divided into read-only and read-write areas.
Code Cache The Code cache is the memory used for compilation and storage of native code.
Heap Memory Details
Total Memory The total memory is the memory that is currently allocated to the JVM. It is the combination of used memory currently occupied by objects and free memory available for new objects. It varies over time.
Free Memory (MB) The total free memory available to the JVM for new objects.
Used Memory (MB) The space that is currently occupied by Java objects.
Max Allocated Memory (MB) The currently allocated memory in MB.
Committed Memory (MB) The currently used memory in MB.
Non Heap Memory Details
Total Memory The total memory is the memory that is currently allocated to the JVM. It is the combination of used memory currently occupied by objects and free memory available for new objects. It varies over time.
Free Memory (MB) The total free memory available to the JVM for new objects.
Used Memory (MB) The space that is currently occupied by Java objects.
Max Allocated Memory (MB) The currently allocated memory in MB.
Committed Memory (MB) The currently used memory in MB.
Garbage Collector Details
Name The Garbage Collector Name.
Valid The Garbage Collector Status.
Collection Time (MS) Live JVM statistics about garbage collector activity like the time spend collecting objects.
Collection Count The Live JVM statistics about garbage collector activity like the number of collected objects.

 

Note: 
Java8 Update: When monitoring with JDK 1.8 MetaSpace, Applications Manager monitors and displays new memory space called MetaSpace instead of the former Permanent Generation (Heap and Non-Heap memory). The main difference is that Metaspace re-sizes dynamically i.e., It can expand at runtime. Java Metaspace space: unbounded (default)

Thread

Parameter Description
JVM Threads
Live Threads The current live thread count.
Daemon Threads Total number of Daemon Threads. A daemon thread is one that does not prevent the JVM from exiting when the program finishes but the thread is still running.
Peak Thread Count The peak live thread count since the Java virtual machine started or peak was reset.
Threads started per sec The number of threads started per sec.
Thread Pool Details
Name The name of the thread pool.
Thread Count The total number of threads currently in the pool.
Busy Threads The number of currently busy threads in the thread pool.
Idle Threads The number of currently idle threads in the thread pool.
Max Threads The maximum number of threads in the thread pool simultaneously tasked with some work to process.
Thread Utilization The percentage of threads used by the java process.
Queue size The size of the job queue
State The lifecycle state for this instance.
Low on Threads This value is true if the pools is at maxThreads and there are not idle threads than queued jobs.

Webapps

Parameter Description
Webapps
Name The name of the Session.
Id The session Id.
Active Sessions The number of currently active sessions.
State The current lifecycle state.

Configuration

Parameter Description
Server Info
VM Name The Java virtual machine implementation name.
VM Vendor The Java virtual machine implementation vendor
VM Version The Java virtual machine Version
Name The name representing the running Java virtual machine.
Version The operating system version
OS Name    The operating system name.
Start Time The start time of the Java virtual machine in milliseconds.
Jetty Version The Version of Jetty server.