Is it possible to expose JMX interface over RMI, not over http-remoting? Or expose via both?
It would be great to access Mbeans via url like "service:jmx:rmi//" to be able to establish zabbix gate monitoring. Zabbix has an issue with hard-coded value in connection url ([ZBXNEXT-1274] Configurable JMX Endpoint - ZABBIX SUPPORT)
As far as I understand I need to add additional connector to jmx subsystem. Is is correct?
Part of xml for jmx subsystem is default for now and looks like this:
<subsystem xmlns="urn:jboss:domain:jmx:1.3">
<expose-resolved-model/>
<expose-expression-model/>
<remoting-connector/>
</subsystem>
Thanks!
I'm not sure that it is possibly to add alternative JMX access protocols in WildFly. At least not as a supported configuration option.
It might be possible to expose JMX via the standard JVM parameters, as described in the Java Documentation, but I would not expect it to be working correctly.
An alternative solution for enabling monitoring from Zabbix is to expose some or all of the JMX MBeans through a http or RESTful interface with Jolokia or other similar technology.
zabbix in version 3.4 have Configurable JMX Endpoint.
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/jmx_monitoring
You need only upgrade zabbix, add jar for application server in zabbix and change endpoint in template. I have success setting with wildlfy 10,10.1 and 11. Both modes is supported (domain and standalone).
Related
Is it possible to expose ActiveMQ Artemis (2.16.0) Management Console with HTTPS instead of plain HTTP?
Can't find any documentation on neither in Artemis docs or hawt.io to do that kind of setup.
Check out this documentation from the ActiveMQ Artemis User Manual.
You can simply set the bind attribute of the web element in bootstrap.xml to use https instead of http. Then, of course, you'll need to configure the other relevant settings like keyStorePath, keyStorePassword, etc.
According to http://cxf.apache.org/docs/jmx-management.html, CXF provides JMX monitoring for Web Service providers. The documentation is silent about whether it works for SOAP clients or not. Metro, on the other hand, clearly says that client monitoring is supported as well. The only reason I am looking at CXF is because it provides connection pooling which Metro does not, to my knowledge.
So my question really is, does anyone know if CXF supports client side JMX monitoring for SOAP clients? If yes, can you give some pointers? If not, is there a way to achieve connection pooling with Metro?
To answer my own question, CXF does not support client side JMX monitoring. It has better support than Metro for server side monitoring, provided CounterRepository bean is configured.
I want to write a application using MDB(message driven bean) and deploy to jboss eap 6.1 server.
My MQ is IBM Websphere MQ, and I have a LDAP server to locate the MQ JNDI namespace, and I know how to get/put message using JNDI and JMS.
But when coming to JBoss, I don't know how to configure MDB to listen to the MQ. I want to use the JNDI on LDAP, and write a message consumer on the JBoss server. And I don't want to hard code configuration in the annotation.
I did a lot of searching, but no any solutions. Can anybody show me the detailed process?
Thank you!
Unfortunately, this is not possible due to the limitations in the IBM JCA. The IBM JCA builds a managed connection factory for each MDB deployment based on the MDBs activation specification. This will typically have your MQ host, port, channel, etc. specified.
You can not specify a the JNDI name of a connection factory to use. This is a bit odd as you can specify the JNDI name of your destination.
Functionality similar to the LDAP external context can be achieved using the IBM Client Channel Definition Table (CCDT).
I'd like to connect to the JMX server on a WebSphere application server instance using a SOAP over HTTP connector but I don't know where to find a compatible SOAP protocol provider.
I get a MalformedURLException when using a JMXServiceURL starting service:jmx:soap:... that says Unsupported protocol: soap. What jar(s)/protocol provider string do I need to include?
Update: I am playing with a standalone Java client.
Unfortunately, IBM only provides a proprietary API to connect with SOAP over HTTP. They don't provide an implementation of the standard JMX API for that protocol. I faced the same issue and I developed such a connector (which is basically a thin JMX compliant wrapper around IBM's proprietary API), which is now available as Open Source. You can find more information here:
https://github.com/kszbcss/xm4was/wiki/JmxClientConnector
The following document describes how to set up a standard JMX tool (VisualVM) to use that connector:
https://github.com/kszbcss/xm4was/wiki/VisualVMHowTo
As you can see from these documents, after adding the relevant JARs to the class path and setting the necessary system properties, you would simply connect using wssoap as protocol.
Check that in the path Application servers > <server_name> > Administration services > JMX connectors the relative SOAPConnector exists and is Enabled.
Refer at Infocenter for more information.
I would like to access JBoss server's mbeans with my POJO class. I learned about mbeans in these site.But I'm not satisfied.Is there any ways to access JBoss server's mbeans with java class and how to apply these mbeans?
To get reference to local JBoss MBean server, the easiest way is to use MBeanServerLocator. Check this link: https://community.jboss.org/wiki/HowCanIGetAReferenceToTheMBeanServer
If you want access to remote JBoss MBean server, then you can either use:
JMXConnectionFactory http://docs.oracle.com/javase/1.5.0/docs/api/javax/management/remote/JMXConnectorFactory.html or
RMI adaptor http://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/Connecting_to_the_JMX_Server-Connecting_to_JMX_Using_RMI.html
You can find plenty of examples for each approach if you Google it.