If your site is loosing connections to the Database - there are not many site monitoring tools that are that useful. Since all most of them do is check to see if your site is responding to HTML requests with a valid 200 response - and dotnetnuke still responds by showing the site maintenance error screen - which is still a valid response. Most site monitoring tools look from a 400 or page not found error.
But having said this - what you need to better understand is why you are loosing connections to the database.
In many cases this is actually because of an issue with how database connections are made in asp.net - and more to the point that under some circumstances - specifically when the host restarts the ms sql server while your web application server is still running - that you get into a weird situation where the application pool has no physical connection to the ms sql server - but because the server has not shut down correctly - asp.net does not know that it needs to reconnect to the ms sql server.
The only way to fix this issue is to force a restart of the asp.net application pool - effectively restarting the web server. This action forces a new connection to the ms sql server.
A while ago Johnathan Sheely released a special module for DNN that helps with this issue - basically it sets up a custom background thread that runs while your web application is active - it check on a regular basis to make sure that it is possible to make a connection to the ms sql server.
If a connection cannot be made - it forces a restart of the web application pool.
You can download a copy of the module from here http://dnndbmon.codeplex.com/
NOTE however - that you should really talk to your hosting provider is this is happening regularly - its tends to be an indication that their MS SQL server is not performing at its optimum. More to the point - it may be crashing and restarting itself - and this is not something that you want happening if you need a reliable and fast dnn site.
Westa