Thanks for the thread pointer. Just wanted to give an update. Did manage to get snmp working with nagios on remote server. For now I am holding off on the nrpe->nagios route since the port of nrpe in ipkg seems to be intended for unslung.
Not having played around with snmp before it took some poking around. I had to generally do the following.
Installed
net-snmp on the TS-209 pro box (How do i get to start the daemon automatically after a boot ? Do I need to put it in autorun.sh?)
Edited the /opt/etc/snmpd.conf to add the mounts /share/HDA_DATA, /share/HDB_DATA in the disk monitoring section.
On the remote ubuntu box after I set up the
check_snmp plugin for nagios server, the most difficult part for me to get hold of the various
MIB OIDs. Ended up using the
mbrowse on the ubuntu box. For starters I am interested in the disk utilization, load, memory, uptime, network port status. Turns out the relevant OIDs are spread out under the
iso.org.dod.internet.management.mib-2 and
iso.org.dod.internet.private.enterprises.ucdavis nodes. Used a combination of
snmpwalk command, snmpd.conf (on TS-209),
search facility of mbrowse to locate the relevant OIDs (that were supported by TS-209).
Once I was able to identify the OIDs, the next step was to set up the nagios snmp commands towards TS-209 and that was relatively easy.
Getting the OIDs were the most difficult thing for me here. mbrowse seems to be a nice tool.
Getf on my windows XP kept crashing for some reason.
Here are the nagios commands I am using. For some I am using MIB object names
and for others I am using OIDs directly, and combination for some. One can look for
these OIDs in mbrowse once it has been pointed at the TS-209 snmpd server
#Check Disk 1 utilization (same thing for Disk2 or they can be combined in one command)
define service{
use generic-service ; Inherit values from a template
host_name QNAP01
name Disk 1
service_description Disk 1 Utilization
check_command check_snmp!-P 2c -l Disk -u % -w 90 -c 95 -o dskPercent.1
normal_check_interval 720
retry_check_interval 15
}
# Monitor Port 1 status via SNMP
define service{
use generic-service ; Inherit values from a template
host_name QNAP01
service_description Network Port Status
normal_check_interval 5
check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB
}
# Command for Checking Uptime
define service{
use generic-service ; Inherit values from a template
host_name QNAP01
service_description Uptime
normal_check_interval 5
check_command check_snmp!-P 2c -l Uptime -o .1.3.6.1.2.1.1.3.sysUpTimeInstance
}
# Command for Checking CPU load Average (over 1min, 5 min, 15 min)
define service{
use generic-service ; Inherit values from a template
host_name QNAP01
service_description Load Average over 1 5 15 min
normal_check_interval 5
check_command check_snmp!-P 2c -l LoadAvg -o .1.3.6.1.4.1.2021.10.1.3.1,.1.3.6.1.4.1.2021.10.1.3.2,.1.3.6.1.4.1.2021.10.1.3.3
}
# Command for Checking CPU load Average Error Flag (0 is ok)
define service{
use generic-service ; Inherit values from a template
host_name QNAP01
service_description Load Average Error Flags
normal_check_interval 5
check_command check_snmp!-P 2c -l LAErrFlags -r0 -o .1.3.6.1.4.1.2021.10.1.100.1,.1.3.6.1.4.1.2021.10.1.100.2,.1.3.6.1.4.1.2021.10.1.100.3
}
# Command for Checking Real Memory (Outside range is ok)
define service{
use generic-service ; Inherit values from a template
host_name QNAP01
service_description Real Memory Availability
normal_check_interval 5
check_command check_snmp!-P 2c -l Memory -u KB -w 1000:500 -c 500:0 -o memAvailReal.0
}
These mem ranges are just experimental and not based on any rational logic

Hope these will help somebody else in my situation