wbachnik / bytebay2018-jmx

Resources for JMX workshop at ByteBay 2018

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JMX Workshop @ ByteBay 2018

See ArrayBlockingQueue-exercise branch for example workshop exercise solution.

Resources

JMX Tutorials and Docs

Simple JMX tutorial from Oracle
Easy to follow JMX tutorial series, start from the bottom

Oracle: Monitoring and Management Using JXM Technology
Oracle: JMX Technology Overview
Oracle: JMX Technology Tutorial
Oracle: Java SE Monitoring and Management Guide see Chapter 2 for remote monitoring security settings!
Best practices, a bit outdated (2005?)

Insecurity

JMX RMI exploit POC

Frameworks/Libraries

Spring Framework and JMX
Dropwizard Metrics - can be used without Dropwizard, saves you lots of work!

Connection Pools

C3P0 JMX
HikariCP
Tomcat JDBC Connection Pool

Servers

Jetty, Managing Jetty with JConsole and JMC
Tomcat Cassandra
Kafka uses Metrics, actually

APM (kindof)

Jolokia exposes MBeans data via HTTP
jmxtrans collects attributes to report or push further
Prometheus, collects JMX data, JMX Exporter is needed in your application. See additional instructions in dropwizardjmxdemo/README.md
Grafana great-looking dashboarding over Prometheus data

Troubleshooting

In case JMX Agent is not active by default and jconsole can't connect, you can enable remote connectivity by passing the following paramaters when starting java:

-Dcom.sun.management.jmxremote.port=9005
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

Please note the security implications, as noted during the workshop!

About

Resources for JMX workshop at ByteBay 2018

License:MIT License


Languages

Language:Java 55.4%Language:Shell 25.2%Language:Batchfile 19.4%