If you're just checking for wether the box is up, a ping might be enough. If you want to see if the actual web server is down, you'd need to send a HTTP request.
Phantomjs is unnecessary as you won't need to render any JavaScript.
I don't see why you couldn't just make a crawler and test for status codes, but if the site is under DDoS it will time out.
Then, of course, you'll need cron or something to check it at regular intervals. I guess this is probably the most interesting part of the question, at least to me.