I require the following project for Monitoring servers and alerting staff when a problem is present. The PHP program needs to accept a hostname via a request and then access a MySQL database (name not important) with a table of the following layout within:
Number (Auto-incremental Primary Key)
Hostname (May contain IP address)
Protocol (TCP, UDP, ICMP echo-request/echo-reply supported)
Port (If applicable)
LastState (up, down, unreachable, greeting)
LastGreeting (The last greeting from the server)
LastCheckDate (This needs to be a DateTime field)
ResponseTime (Time taken to reply to connection/ping)
There may be multiple entries per hostname and the program needs to check all the entries for a hostname. Only ping for icmp and specific ports for UDP/TCP need to be checked. The program needs to check the new greeting from the server against the LastGreeting, if changed from the LastGreeting the LastState needs to be adjusted to greeting. If a timeout occurs the LastState needs to be changed to down, if the connection is successful the LastState needs to be adjusted to up. If a hostname resolve error or icmp responds the host is missing, LastState should be unreachable. The LastCheckDate should contain the date/time when the check has been started. The ResponseTime needs to be adjusted according to how long the check took to complete.
Thank you for looking at this project!
3 freelancers are bidding on average $50 for this job
I'd like to offer a more reliable solution. Nagios is an open monitoring framework, and it rocks. Check [url removed, login to view] I have an experience of installation and usage, you can try it too.