I have several RB450Gs and a couple of RB493Gs.
I have noticed on 3 of the RB450Gs, 2 running 4.16 and one running 4.17 and one RB493G running 4.17 that sometimes, they do not want to return the values for the temperature and / or voltage OIDs.
> snmpwalk -v1 -c community {RB493G_HOSTNAME} 1.3.6.1.4.1.14988.1.1.3
SNMPv2-SMI::enterprises.14988.1.1.3.9.0 = STRING: "n/a"
SNMPv2-SMI::enterprises.14988.1.1.3.10.0 = INTEGER: 520
> snmpwalk -v1 -c community {RB493G_HOSTNAME} 1.3.6.1.4.1.14988.1.1.3
SNMPv2-SMI::enterprises.14988.1.1.3.8.0 = INTEGER: 251
SNMPv2-SMI::enterprises.14988.1.1.3.9.0 = STRING: "n/a"
SNMPv2-SMI::enterprises.14988.1.1.3.10.0 = INTEGER: 520
I just installed the above box and tried to use mrtg’s cfgmaker with a custom host template to build the inital .cfg for that host.
I was surprised to not have entries for voltage or temperature. The first SNMP walk above was the first snmpwalk that had ever been performed against that box.
It seems like a SNMP walk is enough to kick it back into gear for a while and MRTG’s SNMP gets work again.
Two of the 450Gs have been in production for a while and occasionally stop answering for those oids. I left it alone for three days. MRTG didn’t get a good read during that time. I ran snmpwalk and the next MRTG run got good answers. I have not seen a problem with CPU utilization OIDs or the interface OIDs.
host.template snippet:
my $temp1_oid = oid_pick($router_connect,$v3opt,".1.3.6.1.4.1.14988.1.1.3.10.0");
my $temp2_oid = oid_pick($router_connect,$v3opt,".1.3.6.1.4.1.14988.1.1.3.11.0");
if ($temp1_oid){
my $target_name = $router_name . ".temperature";
if (! $temp2_oid) {
$temp2_oid = "PseudoZero";
}
my $dir = '';
$dir = "Directory[$target_name]: $directory_name" if $directory_name;
$target_lines .= <<ECHO;
$dir
Target[$target_name]: $temp1_oid&$temp2_oid:$router_connect / 10
YLegend[$target_name]: Temp C
ShortLegend[$target_name]: C
Legend1[$target_name]: Temp
Legend3[$target_name]: Max Observed Temp
LegendI[$target_name]: Temp :
WithPeak[$target_name]: ywm
MaxBytes[$target_name]: 100
Options[$target_name]: gauge, nopercent, noo
Title[$target_name]: $sysname Temperature
PageTop[$target_name]: <h1>$sysname Temperature</h1>
<div><table>
<tr><td>System:</td> <td>$sysname in $html_syslocation</td></tr>
<tr><td>Maintainer:</td> <td>$html_syscontact</td></tr>
<tr><td>Description:</td><td>$html_sysdescr</td></tr>
<tr><td>Resource:</td> <td>Temp ($temp1_oid)</td></tr>
</table></div>
ECHO
}
my $volt1_oid = oid_pick($router_connect,$v3opt,".1.3.6.1.4.1.14988.1.1.3.8.0");
if ($volt1_oid){
my $target_name = $router_name . ".voltage";
my $dir = '';
$dir = "Directory[$target_name]: $directory_name" if $directory_name;
$target_lines .= <<ECHO;
$dir
Target[$target_name]: $volt1_oid&PseudoZero:$router_connect
Options[$target_name]: nopercent,gauge,noinfo,noo
Title[$target_name]: $router_name - DC Voltage in
PageTop[$target_name]: <h1> $router_name - DC Voltage in </h1>
<table>
<tr><td>System:</td><td>$html_sysdescr ($router_name)</td></tr>
<tr><td>Maintainer:</td><td>$html_syscontact</td></tr>
<tr><td>Resource:</td><td>DC Voltage ($volt1_oid)</td></tr>
</table>
MaxBytes[$target_name]: 1100
Ylegend[$target_name]: Volts DC * 10
ShortLegend[$target_name]: V DC * 10
LegendI[$target_name]: %:
Legend1[$target_name]: DC Volts in * 10
Legend3[$target_name]: Max DC Volts in * 10
ECHO
}
BTW, how hot is too hot for these things? Not ambient air, but the results of the sensor on the RB which those OIDs monitor. At what value do I want to set the alarm for Nagios? I’ve seen the spec sheets, but I believe they refer to operating environment rather than actual temperature of the silicon.