You are here

New MeshStat node monitoring program

31 posts / 0 new
Last post
KF6RTA
KF6RTA's picture
New MeshStat node monitoring program

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:

MeshStat display for a set of 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.


 

KE6UPI
Nice Job Jonathan, I'll play
Nice Job Jonathan, I'll play with later today. Before I can play. My CEO, CFO, XLY said I have to clean my room today. 

David
KG6JEI
Wouldn't this data be more
Wouldn't this data be more useful in a Network Monitoring System such as Nagios or Zabbix?
KF6RTA
KF6RTA's picture
Re: New MeshStat node monitoring program
Conrad,

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
KD2EVR
KD2EVR's picture
Nice work.  Honestly I'd like
Nice work.  Honestly I'd like to see something like that available in a browser from any node.  In fact I have all kinds of ideas for UI improvments. 
KF6RTA
KF6RTA's picture
Re: New MeshStat node monitoring program

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
 

KD2EVR
KD2EVR's picture
Sorry, I meant I had ideas
Sorry, I meant I had ideas for the built-in AREDN UI.  I haven't had a chance to try your program yet. 
KG6JEI
Feature Requests for the
Feature Requests for the AREDN firmware are best submitted into bloodhound so they can be tracked and acted upon by the developers.
KD2EVR
KD2EVR's picture
It goes beyond a feature
It goes beyond a feature request or two which means its probably too much.  However, when the team does get around to revamping the UI I'd be happy to advise. 
K6AH
K6AH's picture
Explore SNMP-based Tools for Network Monitoring

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
 

KF6RTA
KF6RTA's picture
Re: Explore SNMP-based Tools for Network Monitoring
Thanks for the suggestions, Andre.   Actually Joe also pointed me that direction and gave me some pointers about SNMP in general.  How can I find out what the AREDN firmware actually supports in terms of snmp queries?  

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
 
K6AH
K6AH's picture
Hi 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.

 

kj6dzb
kj6dzb's picture
would you point me to a list
would you point me to a list of the returns a node can return, and were this is in the firmware code?
K5DLQ
K5DLQ's picture
Nice work Jonathan!  It will
Nice work Jonathan!  It will be super cool when you convert to use SNMP.  a lightweight SNMP client tool like this would be a great start for those operators that are intimidated by full SNMP monitoring packages.
KE6UPI
Thanks Jonathan , I worked
Thanks Jonathan , I worked right out of the box. I followed the readme and that its. Simple 

David
KE6UPI
KF6RTA
KF6RTA's picture
Re: Thanks Jonathan , it worked
David,

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

 
KF6RTA
KF6RTA's picture
New Release of MeshStat node monitoring program
With help from Don Hill, I've tracked down and fixed a bug that was preventing a node with empty latitude/longitude settings from being handled properly.    If you have downloaded the program, I suggest you get the updated 0.9.5 version from github:

    https://github.com/jmcameron/MeshStat/releases/tag/v0.9.5

Enjoy!

-Jonathan
w6bi
w6bi's picture
Missing Package?

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.

KF6RTA
KF6RTA's picture
Re: Missing Package?
This seems to be a shared object from CodeLite.  You may want to try installing it to see if that helps. 

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
w6bi
w6bi's picture
Thanks
Thanks - I'll research that some more.

Orv
KF6RTA
KF6RTA's picture
New Release 0.10.0 of MeshStat node monitoring program
MeshStat release 0.10.0 supports window resizing. The pane size specified in the config file is treated as the minimum. The README.md file has been updated to explain how to use the new resizing capability to easily find the correct pane size for the config file.

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
 
AB4YY
MeshStat or Nightly Build problem??

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

KF6RTA
KF6RTA's picture
Re: MeshStat or Nightly Build problem??

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

kj6dzb
kj6dzb's picture
at first glance on a Ubuntu
at first glance on a Ubuntu 18.04 64bit.....
-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? 

 
KF6RTA
KF6RTA's picture
Re: at first glance on a Ubuntu
I don't have access to a 18.04 machine at the moment so it will be a while before I can do anything about this.

-Jonathan
KF6RTA
KF6RTA's picture
Re: at first glance on a Ubuntu
If you get this working on Ubuntu  18.04, please provide info or do a pull request with updates that will allow compiling on earlier versions as well as 18.04.

-Jonathan
K5DLQ
K5DLQ's picture
(FYI, I just submitted/merged
(FYI, I just submitted/merged the fix for MeshStat reporting on the Mikrotik hAP AC Lite.  the next build will have the fix.)
AA7AU
AA7AU's picture
Excellent work, 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.
 

KF6RTA
KF6RTA's picture
MeshStat updated
I've updated MeshStat to handle the updated format of the sysinfo.json in the upcoming 3.18.9 release. You can get it through the github links in the first message above.  Look for version 0.11.0.

-Jonathan
 
w6bi
w6bi's picture
Not for Fedora Linux
Looks like Fedora Linux doesn't support anything past libjeg.so.62.2.0
KF6RTA
KF6RTA's picture
MeshStat for Fedora
I did not have time to compile MeshStat for Fedora.  I'll try to add that sometime this coming week.

-Jonathan

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer