In my first post on RouterFreak, I have decided to write an article about my last project: WhoisUP.
What is WhoisUP?
WhoisUP is a script that allows you to simply monitor your network via web, checking hosts reachability, latency and most important generating alerts when something is not right. And it’s completely free to use!
WhoisUP is open source, released under the GPLv2, and offers a beautiful web interface with AJAX features.
Many people ask me why I wrote a new script instead of using a pre-existent script/software; the reasons are different, but in particular four:
- Surfing the web, I have found software that check hosts with a minute delay (they use crontab…), but in my case I want to check hosts with a smaller delay, less than 60 seconds; other software can check hosts continually, but they are too complex for my purpose and they have features don’t needed in my case.
- They can be too expensive.
- They are operating system-dependent.
- The last but not least is because I love PHP and write code.
How WhoisUP works
During the design phase, I had two possibility to send ICMP packets: using PHP raw packets or using a third-party software. My choice was addressed to use a third-party software: Nmap.
As a matter of fact, Nmap can send ICMP packets with high performance and save the result into an XML file. So the script can read this output file, shows the host status (up or down) in a web page and, in case of fault, can trigger alert.
Actually the last stable version is WhoisUP v0.2 and it can be found on the sourceforge webpage: http://whoisup.sourceforge.net
WhoisUP uses PHP for the server-side operations, while for the client-side operations it uses JQuery; moreover, the script is not OS dependent, so it can be used on linux, windows, … machines without problems!
The only requirements are:
- WEB Server (Apache, ISS, …)
- PHP 5 >= 5.1.0
- NMAP >= 6.00
WhoisUP is based by three different webpages: admin, compact view and normal view.
- In the admin page, as the word suggests, it is possible define all script parameters.
- In the compact mode, you can see the number of the devices that are up, down and in warning. An host is in warning when its latency overcome the latency parameter defined in the admin panel. Moreover, when the popup alert is enabled, the page shows also the details about the down or warning hosts.
- In the normal mode, you can see all the device infos: the name, the IP address, the latency and the threshold. In this case, when the popup is enabled, the script show when the device is down.
The script can trigger three different alarms:
- A sound alert, very useful when you won’t check continuously the webpage.
- A mail message to advise you when an host is down and when the host is back up.
- A syslog message, like a mail message, but with a different protocol type.
Below a video explains how to configure and use WhoisUP:
WhoisUP is free and the official page is hosted by sourceforge here: http://whoisup.sourceforge.net/
Any feedback is appreciated!
4 comments
Nice tool, using NMAP as backend tool can make it simple to extend the check from simple PING to specific udp/tcp ports to check the services availability.
That would be a good additional feature for next version
Yes Matri, this is what I would develop in the next version 🙂
A web interface to check non only the reachability but also the tcp/udp ports 🙂
hi, sounds great! What do you think about Nagios? Are you thinking to add some snmp capability in order to extend features?
thanks
Max 🙂
Hi,
Nagios is a very nice tool that does various things.
At the moment whoisup will remain as a standalone project, but I don’t exclude anything for the future 🙂