WHAT? WhoisUP monitors hosts via ICMP and shows the status in a web page. When a host is down, the script can send mail, syslog message, open a popup message or play a sound.
Moreover, the script checks if the host exceeds the latency threshold limit.
WHEN? WhoisUP is useful to monitor hosts (PC, Server, NAS, Router, Switch and so on...) and to receive alerts when a host go down.
OS? No, the script works on Windows, Linux, ...
HOW? The script uses NMap to send ICMP packets and to save the host status into an XML file. Then, WhoisUP reads the XML and shows the report in a web page with AJAX features; in case of host failure the script can send alarms.
Requirements:
  • WEB Server (Apache, ISS, ...)
  • PHP 5 >= 5.1.0
  • NMAP
Components used:
  • JQuery for Ajax interactions
  • Nmap to check the host status
  • PHPMailer to send mail
  • Timezone-Selector to generate select input to choose a time zone
How to install it?
  1. Unzip the files and place them on your webserver
  2. Set the 'TMP' and 'conf' folders to chmod 777 (on *nix systems) or to writable permission (on Windows systems)
  3. Set the files into 'conf' and 'TMP' folders to chmod 777 (on *nix systems) or to writable permission (on Windows systems)
  4. Go to the page htttp://[name-of-your-host]/whoisup/admin.php
  5. Login with the default key: 'whoisup'
  6. Compile the fields and change the secret key
  7. Enable the core.php script in background. You have two ways to do it:
    • Call the core.php script using the php command line with administrative/root privileges; for instance: php \var\www\html\whoisup\core.php [your-secret-key]
    • Call the core.php using a browser (Explorer, Chrome, Firefox, ...); for instance open the page http://[name-of-your-host]/whoisup/core.php?secret=[your-key] This is the worst method, because the webserver must have administrative/root privileges.
  8. To see the host status, go to the page http://[name-of-your-host]/whoisup/ You can use two different views: normal or compact mode
Syntax Format:
  • The 'EmailToField' list must follow this syntax:
    • test@nospam.com
    • ciscozine@mydomain.com
    • whoisup@nospam.com
  • The IP address list must follow this format: [host-ip] # [host-name] For instance:
    • 192.168.1.1 # my-route
    • 8.8.8.8 # google-dns
    • 123.123.123.123 # test-host
  • If required, you can customize the host latency (in milliseconds) for each host; for instance:
    • 192.168.1.1 # my-route # 100
    • 8.8.8.8 # google-dns
    • 123.123.123.123 # test-host # 200
Note: In this example, the 8.8.8.8 host has the default latency value (defined in the admin page), while the other two hosts have custom latency value.
Rememeber:
  • If you stop the core.php script, you will not receive any message (mail, sound or syslog message)
  • The index page will advise you, if the core.php is stopped (in about 10 times the refresh value)
  • The index page (http://[name-of-your-host]/whoisup/) is only used to see the host status. It is not needed open the index page to receive mail or syslog message.
  • If you planning activities, like device reload, you can put the script in the maintenance mode. In this mode the script will not send any message.
Demo:
Screenshot:
Download: The project is hosted by sourceforge, here
Browser: WhoisUP is supported in all major browsers.
Licence: This program is free software and it is released under the GPLv2.
Author: Fabio Semperboni - Linkedin Profile - My Website - My twitter