Мини статья "Настройка системного bsnmpd"

Обсуждение всяких разных новостей.
Аватара пользователя
dvg_lab
сержант
Сообщения: 291
Зарегистрирован: 2007-07-02 22:51:25
Откуда: Москва

Мини статья "Настройка системного bsnmpd"

Непрочитанное сообщение dvg_lab » 2009-08-07 11:27:24

Мини статья, скорее даже набросок, по настройке bsdnmpd. Если статья нужная, допилю до удобоваримого вида для публикации.

Для настройки родного bsnmp сервера, требуется также установить net-snmp из портов ради snmpwalk и snmptranslate и иже с ними.

Можно некоторые настройки nst-snmp вынести в /etc/make.conf (хотя сама серверная часть нам не нужна, но для порядка и будущих экспериментов пропишем)

Код: Выделить всё

.if ${.CURDIR} == ${PORTSDIR}/net-mgmt/net-snmp
WITHOUT_PERL=yes
WITHOUT_IPV6=yes
DEFAULT_SNMP_VERSION="2"
NET_SNMP_64=true
NET_SNMP_SYS_CONTACT="iam@domain.tld"
NET_SNMP_SYS_LOCATION="Moscow,Russia"
DEFAULT_SNMP_VERSION=3
#NET_SNMP_MIB_MODULES="host disman/event-mib smux mibII/tcpTable ucd-snmp/diskio host/hr_system host/hr_storag
NET_SNMP_LOGFILE=/var/log/snmpd.log
NET_SNMP_PERSISTENTDIR=/var/net-snmp
.endif
И теперь можно устанавливать net-snmp

Код: Выделить всё

cd /usr/ports/net-mgmt/net-snmp && make install
Стандартный bsnmpd лишен такого функционала как UCD - загрузкца cpu, размер используемой памяти и тд., но есть модуль, который почему-то в портах, а не в системе, ставим.

Код: Выделить всё

cd /usr/ports/net-mgmt/bsnmp-ucd && make install
далее берем из /usr/local/share/examples/bsnmp-ucd/snmpd.config.sample выкидываем лишнее, и вносим в основной конфиг /etc/snmp.conf (пример конфига в конце статьи)

