I've put together a new tool 'MeshStat' to monitor the status of a set of mesh nodes.
There are about 10 nodes that I want to monitor on an occasional basis and I thought it would be great to have a program that would show their status at a glance (without a browser), so I created the MeshStat program. Here is a quick screen shot of MeshStat monitoring a few nodes:
The shade of green for each node varies depending on the response time. Notice that bottom left node is brighter green because it responds twice as fast as the other nodes. Nodes that are down or do not respond are shown in various shades of red. This program supports 2 modes: the full display as shown above and a "one-line" mode which shows only one line for each node (for larger numbers of nodes). There are many aspects of the program that you can control by editing a configuration file. The program is intended to monitor up to about 10-20 nodes but it should be able to monitor a larger number in the 'one-line" mode.
MeshStat is still in early development but it works reasonably well on Linux and PCs. I've put it on github:
You can download the latest release at:
Make sure you read the README.md file! I'm aware the display has to be manually adjusted and that it can be a tedious process. Making that part easier is high on my list of future improvements. I've included some suggestions on how to set up the display in the README.md (text) file.
I welcome constructive suggestions.
Enjoy!
-Jonathan KF6RTA
jmcameron@gmail.com
P.S. The program uses C++ and wxWidgets and is therefore cross-platform. I have it compiling for Linux and MS Windows PCs, but not the Mac (since I do not have one). If someone has some experience with using wxWidgets on the Mac and is interested in compiling binaries for the Mac, I can make them available too.
P.P.S. Thanks for Joe Ayers (AE6XE) and Don Hill (KE6BXT) for doing early testing and giving some interesting suggestions about possible future extensions.
David
You may be right, but I have no experience with either. The MeshStat C++ code is online and I suppose the parts that read the sysinfo.json file could be adapted for Nagios/Zabbix. I have too many other irons in the fire to do this one too. In any case, MeshStat is pretty simple to set up and use, so I think it has a niche of its own.
-Jonathan
Thanks!
My email is in the first post, feel free to email me your UI suggestions! I consider this as a first cut at the UI so I'm definitely open to suggestions. One of my priorities is to make the window sizing easier to do and changeable via window resizing, etc.
-Jonathan
The AREDN team has built SNMP (Simple Network Management Protocol) support into the AREDN software. A variety of operational parameters can be queried and graphed automatically when performed by an SNMP-compatible network management server like Nagios. etc. I happened to use PRTG Network Monitor because a lightweight version of this powerful tool is free for our use.
SNMP tools are the standard of the industry for monitoring network performance and are relatively easy to setup and configure. I encourage you to explore them before thinking you need to reinvent the wheel.
Andre, K6AH
Currently, I'm getting and parsing the sysinfo.json file for each node. But I could certainly replace or augment that with SNMP queries. I checked wxWidgets (which I used to create MeshStat), and it supports general socket connections so I'm pretty sure it could be used to do the SNMP queries.
-Jonathan
Hi Jonathan,
The snmpwalk command returns all of the supported params. But it's not this approach I was suggesting... the network management systems that use SNMP already have graphic illustrations of network performance built in. Data illustrating link performance can even be laid over a map background.
David
KE6UPI
Glad to hear it worked for you without too much setup pain! Let me know if you think of improvements that you would like to see.
-Jonathan
https://github.com/jmcameron/MeshStat/releases/tag/v0.9.5
Enjoy!
-Jonathan
I tried this on Fedora Linux 25, but get:
[root@w6bi-shack-pc Downloads]# ./MeshStat
./MeshStat: error while loading shared libraries: libwx_gtk2u_unofficial_xrc-3.1.so.0: cannot open shared object file: No such file or directory
[root@w6bi-shack-pc Downloads]#
What package am I missing?
Thanks.
But I need to rework the compile on Linux to generate a completely static build that does not depend on shared libraries. It will take me a few days before I get to that.
-Jonathan
Orv
To download the latest release, please visit:
https://github.com/jmcameron/MeshStat/releases
Note that there is a build for Ubuntu 14.04 and Fedora 25. If you need a build for other Linux versions, please let me know. Don't forget to read the README.md file if you encounter missing dependencies in Linux.
Enjoy!
-Jonathan
I use MeshStat a lot for getting a quick check of the nodes on out network. It has proven quite useful to me. (Thanks for the utility Jonathan!)
Currently my main device is a TP-Link CPE210 (v2) and I noticed with the recent Nightly Builds #221 and #224 that my CPE node is not found ("No successful access...") yet when I regressed to #186 it all worked okay. Then back to #224 and it doesn't work. I don't know if the problem is with the MeshStat or the Nightly Build but something isn't quite right.
There is another node (AirGrid) nearby running Nightly #221 that also now is not found by MeshStat. Also a Rocket running #221 doesn't work MeshStat (No successful access).
Maybe Nightly builds after #186 (or so) are the problem and not MeshStat?
73 - Mike ab4yy
Michael,
Thanks for the heads up. I'll see what I can do about it. But it may takes some time (too many distractions at the moment!)
Nice to hear folks are actually using MeshStat.
-Jonathan
-libpng12 is no longer available in the Ubuntu repository. so that needs to be installed!
https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1...
&
- sudo apt install libcanberra-gtk-module libcanberra-gtk3-module
I dosn't even run with out errors in ubuntu 18.04 64bit.
I can say that I works great under windows!
Q: I would like to see the # of tunnel connections probed and displayed. can this be incorporated?
-Jonathan
-Jonathan
Excellent work, Jonathan! Haven't yet tried it out, but it looks like you put a lot of work/thought into this. Looking forward to trying it out soon.
Has anyone gotten this running on a Raspberry PI (Raspian)?
- Don - AA7AU
ps: I've been using Nagios3 (note v3 not latest) for years on an old PI v1 with great success for a bunch of other remote monitoring. In the process of configuring a new instance of it for our PI3B-based web server on our mesh island.
-Jonathan
-Jonathan