Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-09-20 15:06:48

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

snmpd - obciążenie cpu

Witam
Nigdy nie bawiłem się snmpd, ale chcę monitorować wydajność serwerka.
zainstalowałem na nim snmpd
snmpd -v

NET-SNMP version:  5.4.3
Web:               http://www.net-snmp.org/
Email:             net-snmp-coders@lists.sourceforge.net

Praktycznie chodzi, ale jak obserwuję htop to co kilka, kilkanascie sekund daemon snmpd obciąża mi jeden procesor na 100%.

konfig defaultowy, jedynie dodane rocommunity

w /etc/default/snmpd:

Kod:

cat /etc/default/snmpd 
# This file controls the activity of snmpd and snmptrapd

# Don't load any MIBs by default.
# You might comment this lines once you have the MIBs downloaded.
export MIBS=

# snmpd control (yes means start daemon).
SNMPDRUN=yes

# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

# snmptrapd control (yes means start daemon).  As of net-snmp version
# 5.0, master agentx support must be enabled in snmpd before snmptrapd
# can be run.  See snmpd.conf(5) for how to do this.
TRAPDRUN=no

# snmptrapd options (use syslog).
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'

# create symlink on Debian legacy location to official RFC path
SNMPDCOMPAT=yes

czy to normalne zachowanie daemona snmpd?

Offline

 

#2  2015-09-20 17:37:17

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: snmpd - obciążenie cpu

Całkowicie nienormalne, [b]snmpd[/b] nie ma żadnej roboty, która skutkowałaby takim obciążeniem, spróbuj jakiegoś trybu debug czy verbose, żeby się dowiedzieć, na czym się wykłada.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2015-09-20 17:50:28

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: snmpd - obciążenie cpu

Jak włączyłem -DALL to system zaczął baaardzo wolno chodzić i do tego syslog-ng na 100%.
uruchomiłmem by waliło logami na konsolę i przez ekran ogrom takich linijek:

Kod:

compare:index: compare .83 to .90
compare:index: result was -1
compare:index: compare .83 to .89
compare:index: result was -1
compare:index: compare .83 to .88
compare:index: result was -1
compare:index: compare .83 to .87
compare:index: result was -1
compare:index: compare .83 to .86
compare:index: result was -1
compare:index: compare .83 to .85
compare:index: result was -1
compare:index: compare .83 to .84
compare:index: result was -1
compare:index: compare .83 to .83
compare:index: result was 0
compare:index: compare .68 to .75
compare:index: result was -1
compare:index: compare .69 to .75
compare:index: result was -1
compare:index: compare .70 to .75
compare:index: result was -1
compare:index: compare .71 to .75
compare:index: result was -1
compare:index: compare .72 to .75
compare:index: result was -1
compare:index: compare .73 to .75
compare:index: result was -1
compare:index: compare .74 to .75
compare:index: result was -1
compare:index: compare .75 to .75
compare:index: result was 0
compare:index: compare .75 to .82
compare:index: result was -1
compare:index: compare .75 to .81
compare:index: result was -1
compare:index: compare .75 to .80
compare:index: result was -1
compare:index: compare .75 to .79
compare:index: result was -1
compare:index: compare .75 to .78
compare:index: result was -1
compare:index: compare .75 to .77
compare:index: result was -1
compare:index: compare .75 to .76
compare:index: result was -1
compare:index: compare .75 to .75

zauważyłem, że do /var/log/debug snmpd loguje:

Kod:

Sep 20 17:54:22 ed snmpd[26922]: error on subcontainer 'ia_addr' insert (-1)

tego jest na prawdę dużo a snmpd jest uruchamiany defaultowo bez trybu debug

Kod:

ps ax|grep snmpd
26922 ?        D      0:56 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid

do tego debugu z subcontainerem znalazłem rozwiązanie ale nadal co kilkanaście sekund proces snmpd osiąga blisko 100%

Kod:

sed -i 's/Lsd/LS6d/g' /etc/default/snmpd
service snmpd restart

Ostatnio edytowany przez Nicram (2015-09-20 18:11:30)

Offline

 

#4  2015-09-20 18:18:32

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: snmpd - obciążenie cpu

Na początek radziłbym spróbować inną wersję, albo inny program do monitoringu, jest tego trochę do wyboru, jak choćby Munin, Lstat, Monitorix.

Możesz też sam trochę porzeźbić, np Perl + MRTG i wiooo.

Względnie można pobawić się prawdziwe debugowanie (strace|gdb|valgrid), ale to już zabawa dla Developerów.

Ewentualnie, w Debku to może zabrzmi dziwnie, ale ja bym go przebudował ze źródeł, to często pomaga w podobnych wypadkach.

Mam w Gentusiu tą wersję:

Kod:

snmpd -v

NET-SNMP version:  5.7.3.pre5
Web:               http://www.net-snmp.org/
Email:             net-snmp-coders@lists.sourceforge.net

Wstał przed chwilą na defaultowym konfigu, jak dotąd nic nie wybuchło,
(w Htopie  w ogóle go nie widać). ;)

Ostatnio edytowany przez Jacekalex (2015-09-20 18:22:51)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2015-09-20 19:54:38

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: snmpd - obciążenie cpu

[quote=Jacekalex]Mam w Gentusiu tą wersję:

Kod:

snmpd -v

NET-SNMP version:  5.7.3.pre5
Web:               http://www.net-snmp.org/
Email:             net-snmp-coders@lists.sourceforge.net

Wstał przed chwilą na defaultowym konfigu, jak dotąd nic nie wybuchło,
(w Htopie  w ogóle go nie widać). ;)[/quote]
Tą samą wersję mam na innym gentoo i działa bez zarzutów, choć od czasu do czasu (ale to jest długi czas) load potrafi sporo się podnieść a restart daemona pomaga.

Offline

 

#6  2015-09-20 19:59:35

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: snmpd - obciążenie cpu

A jak obetniesz demona conieco przez cgroup?

Zazwyczaj radykalnie pomaga na takie humory różnych programów.
3 minutki ciężkiej pracy i oto rezultat:

Kod:

Proces /usr/sbin/snmpd; UID = root; GID = proc; PID = 7136;
13:debug:/
12:hugetlb:/
11:net_prio:/
10:perf_event:/
9:net_cls:/
8:freezer:/
7:devices:/
6:memory:/serwer/snmpd
5:blkio:/serwer/snmpd
4:cpuacct:/
3:cpu:/serwer/snmpd
2:cpuset:/

Przynajmniej nikomu nie będzie zawadzał w razie czego.
Ja tak "z buta" traktuję wszystko, co może robić jakieś kłopoty, lub się łączy z netem.

Ostatnio edytowany przez Jacekalex (2015-09-20 20:07:26)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2015-09-22 14:33:14

  qluk - Pan inż. Cyc

qluk
Pan inż. Cyc
Skąd: Katowice
Zarejestrowany: 2006-05-22

Re: snmpd - obciążenie cpu

-Lsd -> -LS6d
A problem stanowi interfejs sieciowy i jego konfiguracja, w większości przypadków.

Swoja droga 5.4.3 ma juz ponad pięć lat, a błąd jest opisywany od chyba 2008 czy 2009.

Offline

 

#8  2015-09-22 14:35:22

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: snmpd - obciążenie cpu

[quote=qluk]-Lsd -> -LS6d
A problem stanowi interfejs sieciowy i jego konfiguracja, w większości przypadków.[/quote]
To robiłem na samym początku, nie pomogło.

co masz na myśli, że konfiguracja interfejsu?

Offline

 

#9  2015-09-22 14:36:38

  qluk - Pan inż. Cyc

qluk
Pan inż. Cyc
Skąd: Katowice
Zarejestrowany: 2006-05-22

Re: snmpd - obciążenie cpu

Różnie, najcześciej to bridge, bond albo tunel GRE powoduje to.

Offline

 

#10  2015-09-22 14:39:32

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: snmpd - obciążenie cpu

[quote=qluk]Różnie, najcześciej to bridge, bond albo tunel GRE powoduje to.[/quote]
hmm, właśnie na tym serwerku są same bondy :/

Rozumiem, że przy takich interfejsach nie uruchamia się snmp?

Ostatnio edytowany przez Nicram (2015-09-22 19:37:41)

Offline

 

#11  2015-10-02 15:40:46

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: snmpd - obciążenie cpu

[quote=qluk]Różnie, najcześciej to bridge, bond albo tunel GRE powoduje to.[/quote]
Wracając do tematu.
bonda mam skonfigurowanego tak:

Kod:

auto bond0
iface bond0 inet dhcp
        slaves eth0 eth1
        bond-mode 4
        bond-miimon 100
        bond-downdelay 200
        bond-updelay 200

