nodewatcher is one of the projects of wlan slovenija open wireless network. Its main goal is the development of an open source network planning, deployment, monitoring and maintenance platform.
The project is divided into multiple components:
- node telemetry provider: A simple shell script that is accessible via HTTP interface and is used for node status data acquisition that is performed by the data collection system. Its role is similar to the one of SNMP, however it uses less resources (CPU-wise and, mostly, when it comes to memory and flash space). Our firmware has this preinstalled, others can follow these instructions to install it.
- data collection system: A daemon written in Python that periodically collects data regarding the OLSR topology, active HNAs, node telemetry and performs active reachability tests for visible nodes. Using rrdtool it can then generate graphs that are used by the web interface.
- web interface: A web-based application, written in Python and using the Django framework. It is used by the users to monitor the status of the network and individual nodes and by the node owners to manage their nodes.
- firmware image generator: A daemon that handles per-node configuration and firmware image generation via the OpenWrt buildroot using our custom firmware. It receives requests from the web interface.
We use nodewatcher in wlan slovenija network (this is why we are developing it), so you can see a live version of nodewatcher for real deployed network here. Look around and you will get a better feeling for the system. Feel free to register a test node and try it yourself on some router you have lying around.
The source code is located in the project repository named nodewatcher. The code for nodewatcher itself is in the nodewatcher directory. The data collection system source code is located in the nodewatcher/monitor subdirectory. The web interface source code is located in the nodewatcher/frontend subdirectory. Firmware image generator is available in generator directory.
Documentation is bundled with the source code, but it is also available here.
For questions and discussions about use and installation of nodewatcher system we have a nodewatcher mailing list (which is in English). You can subscribe here. (For development and discussions about development we use Trac tickets so that everything is in the one place.)
This program is open source, under GNU Affero General Public License.
Any additional content is available under Creative Commons Attribution-ShareAlike license unless specified otherwise.
Developed source code may contain, use, link to and/or distribute also parts under third party copyright with possibly different licensing conditions. Make sure you check and respect also those conditions.
For more information and more precise licensing requirements, see LICENSE file in the source code repository.