Monitoring Jetty Web Server
Collect and monitor general performance metrics of Jetty application server
Usage protocol: JMX
Pre-monitoring Operations
You need to enable the
JMX
service in the JVM application. HertzBeat uses the JMX protocol to collect metrics for the JVM.
Jetty application server opens JMX protocol steps
Refer to official documentation
- Start the JMX JMX-REMOTE module in Jetty
java -jar $JETTY_HOME/start.jar --add-module=jmx
java -jar $JETTY_HOME/start.jar --add-module=jmx-remote
Successful command execution will create ${JETTY_BASE}/start.d/jmx-remote.ini
configuration file
- Edit the
${JETTY_BASE}/start.d/jmx-remote.ini
configuration file to modify the JMX IP port and other parameters.
localhost
needs to be modified to expose the IP
## The host/address to bind the RMI server to.
# jetty.jmxremote.rmiserverhost=localhost
## The port the RMI server listens to (0 means a random port is chosen).
# jetty.jmxremote.rmiserverport=1099
## The host/address to bind the RMI registry to.
# jetty.jmxremote.rmiregistryhost=localhost
## The port the RMI registry listens to.
# jetty.jmxremote.rmiregistryport=1099
## The host name exported in the RMI stub.
-Djava.rmi.server.hostname=localhost
- Restart Jetty Server.
Configuration parameter
Parameter name | Parameter help description |
---|---|
Monitoring Host | Monitored IPV4, IPV6 or domain name. Note⚠️Without protocol header (eg: https://, http://) |
Monitoring name | Identify the name of this monitoring. The name needs to be unique |
Port | Port provided by JMX |
Username | JMX connection user name, optional |
Password | JMX connection password, optional |
Collection interval | Interval time of monitor periodic data collection, unit: second, and the minimum interval that can be set is 30 seconds |
Whether to detect | Whether to detect and check the availability of monitoring before adding monitoring. Adding and modifying operations will continue only after the detection is successful |
Description remarks | For more information about identifying and describing this monitoring, users can note information here |
Collection Metrics
Metrics Set:memory_pool
Metric name | Metric unit | Metric help description |
---|---|---|
name | metrics name | |
committed | kb | total size |
init | kb | init size |
max | kb | max size |
used | kb | used size |
Metrics Set:class_loading
Metric name | Metric unit | Metric help description |
---|---|---|
LoadedClassCount | Loaded Class Count | |
TotalLoadedClassCount | Total Loaded Class Count | |
UnloadedClassCount | Unloaded Class Count |
Metrics Set:thread
Metric name | Metric unit | Metric help description |
---|---|---|
TotalStartedThreadCount | Total Started Thread Count | |
ThreadCount | Thread Count | |
PeakThreadCount | Peak Thread Count | |
DaemonThreadCount | Daemon Thread Count | |
CurrentThreadUserTime | ms | Current Thread User Time |
CurrentThreadCpuTime | ms | Current Thread Cpu Time |