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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
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:
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
Całkowicie nienormalne, snmpd 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.
Offline
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:
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:
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
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%
sed -i 's/Lsd/LS6d/g' /etc/default/snmpd service snmpd restart
Ostatnio edytowany przez Nicram (2015-09-20 18:11:30)
Offline
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ę:
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)
Offline
Jacekalex napisał(-a):
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.netWstał przed chwilą na defaultowym konfigu, jak dotąd nic nie wybuchło,
(w Htopie w ogóle go nie widać). ;)
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
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:
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)
Offline
-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
qluk napisał(-a):
-Lsd -> -LS6d
A problem stanowi interfejs sieciowy i jego konfiguracja, w większości przypadków.
To robiłem na samym początku, nie pomogło.
co masz na myśli, że konfiguracja interfejsu?
Offline
Różnie, najcześciej to bridge, bond albo tunel GRE powoduje to.
Offline
qluk napisał(-a):
Różnie, najcześciej to bridge, bond albo tunel GRE powoduje to.
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
qluk napisał(-a):
Różnie, najcześciej to bridge, bond albo tunel GRE powoduje to.
Wracając do tematu.
bonda mam skonfigurowanego tak:
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
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:
ksysguardd - System Guard Daemon
Do pracy potrzebuje naprawdę niewiele RAMu, proca i bibliotek:
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)
Offline
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
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)
Offline
Jacekalex napisał(-a):
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
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