<div dir="ltr">Hi,<div><br></div><div>I probably should have replied to myself a while back, but I managed to figure this out.</div><div><br></div><div>Although I had installed JRE 7 and JDK 7, I had only switched my system defaults to use JRE 7, my JAVA_HOME was still pointing at version 6.</div>

<div><br></div><div>After I used 'alternatives' to switch to JDK7, everything worked correctly.</div><div><br></div><div>I think that the actual error message indicating the problem was lost in stderr because I was running collectd using an initscript.</div>

<div><br></div><div>Thanks,</div><div><br></div><div>Dan Scott</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 31 October 2013 13:56, Franklin, Dave <span dir="ltr"><<a href="mailto:Dave.Franklin@arrisi.com" target="_blank">Dave.Franklin@arrisi.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">A few things I can think of off the top of my head:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">It would be interesting to see what the log output is with DEBUG cranked up - it should show all the JVM args passed in before the JVM is created.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Also I see you’re logged in as root - is collectd running with sufficient permissions?
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Can you confirm the class is actually in the jar file: jar tf /usr/share/collectd/java/collectd-api.jar
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">=D<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Dave Franklin<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Principal Software Engineer<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Arris Group, Inc. - T1-9<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">900 Chelmsford Street<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Lowell, MA 01851<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:collectd-bounces@verplant.org" target="_blank">collectd-bounces@verplant.org</a> [mailto:<a href="mailto:collectd-bounces@verplant.org" target="_blank">collectd-bounces@verplant.org</a>]
<b>On Behalf Of </b>Dan Scott<br>
<b>Sent:</b> Wednesday, September 18, 2013 9:37 AM<br>
<b>To:</b> <a href="mailto:collectd@verplant.org" target="_blank">collectd@verplant.org</a><br>
<b>Subject:</b> [collectd] Java plugin - Cannot find the API class "org.collectd.api.Collectd"<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'm running collectd 5.04 on AWS:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">collectd-5.0.4-1.19.amzn1.x86_64<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">collectd-java-5.0.4-1.19.amzn1.x86_64<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'm trying to get the java plugin working to monitor tomcat. I have a config file as follows:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">LoadPlugin java<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><Plugin "java"><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">        JVMARG "-Djava.class.path=/usr/share/collectd/java/collectd-api.jar:/usr/share/collectd/java/generic-jmx.jar"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">        LoadPlugin "org.collectd.java.GenericJMX"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">        <Plugin "GenericJMX"><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"># Heap memory usage<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><MBean "memory-heap"><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  ObjectName "java.lang:type=Memory"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  InstancePrefix "memory-heap"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  <Value><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Type "jmx_memory"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Table true<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    Attribute "HeapMemoryUsage"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  </Value><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"></MBean><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">    <Connection><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">      Host "localhost"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">      ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">      Collect "memory_pool"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    </Connection><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">    </Plugin><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"></Plugin><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">The log file says: Cannot find the API class "org.collectd.api.Collectd". Please set the correct class path using 'JVMArg "-Djava.class.path=..."'<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">But as you can see, I already have this line added. The jar files exist and contain the correct classes:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">[root@localhost ~]# rpm -ql collectd-java<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/etc/collectd.d/java.conf<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/usr/lib64/collectd/java.so<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/usr/share/collectd/java/collectd-api.jar<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/usr/share/collectd/java/generic-jmx.jar<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Can anyone help?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Dan Scott<u></u><u></u></p>
</div>
</div>
</div></div></div>
</div>

</blockquote></div><br></div>