bsnmpd returns incorrect hrProcessorLoad values

Gustau Pérez gperez at entel.upc.edu
Fri Jan 29 22:30:57 UTC 2010


En/na Mikolaj Golub ha escrit:
> On Fri, 29 Jan 2010 12:37:52 +0100 Gustau Pérez wrote:
>
>   
>>   Hi,
>>
>>   I'm using cacti to monitor some servers running FBSD. I was using 7.2
>> with SCHED_4BSD. With this configuration : bsnmpd+bsnmp-ucd was
>> returning right values for the cores' load.
>>
>>    I recently updated the servers (via csup) to RELENG_8 and bsnmpd is
>> returning negative values for the cores' load. If I try something like
>> in a 4-core system :
>>
>>               snmpwalk -v 2c -c community server .1.3.6.1.2.1.25.3.3.1
>>
>>    what I get is :
>>
>>         .1.3.6.1.2.1.25.3.3.1.1.6 = OID: .0.0
>>         .1.3.6.1.2.1.25.3.3.1.1.10 = OID: .0.0
>>         .1.3.6.1.2.1.25.3.3.1.1.14 = OID: .0.0
>>         .1.3.6.1.2.1.25.3.3.1.1.18 = OID: .0.0
>>         .1.3.6.1.2.1.25.3.3.1.2.6 = INTEGER: -182
>>         .1.3.6.1.2.1.25.3.3.1.2.10 = INTEGER: -182
>>         .1.3.6.1.2.1.25.3.3.1.2.14 = INTEGER: -182
>>         .1.3.6.1.2.1.25.3.3.1.2.18 = INTEGER: -182
>>
>>   I tried and old bsnmpd-ucd (0.2.1, works fine in a 7,2 system) with a
>> 8.0 system. Same wrong results. And it seems bsnmpd in /usr/src/contrib
>> has not changed between 7.2 and 8.0.
>>
>>   Any ideas ? I'm not an expert, but with tcpdump I see different
>> results. Against an old 7.2 system, the field related to each core load
>> gives the right value. Instead, against and 8.0 system, those field show
>> (in hex) values like fd 4b. What I don't know is how bsdnmp-ucb retrives
>> those values and how it construct the udp response packet.
>>     
>
> bsnmpd-ucd has nothing to do with HOST-RESOURCES-MIB. These mibs are provided
> by snmp_hostres(3) module (/usr/lib/snmp_hostres.so). So something wrong is
> there (I suppose it is not in sync with some recent changes in kernel or
> libkvm).
>
>   
   I thought the same with a grep -r in the bsnmpd-ucd port. But If I
deinstall bsnmpd-ucb then I can't check those mibs.

   Anyway, changing the scheduler to SCHED_ULE gives a 100% for all
processors. Maybe that can be a hint.

   Regards,

   Gus


-- 
PGP KEY : http://www-entel.upc.edu/gus/gus.asc



More information about the freebsd-stable mailing list