Re: bsnmpd daemon eating all cpu

From: Bartosz Giza <gizmen_at_blurp.pl>
Date: Tue, 22 Jan 2008 21:17:56 +0100
Tuesday 22 of January 2008 21:02:01 napisałeś(-łaś):
> Bartosz Giza wrote:
> > Tuesday 22 of January 2008 17:25:15 Harti Brandt napisał(a):
> >> Hi,
> >>
> >> On Tue, 22 Jan 2008, Bartosz Giza wrote:
> >>
> >> BG>I am using dell poweredge sc440 router with one xeon dual core cpu.
> >> BG>This is basicly only router for dummynet firewall dhcpd and named.
> >> BG>I want to run bsnmpd daemon but when i start it it starts eating all
> >> cpu from BG>one core.
> >> BG>I have run truss to check what it is doing and i have got huge amount
> >> of such BG>syscalls
> >> BG>gettimeofday({1201008182.366354},0x0)            = 0 (0x0)
> >> BG>
> >> BG>I want to use this daemon because it is in base system but if i could
> >> not run BG>this daemon in normal way i will be forced to use net-snmpd
> >> port. BG>I have basic config with hotres module added.
> >> BG>I am running freebsd 7.0-prerelease.
> >> BG>Alsa what is strange i have exactly the same machine with freebsd
> >> BG>7.0-prerelase but with only one network card for testing and bsnmpd
> >> behaves BG>normal.
> >> BG>Could some one help me with this. I can send dump from truss or even
> >> do some BG>more testing.
> >>
> >> Could you please disable all modules? Just comment out all lines
> >> starting from the Load MIB-2 module line. What does it do then?
> >
> > When i turn off all modules bsnmpd uses 0% of cpu. When i have added this
> > snmp_mibII.so module it started again to use 100% of one core.
> > On other UP kernels with 7-PRE bsnmpd behaves good. And also when i was
> > trying to find what is going on i found that it happens when there is
> > quite bit of traffic on interfaces.
> > For test purposes i have downed lan interface and bsnmpd stopped to use
> > 100% of cpu. And when i have brought up lan interface bsnmpd started
> > again to use 100% od cpu. So it is related to IP traffic.
>
> I have a feeling that this is related to the 64-bit counter emulation.
> Could you please tell me what interfaces you have in that machine and on
> what speed they are running? Have you set any of the begemot* variables
> for MIB-2 in snmpd.conf (especially the polling related ones)? Maybe
> just send me the snmpd.conf?
>
> harti

Ok, i have one bge and two fxp interfaces.
bge0:  media: Ethernet autoselect (1000baseTX <full-duplex>)
fxp0:  media: Ethernet autoselect (100baseTX <full-duplex>)
fxp1:  media: Ethernet autoselect (100baseTX <full-duplex>)

Below is my config, and i hardly changed anything exept of comunity and 
listening ip.

Thanks

---------------------
location := ""
contact := ""
system := 1     # FreeBSD
traphost := localhost
trapport := 162

# Change this!
read := ""
# Uncomment begemotSnmpdCommunityString.0.2 below that sets the community
# string to enable write access.
write := "geheim"
trap := "mytrap"

#
# Configuration
#
%snmpd
begemotSnmpdDebugDumpPdus       = 2
begemotSnmpdDebugSyslogPri      = 7

#
# Set the read and write communities.
#
# The default value of the community strings is NULL (note, that this is
# different from the empty string). This disables both read and write access.
# To enable read access only the read community string must be set. Setting
# the write community string enables both read and write access with that
# string.
#
# Be sure to understand the security implications of SNMPv2 - the community
# strings are readable on the wire!
#
begemotSnmpdCommunityString.0.1 = $(read)
# begemotSnmpdCommunityString.0.2       = $(write)
begemotSnmpdCommunityDisable    = 1

# open standard SNMP ports
begemotSnmpdPortStatus..161 = 1

# open a unix domain socket
begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1
begemotSnmpdLocalPortType."/var/run/snmpd.sock" = 4

# send traps to the traphost
begemotTrapSinkStatus.[$(traphost)].$(trapport) = 4
begemotTrapSinkVersion.[$(traphost)].$(trapport) = 2
begemotTrapSinkComm.[$(traphost)].$(trapport) = $(trap)
sysContact      = $(contact)
sysLocation     = $(location)
sysObjectId     = 1.3.6.1.4.1.12325.1.1.2.1.$(system)

#snmpEnableAuthenTraps = 2

#
# Load MIB-2 module
#
begemotSnmpdModulePath."mibII"  = "/usr/lib/snmp_mibII.so"

# Force a polling rate for the 64-bit interface counters in case
# the automatic computation is wrong (which may be the case if an interface
# announces the wrong bit rate via its MIB).
#%mibII
#begemotIfForcePoll = 2000

#
# Netgraph module
#
#begemotSnmpdModulePath."netgraph" = "/usr/lib/snmp_netgraph.so"
#
#%netgraph
#begemotNgControlNodeName = "snmpd"

#
# pf(4) module
#
#begemotSnmpdModulePath."pf"    = "/usr/lib/snmp_pf.so"

#
# Host resources module
#  This requires the mibII module.
#
begemotSnmpdModulePath."hostres" = "/usr/lib/snmp_hostres.so"

#
# Bridge module
#  This requires the mibII module.
#
#begemotSnmpdModulePath."bridge" = "/usr/lib/snmp_bridge.so"

-- 
Pozdrawiam
Bartosz Giza
Received on Tue Jan 22 2008 - 19:17:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:26 UTC