實際行爲: 不連接到WebLogic Server,將引發錯誤並不會加載Java插件:問題而使用Java(GenericJMX)插件配置collectd獲取weblogic的數據
Java插件:cjni_create_jvm:JNI_CreateJavaVM失敗狀態-1。
[2017年5月4日4點23分34秒] Java插件:cjni_thread_attach:cjni_create_jvm失敗。 [2017-05-04 04:23:34] java插件:GenericJMX' found, but no such configuration callback has been registered. Please make sure, the
的配置塊LoadPlugin'行前Plugin' blocks. [2017-05-04 04:23:34] java plugin: cjni_init: jvm == NULL [2017-05-04 04:23:34] Initialization of plugin
java'失敗,狀態爲-1。插件將被卸載。
步驟來重現
使以下更改後collectd.conf啓用Java插件:,
JVMArg「-Djava.class.path = /刮傷/ gbuora/U00 /應用程序/ ora_fmw/ORACLE /中間件/ ORACLE_HOME/wlserver的/服務器/ lib中/ wljmxclient.jar:/scratch/gbuora/u00/app/ora_fmw/oracle/Middleware/Oracle_Home/wlserver/server/lib/wlclient.jar中:/ opt/collectd /股/ collectd/java/collectd-api.jar:/opt/collectd/share/collectd/java/generic-jmx.jar -Djmx.remote.protocol.provider.pkgs = weblogic.management.remote -Djavax.net.ssl.trustStore =/scratch/gbuora/u00/app/ora_fmw/oracle/Middleware/Oracle_Home/wlserver/server/lib/connectTrust.jks -Djavax.management.builder.initia l = weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Djavax.net.ssl.identityStore =/scratch/gbuora/u00/app/ora_fmw/oracle/Middleware/Oracle_Home/wlserver/server/lib/connectIdentity.jks-Djavax.net .ssl.identityStore =/scratch/gbuora/u00/app/ora_fmw/oracle/Middleware/Oracle_Home/wlserver/server/lib/connectIdentity.jks -Djava.naming.security.principal = weblogic -Djava.naming.security.credentials = welcome123「 LoadPlugin 」org.collectd.java.GenericJMX「
<MBean "garbage_collector">
ObjectName "java.lang:type=GarbageCollector,*"
InstancePrefix "gc-"
InstanceFrom "name"
<Value>
Type "invocations"
Table false
Attribute "CollectionCount"
</Value>
<Value>
Type "total_time_in_ms"
InstancePrefix "collection_time-"
Table false
Attribute "CollectionTime"
</Value>
</MBean>
<MBean "memory">
ObjectName "java.lang:type=Memory"
InstancePrefix "memory-"
<Value>
Type "memory"
Table true
Attribute "HeapMemoryUsage"
InstancePrefix "heap-"
</Value>
<Value>
Type "memory"
Table true
Attribute "NonHeapMemoryUsage"
InstancePrefix "nonheap-"
</Value>
</MBean>
<MBean "memory_pool">
ObjectName "java.lang:type=MemoryPool,*"
InstancePrefix "memory_pool-"
InstanceFrom "name"
<Value>
Type "memory"
Table true
Attribute "Usage"
</Value>
</MBean>
<Connection>
Host "localhost"
ServiceURL "t3://localhost:8001/jndi/weblogic.management.mbeanservers.domainruntime"
Collect "memory_pool"
Collect "garbage_collector"
Collect "memory"
</Connection>
重新啓動collectd。
在更改屬性後,我能夠加載Java插件,但現在我得到一個不同的錯誤:GenericJMXConfConnection:創建MBean服務器連接失敗:產生java.io.IOException:無法檢索的RMIServer存根:使用javax。 naming.NoInitialContextException:無法實例化類:weblogic.jndi.WLInitialContextFactory [根異常是java.lang.ClassNotFoundException:weblogic.jndi.WLInitialContextFactory] –
做了一些更改後,現在我收到錯誤「GenericJMXConfConnection:創建MBean服務器連接失敗: java.io.IOException異常」。 JVMArg「-Djava.naming.factory.initial = weblogic.jndi.WLInitialContextFactory」 ServiceURL「service:jmx:iiop:// localhost:8001/jndi/weblogic.management.mbeanservers.domainruntime」 –