Must be able to assign multiple IP addreses to each device and test each IP address individually if needed.
Minimal impact on service being monitored
Minimal effort to monitor (and manage) clients (remote devices)
Do not require upgrades to existing infrastructure (e.g. must run latest version of software before it can be monitored)
Ability for remote monitoring servers to report to a cental server
Dependency aware (if a core router fails, do not send 100 alarms for devices behind it)
Allow for scheduled downtime (disable a test in the future)
Require a reason to be displayed
Allow for regular maintenance windows (application is restarted every sun night - do not send out alarms)
Ability to delegate testing to other devices (eg. tier management structure)
Audit history in monitoring system ( server added date, when was monitoring disabled and why etc )
The system must be able to self-monitor
Be able to monitor 1000+ devices
Allow variable polling (some tests every 5 mins, some tests every 1 min)
Redundancy (if your main monitoring server fails, have a second server on standby)
Apply default thresholds to groups of devices. Allow "one off" exceptions to these thresholds. e.g. all file systems must be less than 90% full. For serverX /opt must be less than 94% full since it currently is at 93% and should not change.