sieciówek fizycznych w configu nie wymieniam, gdzyż bond ma się nimi zajmowac.

coś nie tak jest z tym configiem?

Offline

 

#12  2015-10-02 18:50:42

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: snmpd - obciążenie cpu

Do wygodnrgo monitorowania możesz zamiast SMTPD zastosować KDE.
Co prawda kilkaset MB diabli wezmą, ale ksysguard ma demona, który może się komunikować przez SSH, SSL i diabli wiedzą, jak jeszcze.

Bardzo dawno temu to testowałem (Ubuntu 7.10 KDE-3.x), ale w każdym razie w monitorze KDE miałem cały zdalny serwer na oku.

W repo Debiana jest dalej jako osobna paczka:

Kod:

ksysguardd - System Guard Daemon

Do pracy potrzebuje naprawdę niewiele RAMu, proca i bibliotek:

Kod:

ldd `which ksysguardd`
    linux-vdso.so.1 (0x00007ffd511c9000)
    libsensors.so.4 => /usr/lib64/libsensors.so.4 (0x00007f6526952000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f65265a8000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f65262a5000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f6526b62000)

W razie czego możesz spróbować, chociaż KDE do serwera wygląda co najmniej zabawnie.

Ostatnio edytowany przez Jacekalex (2015-10-02 18:55:07)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#13  2015-10-03 09:34:36

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: snmpd - obciążenie cpu

Dzięki, za sugestię ale nie potrzebuję kolejnego narzędzia do monitoringu. dane z urządzeń zbieram w cacti właśnie po snmp.
chciałbym właśnie to uruchomić prawidłowo.

Offline

 

#14  2015-10-03 09:54:15

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: snmpd - obciążenie cpu

To ja radziłbym zająć się sprawą od strony Cacti,
mają sporo dokumentacji i przykładów, do tego forum programu.

Np:
http://www.cacti.net/downloads/docs/html/snmp_query_xml.html
http://docs.cacti.net/templates

Forum:
http://forums.cacti.net/about11615.html

Ostatnio edytowany przez Jacekalex (2015-10-03 09:55:03)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#15  2015-10-03 09:56:38

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: snmpd - obciążenie cpu

[quote=Jacekalex]To ja radziłbym zająć się sprawą od strony Cacti,
mają sporo dokumentacji i przykładów.

Np:
http://www.cacti.net/downloads/docs/html/snmp_query_xml.html
http://docs.cacti.net/templates[/quote]
Ale to nie cacti jest tu problemem, te akruat działa dobrze. Problemem jest daemon snmp powodujący cykliczne obciążenie procesora na jednym serwerku z bondingiem i vlanami. Co prawda dane z niego są zbierane ale to obciążenie nie jest "normalne".

--- edited ---

Podejrzewam, że problemem jest to, na tym serwerku jest serwer PPPoE i jest sporo interfejsów a snmpd defaultowo sprawdza wszystkie interfejsy.
Nie mogę namierzyć w konfiguracji by ograniczyć interfejsy tylko do bond*.
Testowo zrobiłem bonding na innej maszynie + iperfem zrobiłem trochę ruchu i tu snmpd nie osiągał takich obciążeń.

Ostatnio edytowany przez Nicram (2015-10-05 10:57:12)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.015 seconds, 15 queries executed ]

Informacje debugowania

Time (s) Query
0.00016 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00169 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.188.68.115' WHERE u.id=1
0.00086 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.188.68.115', 1732751766)
0.00046 SELECT * FROM punbb_online WHERE logged<1732751466
0.00069 DELETE FROM punbb_online WHERE ident='13.59.129.141'
0.00219 DELETE FROM punbb_online WHERE ident='3.144.47.115'
0.00062 DELETE FROM punbb_online WHERE ident='3.145.109.244'
0.00062 DELETE FROM punbb_online WHERE ident='52.14.88.137'
0.00051 SELECT topic_id FROM punbb_posts WHERE id=290874
0.00131 SELECT id FROM punbb_posts WHERE topic_id=27734 ORDER BY posted
0.00060 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27734 AND t.moved_to IS NULL
0.00011 SELECT search_for, replace_with FROM punbb_censoring
0.00097 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27734 ORDER BY p.id LIMIT 0,25
0.00088 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27734
Total query time: 0.01171 s