Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Nethead implements CoAP-based monitoring for a low-power/lossy network (LLN), and uses the Adagios/Nagios family of network monitoring tools for reporting and storage. Below is a screenshot of Adagios with a map of a three-node network, showing link-layer connectivity and RSS values.
Below is a graphic of the elements of the system, followed by a brief feature description and links to implementations.
Nethead includes three components. The Agent resides on the motes and border router, and collects and forwards monitored state to the Manager via CoAP messages. The Manager translates the Agent data into NSCA messages to the Adagios/Nagios server. The Adagios UI then presents the motes and border router as hosts, and monitored state as services.
Presently, the Agent reports RSS readings once per minute, starting at bootup. Nethead Manager accepts the readings, and automatically creates the Nagios host and service records (screenshot). Adagios provides a nice graph of the RSS readings (screenshot) as well as the map shown above. Presently the size of the message payload limits the number of neighbors per mote to two or three.
See the Roadmap page for next steps and development goals.
Motes and Border Router
Presently, the mote-level Agent elements are built on the OpenWSN project.
Software is provided by the nethead branch of openwsn-sw repository clone, in the OpenVisualizer application. OpenVisualizer is an interactive development and debugging tool, implemented in Python, that includes router functionality. The Agent is implemented as a package within OpenVisualizer, and is activated when the DAGroot mote is selected. The Agent uses the SOS CoAP library.
We routinely use a BeagleBone to host OpenVisualizer. See the setup instructions.
Monitoring/Management Web Server
Software is provided in the master branch of the project that hosts this wiki. The Manager is a standalone Python application, and we run it from the command line. It uses the pynag library to format and send NSCA messages to Nagios, as well as the SOS CoAP library.
Software is provided by a nethead branch of the Adagios source. We captured the details of installation. The LLN Map in the graphic above is based on the D3 library. The source is a fork of directed-graph-creator, adapted to display network state.