RMON is actually a MIB which really runs on top of snmp. The advantages of RMON is that it allows to create custom thresholds and traps that aren't available via the standard snmp traps. It also allow polling of items like ethernet statistics and collect these samples and save the history.
Here's an example of a custom RMON event we created for temperature:
You could set temperature
thresholds something like this:
You can get the current temperature value with the ciscoEnvMonTemperatureStatusValue OID
(.1.3.6.1.4.1.9.9.13.1.3.1.3)
Say after going through the mother table you noticed that your temperature is found in
instance X, then the OID to poll or monitor is .1.3.6.1.4.1.9.9.13.1.3.1.3.X
rmon alarm .1.3.6.1.4.1.9.9.13.1.3.1.3.X
absolute rising-threshold falling-threshold
rmon event 1 trap description "Router is burning !!" log
rmon event 2 trap description "Router has cooled off !!" log
snmp-server host traps
Notice that it still sends it as an snmp trap. You don't want to use either RMON or SNMP, but instead you could add RMON to your device for extra info and functions.