We are using statping for basic uptime monitoring and a public status page. It works well but the project hasn't been updated or maintained much recently so we are looking at alternative options at the moment.
We host the statping instance in a separate datacentre where we don't host anything else, so if there is an issue affecting one of our servers it shouldn't affect the monitoring.