Roboconf’s monitoring means monitoring the DM, the messaging server (RabbitMQ) and agents.
For the moment, this still needs to be addressed.
Monitoring the DM and the Agents
The DM and the agent distributions rely on Apache Karaf.
The OSGi bundles do not embed anything related to monitoring. But Karaf exposes a JMX interface. You can use it to retrieve information and manage the OSGi servers.
See Karaf’s web site for more information.
JMX access can be completed with the web consoles and shell access.
Once again, you will find information on Karaf’s web site.
You can also take a look at this blog post.
It shows how to use Logstash, ElasticSearch and Kibana to monitor several Karaf instances by aggregating and sorting data collected from logs and JMX probes. A similar system should be feasible with Roboconf.
There are 4 kinds of MBeans in Roboconf:
- net.roboconf:type=agent: MBean with information from an agent.
- net.roboconf:type=dm: MBean related to the DM.
- net.roboconf:type=messaging: MBean related to a messaging client.
- net.roboconf:type=web: MBean related to the DM’s REST API and web socket.
Monitoring with Apache Karaf Decanter
Apache Karaf Decanter is a monitoring tool for Karaf solutions and applications running on it.
So The DM and the agent can be monitored using Decanter, it suffices to install it.
You can follow this blog to install and configure Decanter. You can also take a look at this Roboconf tutorial.
RabbitMQ has a management console which supports some monitoring features.
See RabbitMQ’s user guide for more information.
You will also find additional information on the web.
As an example, this GitHub project provides Nagios checks for RabbitMQ.