My apologies, luca, I am infact using NSCA (long day at the office yesterday).
All checks (CPU, Memory, Windows Servcies, Disk Capacity, Uptime, etc) are done passively (NSClient++ reports service status to my Nagios server via NSCA).
I have one check_rbl (spam blacklist) service which is actively checked by Nagios.
Each client will have approximately 7 service checks each.
I have check_stale in place to notify me (service status turns critical) when a client fails to report the status of a service after so many minutes, I would like to do something similar with the host check.
Host checks are currently being actively checked by Nagios, but this is not ideal as each server sits behind its own firewall.
This means active checks will only tell me whether the customer router is online or not, which I am not really interested in at this stage.
NAT is not a valid option as multiple servers sit behind one firewall and I want to keep the configuration as simple as possible.
When the rollout is complete, we will be monitoring between 80-100 Windows servers.