Monitoring requires a lot of forethought, setup and decisions. Do you just monitor servers or do you go a level down? Do you monitor servers and application servers/services? Do you monitor databases? Do you monitor applications? Do you monitor within applications? Do you care about stack traces, logs, warnings, errors, memory, network...Lots of decisions and lots of open source and commercial tools to chose from. There's APM, profiling, memory analysis.
Unfortunately, there's no slam dunk. The following list of tools are all good and work for many use cases. You have to look at all of their features, benefits and flaws and determine the fit for you.
Hawt, a very nice console for looking at JMX and services
Takipi is a very interesting JVM tool that has a free edition. Very powerful for debugging and analysis.
An awesome list of Java monitoring tools
Jolokia for monitoring JMX over HTTP, which is very useful for monitoring Java
Statsd-JVM for profiling
The Dropwizard Metrics library for producing all the information you need from your Java microservices.
JVM Monitoring from Eclipse
New Relic is another very powerful commercial monitoring tool
AppDynamics is another powerful commercial monitoring tool with a free edition
Dynatrace provides a free trial of their APM tool