# Prosody Clients Connects/Disconnects This is a plugin for the monitoring software [Munin](http://munin-monitoring.org) to monitor a [Prosody](http://prosody.im) XMPP server. The plugins monitors clients connecting and disconnecting to or from the server. Here's an example how how this plugin works: [Prosody Clients Connects/Disconnects statistics for jabber.hot-chilli.net](https://www.hot-chilli.net/munin/hot-chilli.net/tethys.hot-chilli.net/loggrep_prosodyclients.html) ## Installation and configuration It is very simple to install this plugin. Create symlink: `ln -s /usr/share/munin/plugins/loggrep /etc/munin/plugins/loggrep_prosodyclients` Create a file */etc/munin/plugin-conf.d/loggrep_prosodyclients* (we don't want change the standard file */etc/munin/plugin-conf.d/munin-node* as future updates might want to undo the changes) and put the following into it: ``` [loggrep_prosodyclients] user root env.regex_connected Client connected env.label_connected connected env.regex_connectedbosh New BOSH session env.label_connectedbosh connected BOSH env.regex_disconnectedconnectionclosed Client disconnected: connection closed env.label_disconnectedconnectionclosed disc connection closed env.regex_disconnectedclosed Client disconnected: closed env.label_disconnectedclosed disc closed env.regex_disconnectedtlsv1 Client disconnected: tlsv1 alert internal error env.label_disconnectedtlsv1 disc tlsv1 alert env.regex_disconnectedtimeouthandshake Client disconnected: timeout during handshake env.label_disconnectedtimeouthandshake disc timeout handshake env.regex_disconnectedtimeoutreceiving Client disconnected: timeout during receiving env.label_disconnectedtimeoutreceiving disc timeout receiving env.regex_disconnectedwrongversion Client disconnected: wrong version number env.label_disconnectedwrongversion disc wrong version env.regex_disconnectedunknownprotocol Client disconnected: unknown protocol env.label_disconnectedunknownprotocol disc unknown proto env.regex_disconnectednosharedcipher Client disconnected: no shared cipher env.label_disconnectednosharedcipher disc no shared cipher env.regex_disconnectednoroutetohost Client disconnected: No route to host env.label_disconnectednoroutetohost disc no route to host env.regex_disconnecteddecryptionfailed Client disconnected: decryption failed or bad record mac env.label_disconnecteddecryptionfailed disc decrypt failed env.regex_disconnectedbosh BOSH client disconnected env.label_disconnectedbosh disc BOSH env.logfile /var/log/prosody/prosody.log env.title Prosody Client Connects-Disconnects ``` Edit */etc/munin/munin.conf* - in our case we have a Munin host named *tethys.hot-chilli.net*, please add it under the specifications for your own host: ``` [tethys.hot-chilli.net] address 127.0.0.1 ... loggrep_prosodyclients.graph_category prosody loggrep_prosodyclients.graph_period minute ``` Now you need to restart munin-node: `/etc/init.d/munin-node restart` That's it. Enjoy!