<div dir="ltr">I will investigate more on this.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 13, 2017 at 10:49 PM, John Mazzitelli <span dir="ltr"><<a href="mailto:mazz@redhat.com" target="_blank">mazz@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">a temporary workaround: in the whitelist of the jmx exporter file, change:<br>
<br>
"jboss.as:management-root=<wbr>server",<br>
<br>
to:<br>
<br>
"jboss.as:*",<br>
<br>
Once i do that, I see the jmx exporter emitting the server avail metric. of course, that sucks because it now tells jmx exporter to get every <a href="http://jboss.as" rel="noreferrer" target="_blank">jboss.as</a> MBean and that causes performance issues.<br>
<div class="HOEnZb"><div class="h5"><br>
----- Original Message -----<br>
> Ok, well, i hate to leave it like this but - this is so friggin' odd that I<br>
> can only say "it is not my fault" :)<br>
><br>
> First - note someone changed jmx exporter code because they saw the same<br>
> thing as we are - that's what this comment is about:<br>
><br>
> <a href="https://github.com/prometheus/jmx_exporter/blob/master/collector/src/main/java/io/prometheus/jmx/JmxScraper.java#L110" rel="noreferrer" target="_blank">https://github.com/prometheus/<wbr>jmx_exporter/blob/master/<wbr>collector/src/main/java/io/<wbr>prometheus/jmx/JmxScraper.<wbr>java#L110</a><br>
><br>
> See: <a href="https://github.com/prometheus/jmx_exporter/issues/89" rel="noreferrer" target="_blank">https://github.com/prometheus/<wbr>jmx_exporter/issues/89</a><br>
><br>
> But the fix is not 100%.<br>
><br>
> If you grab these three files - you can see it yourself:<br>
> <a href="https://github.com/jmazzitelli/test/tree/master/javaagent" rel="noreferrer" target="_blank">https://github.com/<wbr>jmazzitelli/test/tree/master/<wbr>javaagent</a><br>
> (get Makefile and the two .java files and then run "make download-wildfly<br>
> unzip-wildfly compile run")<br>
><br>
> You see i use the same API as the jmx exporter here:<br>
> <a href="https://github.com/jmazzitelli/test/blob/master/javaagent/TestJavaAgent.java#L67" rel="noreferrer" target="_blank">https://github.com/<wbr>jmazzitelli/test/blob/master/<wbr>javaagent/TestJavaAgent.java#<wbr>L67</a><br>
><br>
> and that is what you will see:<br>
><br>
> 16:31:05,290 INFO [stdout] (Test Java Agent Thread)<br>
> ==============================<wbr>==============================<wbr>=<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) FIND INFORMATION ABOUT<br>
> MBEAN: jboss.as:management-root=<wbr>server<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread)<br>
> ==============================<wbr>==============================<wbr>=<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) isRegistered:<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) true<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) getMBeanInfo:<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) description: The root<br>
> node of the server-level management model.<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) #attributes: 19<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) getAttribute:<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread)<br>
> serverState=reload-required<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) queryNames:<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) []<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) queryMBeans:<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) []<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) queryNames(null, null):<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread) FOUND IT:<br>
> jboss.as:management-root=<wbr>server<br>
> 16:31:05,291 INFO [stdout] (Test Java Agent Thread)<br>
> ==============================<wbr>==============================<wbr>=<br>
><br>
><br>
> You will see SOME JMX APIs can see the MBean, queryMBeans and queryNames<br>
> canNOT (note the empty arrays []).<br>
><br>
> But notice getMBeanInfo CAN see it - I can even get the attribute value from<br>
> that! (you can see it is in reload-required state)<br>
><br>
> But again, queryMBeans returns nothing.<br>
><br>
> Oddly, queryNames(null, null) DOES return it in the list (see the "FOUND IT"<br>
> line). It is only if I specifically ask for it does it fail in the query<br>
> API.<br>
><br>
> The end result - JMX Exporter (at least sometimes) is not able to get "Server<br>
> Availability" because it can't get this MBean.<br>
><br>
> For some odd reason it can get it sometimes - but it seems when it can't, it<br>
> will never get it.<br>
><br>
______________________________<wbr>_________________<br>
hawkular-dev mailing list<br>
<a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
</div></div></blockquote></div><br></div>