Fedex is a daemon that monitors multiple Jabber/XMPP domains. It covers two things:
- Local delivery is working (a user sending to themselves)
- Delivery between domains (delivery from each domain to every other configured domain)
It is written in Erlang and uses exmpp by ProcessOne for its XMPP connections. It is still very basic; it only serves a webpage with the status of all domains as a Cytoscape.js graph, suitable for use in a NOC wallboard (see the above screenshot).
In the future it should have:
- An alerting system (SMS, email, etc.)
- Logging events ("what time did the link go down?")
- Automated tests! (I'm still learning Erlang)
- First, you need accounts on the XMPP domains you want to monitor.
- Then, edit
src/fedex.app.src
and add those accounts (JID, hostname, password). - Finally, build and run with:
rebar compile && ./start.sh && tail -f fedex.log
- Browse to http://hostname:8099/index.html
- That's it!
Bugs are tracked in BugsEverywhere. Install it and do "be list" to see the list.