I am new to Prometheus. I was looking at ways to monitor Application Servers that don't ship with Prometheus support but do come with JMX.
Such applications provide some configuration to enable connections via the JMX port.
Why then does Prometheus require one to put Prometheus specific jars on the target system (The java-agent stuff)? It could just connect to the JMX port and pull whatever information it needs.
Prometheus doesn't aim to support every possible application out there in one binary - there's just too many. Instead the ~500ish exporters exist to act as translators, and Prometheus can focus on what it does best.