перезапускаем демона, и mib`ы начинают работать...

еще достаточно интересный порт bsnmp-regex - позволяет парсить логи. Стоит ковырнуть.

Для того чтобы иметь возможность отслеживать загрузку по ядрам для щедулера SHED_ULE необходимо пропатчить /usr/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_processor_tbl.c

Код: Выделить всё

--- hostres_processor_tbl.c.orig        2008-12-24 20:28:24.000000000 +0300
+++ hostres_processor_tbl.c     2008-12-24 20:28:32.000000000 +0300
@@ -120,7 +120,7 @@
 processor_getpcpu(struct kinfo_proc *ki_p)
 {

-       if (ccpu == 0 || fscale == 0)
+       if (fscale == 0)
                return (0.0);

 #define        fxtofl(fixpt) ((double)(fixpt) / fscale)
Пересобрать, поставить и после этого

web# snmpwalk -c public -v2c localhost processor
HOST-RESOURCES-MIB::hrProcessorFrwID.3 = OID: SNMPv2-SMI::zeroDotZero
HOST-RESOURCES-MIB::hrProcessorFrwID.8 = OID: SNMPv2-SMI::zeroDotZero
HOST-RESOURCES-MIB::hrProcessorFrwID.13 = OID: SNMPv2-SMI::zeroDotZero
HOST-RESOURCES-MIB::hrProcessorFrwID.18 = OID: SNMPv2-SMI::zeroDotZero
HOST-RESOURCES-MIB::hrProcessorLoad.3 = INTEGER: 67
HOST-RESOURCES-MIB::hrProcessorLoad.8 = INTEGER: 64
HOST-RESOURCES-MIB::hrProcessorLoad.13 = INTEGER: 53
HOST-RESOURCES-MIB::hrProcessorLoad.18 = INTEGER: 75

Темплейты для Cacti берутся соответственно на форуме Cacti.

Патч для работы 64bit LAGG счетчиков

http://www.nabble.com/bsnmpd---64bits-c ... 37241.html

Вот так выглядит snmp.conf у меня

Код: Выделить всё

host := ns1.domain.tld
location := "Servernaya ST4"
contact := "dv@domain.tld"
system := 1     # FreeBSD
traphost := localhost
trapport := 162
read := "public1"
write := "public2"
trap := "mytrap"
%snmpd
begemotSnmpdDebugDumpPdus       = 2
begemotSnmpdDebugSyslogPri      = 7
begemotSnmpdCommunityString.0.1 = $(read)
begemotSnmpdCommunityDisable    = 1
begemotSnmpdPortStatus.[$(host)].161 = 1
begemotSnmpdPortStatus.127.0.0.1.161 = 1
begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1
begemotSnmpdLocalPortType."/var/run/snmpd.sock" = 4
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
begemotSnmpdModulePath."mibII"  = "/usr/lib/snmp_mibII.so"
begemotSnmpdModulePath."hostres" = "/usr/lib/snmp_hostres.so"
begemotSnmpdModulePath."ucd" = "/usr/local/lib/snmp_ucd.so"
%ucd
memMinimumSwap = 1600
memSwapErrorMsg = "No free swap!"
laConfig.1 = "6.0"
laConfig.2 = "5.0"
laConfig.3 = "4.0"
laErrMessage.1 = "1min load average is high!"
laErrMessage.2 = "5min load average is high!"
laErrMessage.3 = "15min load average is high!"
extNames.0 = "uname"
extCommand.0 = "/usr/bin/uname -a"
extNames.1 = "uptime"
extCommand.1 = "/usr/bin/uptime"
extNames.2 = "apache"
extCommand.2 = "/usr/local/etc/rc.d/apache22 status"
FreeBSD the power to serve.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35465
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Мини статья "Настройка системного bsnmpd"

Непрочитанное сообщение Alex Keda » 2009-09-21 9:24:22

net-snmp - наше фсё =)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Мини статья "Настройка системного bsnmpd"

Непрочитанное сообщение thefree » 2009-09-21 10:29:54

lissyara писал(а):net-snmp - наше фсё =)
к bsnmpd есть достаточное количество модулей на CPU точно есть ...
Да и потом одно время Вы его пропагандировали т.к. он штатный и удобный.
А я вот прочел http://habrahabr.ru/blogs/server_side_o ... ion/70167/ и вообще решил попробовать http://munin.projects.linpro.no/.
Возможно цели разные, но как правило задача ОДНА, наблюдать за удаленным сервером.
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аватара пользователя
Mox
лейтенант
Сообщения: 757
Зарегистрирован: 2008-12-16 16:04:14
Откуда: питер
Контактная информация:

Re: Мини статья "Настройка системного bsnmpd"

Непрочитанное сообщение Mox » 2011-08-09 16:48:16

Автору просто огромное спасибо! Не знал про модули bsnmp в портах (даже подумать не мог об этом).
"В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". Мэтт Диллон

Аватара пользователя
Mox
лейтенант
Сообщения: 757
Зарегистрирован: 2008-12-16 16:04:14
Откуда: питер
Контактная информация:

Re: Мини статья "Настройка системного bsnmpd"

Непрочитанное сообщение Mox » 2011-08-09 16:52:28

Добавлю, что в портах теперь есть немного больше

Код: Выделить всё

# ls -ld /usr/ports/net-mgmt/bsnmp*
drwxr-xr-x  2 root  wheel  512 Aug  9 17:47 /usr/ports/net-mgmt/bsnmp-jails/
drwxr-xr-x  2 root  wheel  512 Aug  9 17:50 /usr/ports/net-mgmt/bsnmp-regex/
drwxr-xr-x  2 root  wheel  512 Aug  9 17:42 /usr/ports/net-mgmt/bsnmp-ucd/
drwxr-xr-x  2 root  wheel  512 Aug  9 17:51 /usr/ports/net-mgmt/bsnmptools/
и net-mgmt/bsnmptools содержат в себе аналоги snmpget и snmpwalk
"В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". Мэтт Диллон

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: Мини статья "Настройка системного bsnmpd"

Непрочитанное сообщение manefesto » 2011-08-15 14:58:45

надо бы заинсталить
я такой яростный шо аж пиздеЦ
Изображение

Аватара пользователя
Mox
лейтенант
Сообщения: 757
Зарегистрирован: 2008-12-16 16:04:14
Откуда: питер
Контактная информация:

Re: Мини статья "Настройка системного bsnmpd"

Непрочитанное сообщение Mox » 2011-08-15 15:55:18

net-snmp, сцуко, в последнее время паршивит. То значения ваще не те считает. Сейчас вот вообще периодически по stack overflow сыпится.
bsnmp работает нормально
"В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". Мэтт Диллон