You are here

New MeshStat node monitoring program

21 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

ke7xo
I like

interesting to watch colors change on nodes several hops away

the channel and bandwidth feature is great.   

thanks...

Richard    ke7xo

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.

 

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
 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer