<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">&lt;<a href="mailto:mazz@redhat.com" target="_blank">mazz@redhat.com</a>&gt;</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>
&quot;jboss.as:management-root=<wbr>server&quot;,<br>
<br>
to:<br>
<br>
&quot;jboss.as:*&quot;,<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>
&gt; Ok, well, i hate to leave it like this but - this is so friggin&#39; odd that I<br>
&gt; can only say &quot;it is not my fault&quot; :)<br>
&gt;<br>
&gt; First - note someone changed jmx exporter code because they saw the same<br>
&gt; thing as we are - that&#39;s what this comment is about:<br>
&gt;<br>
&gt; <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>
&gt;<br>
&gt; 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>
&gt;<br>
&gt; But the fix is not 100%.<br>
&gt;<br>
&gt; If you grab these three files - you can see it yourself:<br>
&gt; <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>
&gt; (get Makefile and the two .java files and then run &quot;make download-wildfly<br>
&gt; unzip-wildfly compile run&quot;)<br>
&gt;<br>
&gt; You see i use the same API as the jmx exporter here:<br>
&gt; <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>
&gt;<br>
&gt; and that is what you will see:<br>
&gt;<br>
&gt; 16:31:05,290 INFO  [stdout] (Test Java Agent Thread)<br>
&gt; ==============================<wbr>==============================<wbr>=<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) FIND INFORMATION ABOUT<br>
&gt; MBEAN: jboss.as:management-root=<wbr>server<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread)<br>
&gt; ==============================<wbr>==============================<wbr>=<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) isRegistered:<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) true<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) getMBeanInfo:<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread)   description: The root<br>
&gt; node of the server-level management model.<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread)   #attributes: 19<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) getAttribute:<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread)<br>
&gt; serverState=reload-required<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) queryNames:<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) []<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) queryMBeans:<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) []<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) queryNames(null, null):<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread) FOUND IT:<br>
&gt; jboss.as:management-root=<wbr>server<br>
&gt; 16:31:05,291 INFO  [stdout] (Test Java Agent Thread)<br>
&gt; ==============================<wbr>==============================<wbr>=<br>
&gt;<br>
&gt;<br>
&gt; You will see SOME JMX APIs can see the MBean, queryMBeans and queryNames<br>
&gt; canNOT (note the empty arrays []).<br>
&gt;<br>
&gt; But notice getMBeanInfo CAN see it - I can even get the attribute value from<br>
&gt; that! (you can see it is in reload-required state)<br>
&gt;<br>
&gt; But again, queryMBeans returns nothing.<br>
&gt;<br>
&gt; Oddly, queryNames(null, null) DOES return it in the list (see the &quot;FOUND IT&quot;<br>
&gt; line). It is only if I specifically ask for it does it fail in the query<br>
&gt; API.<br>
&gt;<br>
&gt; The end result - JMX Exporter (at least sometimes) is not able to get &quot;Server<br>
&gt; Availability&quot; because it can&#39;t get this MBean.<br>
&gt;<br>
&gt; For some odd reason it can get it sometimes - but it seems when it can&#39;t, it<br>
&gt; will never get it.<br>
&gt;<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>