Checking for read only file systems remotely
In your snmpd.conf
check out the exec argument. I use this to remotely poll the usercount of some of my IRC servers, like this:
exec usercount-irc /home/irc/usercount-irc.sh
To poll this you snmpwalk .1.3.6.1.4.1.2021.8, and would get something like this:
# snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.2021.8
UCD-SNMP-MIB::extIndex.1 = INTEGER: 1
UCD-SNMP-MIB::extNames.1 = STRING: usercount-irc
UCD-SNMP-MIB::extCommand.1 = STRING: /home/irc/usercount-irc.sh
UCD-SNMP-MIB::extResult.1 = INTEGER: 0
UCD-SNMP-MIB::extOutput.1 = STRING: 558
UCD-SNMP-MIB::extErrFix.1 = INTEGER: 0
UCD-SNMP-MIB::extErrFixCmd.1 = STRING:
Check the Extending Agent Functionality part of http://linux.die.net/man/5/snmpd.conf for further details!
Edit 1:
UCD-SNMP-MIB:dskTable contains information about mounted volumes and usage. It is located under OID .1.3.6.1.4.1.2021.9 and documented at:
http://www.oidview.com/mibs/2021/UCD-SNMP-MIB.html
http://www.net-snmp.org/docs/mibs/ucdavis.html#dskTable
But I see now it doesn't contain mountflags, so you can't see read only there. Gah. Back to the script above and how to call it! :P
For most "how do I do X in nagios?", you'll find that someone has already written a plugin that will do all of, or at least some of, what you need.
In this case, you could probably use check_ro_mounts in combination with the 'negate' plugin (part of standard nagios plugins), or just modify it to suit your needs:
http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/check_ro_mounts/details