2017-05-05 28 views
0

實際行爲: 不連接到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。

+0

在更改屬性後,我能夠加載Java插件,但現在我得到一個不同的錯誤:GenericJMXConfConnection:創建MBean服務器連接失敗:產生java.io.IOException:無法檢索的RMIServer存根:使用javax。 naming.NoInitialContextException:無法實例化類:weblogic.jndi.WLInitialContextFactory [根異常是java.lang.ClassNotFoundException:weblogic.jndi.WLInitialContextFactory] ​​ –

+0

做了一些更改後,現在我收到錯誤「GenericJMXConfConnection:創建MBean服務器連接失敗: java.io.IOException異常」。 JVMArg「-Djava.naming.factory.initial = weblogic.jndi.WLInitialContextFactory」 ServiceURL「service:jmx:iiop:// localhost:8001/jndi/weblogic.management.mbeanservers.domainruntime」 –

回答

0

在服務中重命名localhost:具有完整主機名的jmx:iiop url。問題解決了。