Nagios ships with a very powerful
check_http plugin that allows you to monitor websites in quite a simple way. This plugin should be enough for a large variety of tasks. However, there are often situations where only using this plugin is not enough.
If you are running a website that is critical to your business, only checking that the main page is showing up correctly may not be enough. In many cases, you might actually want to be sure that the users are able to log in, orders can be sent out, and reports can be generated correctly.
In such cases, it is not sufficient just to check if a couple of pages work correctly. It might be necessary to write a more complex check that will log you into the website, fill out an order form, ...