OpenWrt Forum Archive

Topic: Centralized monitoring platform for OpenWRT

The content of this topic has been archived on 26 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi folks,
I have been working on a centralized monitoring platform for OpenWRT for some time now gathering bits and pieces from books, Internet and from 6 years of experience in wireless networks - I have designed a set of scripts to monitor OpenWRT nodes (clients and/or APs) on our new branch of www.blava.net project in Bratislava, Slovakia. This is a centralized monitoring platform for OpenWRT in very early stage of development, however fully functional.

The monitoring platform consists of few scripts sitting on the (Internet) remote server while every OpenWRT installation has one line of shell script in their /etc/crontabs/root file. Basically all it does is that every 5 minutes it downloads the relevant script from the remote server, runs it, which invokes gathering of different statistical data of the node and calls wget with GET parameters in URI which transfers variables onto the remote server which inserts the information into the database. Another scripts are sitting on the remote server using JPGraph to graph the statistical information about every single node in the network.

The result is here (one single node on the network):
http://www.maco.sk/openwrt/mon/lglass/s … A:01:0C:B6
That is an example of monitoring Client station (managed mode) with overall information about its OpenWRT AP counterpart.
Please do not mind the reboots of both nodes every 9 hours - those are just testing nodes.

And now - the power of the whole system is basically in its flexibility - since the only change into default installation of OpenWRT is actually inserting one line into /etc/crontabs/root file we make all of the changes on the remote server where actual up-to-date scripts reside. Here we can change any of the scripts and all of the nodes in the network will automatically use that latest revision of the script without the need of touching them individually by admin. Another very strong point is, that you can actually run ANY script on the remote node - not just monitoring stuff, but remotely installing packages and possibly even upgrading the OpenWRT installation and its packages on hundreds of nodes without individual interaction. (think of rebooting node every X days, monitoring of traffic, number of clients, dhcp leases, cpu, conntrack...)

My intention has been to create easy to manage and analyze connection of the nodes into our network even if the nodes monitored are behind firewalls with as little effort as possible.

I am waiting for your responses and suggestions - please constructive criticism only. Once I feel like the system is ready to be open to the public (I still need to do some design changes) I will indeed release the whole monitoring platform including server-side to the community. (guessing that I will need additional 2-3 weeks to finish the first public alpha release)

So far the system needs default OpenWRT installation (I use Meraki nodes since we have plenty of them), one added line in /etc/crontabs/root file and server side scripts written in extremely simple shell script (for nodes to download), PHP for diplaying data (requires JPGraph for graphs) and uses MySQL for storing data.

Please mind that I'm not trying to replicate Meraki, OpenMesh or any other similar project - I have been using simplified versions of this design since many years ago way before Meraki and other systems. The framework is focused on experienced administrators of wireless networks particularly on pure wireless infrastructure monitoring on as low level as possible to quickly find and debug issues with more or less critical wireless p-t-p or p-t-m links. No intension to do mesh - if you want mesh I recommend Meraki (well, or, ROBIN since we all are more open minded), which is something absolutely out of my focus for many reasons.

In the next few days I will be focusing on
- generating dynamic shell scripts from web user interface and storing them into database
- authentication on various levels
- design changes and generating map of nodes and their graphical visualization
- feedback system - f.e. reboot node if its cpu is too loaded or change channel on the AP and see if it brings any benefit to users - if it does keep it changed...)

Than you for your feedback and thanks a lot to other folks at www.blava.net for testing the system and my employer Station House Media Unit (www.shmu.org.uk) for their support.

If anybody is interested in any part of the engine or helping out please reach me via email.

Sincerely,
Marcel Hecko
maco@maco.sk

(Last edited by maco on 3 Feb 2008, 01:48)

Hi Marcel,

This looks very interesting, I agree very much on you design choices. I will contact you directly.

BR

ajauberg

(Last edited by ajauberg on 18 Feb 2008, 11:16)

nice work

Hi maco,

Are you still watching this thread? I would like to implement a similar monitoring tool for openwrt. I will be monitoring a lot of routers running behind firewalls. I need the routers to be the one to initiate the connection. I will be using a remote server on AWS running cacti. If you still have the scripts you used they would be a lot of help.

Thanks.

I second this. Would be nice to see your work.

The discussion might have continued from here.