2017-05-05 22 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。问题解决了。