SNMP (at least NET-SNMP in Linux) is providing enough data to setup checks for CPU, memory, disk and processes to a standard Nagios.
I recently migrated quite a few nodes from purely SNMP-based monitoring into Nagios and this was possible without modifications on the nodes, since
check_snmp (load, idle),
check_snmp_mem.pl (besides HTTP, SMTP) provide all the base checks to start with.
You can select TCP over UDP, if the connectionless protocol will not pass your local firewalls.
Using the SNMP agent is extendable by external commands, if you need anything special, not talking about the AgentX interface.
Beware that you use a proper memory check, that can handle buffers and cache in Linux, otherwise you will run into a lot of false positives. This also depends on kernel relesases.
check_snmp_disk_monitor.pl are often included in the contrib section of the Nagios Plugins.
check_snmp_mem.pl at http://nagios.manubulon.com/.
If anyone has an idea about getting the same scope of data for a Windows node by means of SNMP, please let’s discuss it by email.