Over the years i’ve used various server monitors with varying degrees of success, the ones I did like are now paid for and over bloated with premium features I don’t need. So couple of weeks ago I thought about doing my own!.
Requirements
1, Simple clean interface
2, Ping only monitoring (for now)
3, Use remote nodes
4, All self written software
I began customizing an opensource firmware for a spare device I had and is still a work in progress as there is much to do. I have been writing scripts to interact between a single worker node and a master node. Currently I have the worker able to ping an ip address and report back to the master the return status i.e pass or fail at which point it then updates a simple webpage. To reduce the risk of false positives if the worker reports a fail the master will re check to verify it’s actually down.
Now my webdesign skills are limited to say the least (hell I use WP) i’ve had a ‘play’ around before so this was the first version I cam up with.
Yes its ok you can stop laughing now!
I decided to google bootstrap as previous sites built round this give the ‘clean’ look I want. This is v2, as you can see the entire row colour reflects the status i.e up or down.
Bit more googling and playing and I came up with v3. This differs from v2 in the fact that the status is only shown as a single button.
Currently i’m hard coding the test ips into a file, it would be nice to have the ability to add new monitors via the webpage but i need to figure out a) how to add working buttons b) how the master then updates the worker with the new ip’s. I sense much pain and coffee in my future….
16/07/17
This morning i’ve added buttons (don’t do anything yet) to my v3 layout. Personally I think v4 has too many colours so it would be hard to tell if a node was down with just a quick glance.
20/07/17
Done a bit more today. The worker/master interaction is going well. So far ive tested a list of 10 ips containing a mix of real and fake and they have all been reported to the master correctly and it telling the worker what it should be. If they dont agree the master has overall say. In the future it would be nice to have two workers so they can decided between them then tell the master who will do final verification. The trouble is going beyond 121 messaging things can get messey with messages lost/delayed/sent twice etc so is a fair amount more work. Ive decided im sticking with the v2 layout as its easy to tell the status and looks cleaner.