Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  начальная настройка
  Установка FreeBSD
  DUMMYNET
  Сборка ядра
  IPFW
  обновление
  portsnap
  CP1251 на FreeBSD
  loader.conf
  defaults/rc.conf
  jail
  Ntpdate/Ntpd
  diskless
  Обновление мира ("world")
  PBR & PF
  bsnmpd
  newsyslog
  if_bridge
  make.conf
  PBR & IPFW
  Работа с HDD
  sshd & AD
  Удаленное разбиение HDD
  Заметки об IPFW
  FreeBSD на VDS
  CVSUP и софт через Proxy
  i386=>amd64
  ALTQ в IPFW
  Виртуальный свитч
  VPN сервер по средствам mpd5.
  NTP
  sysupdate
  mpd5 L2TP
  freebsd + webcamera
  IPFW policy (PBR)
  RAID1 via LAN
  зеркальный RAID1 на ОС FreeBSD
  4.x => 7.x
  portdowngrade
  Быстрое обновление портов
  ipfw nat
  Использование csup
  UTF-8 console
  dump/restore
  hast carp zfs ucarp cluster
  ng_nat
  Wi-FI роутер + DHCP + DNS
  backup/restore & ZFS
  Обновление ОС и портов через SVN.
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> настройка —> bsnmpd

Штатный Begemot micro-SNMP daemon

Автор: lissyara.


    Когда переводил /etc/defaults/rc.conf, то наткнулся в нём на интересные строки:
### даемон SNMP ###
# Убедитесь, что поняли значения безопасности, при управлении
# SNMP v1/v2 в вашей сети.
# Запускать демона SNMP (YES/NO).
bsnmpd_enable="NO"
# Флаги для bsnmpd.
bsnmpd_flags=""

   Собственно, только сейчас дошли руки разобраться - ху из ху :))). Даже не сами руки дошли - необходимо было мониторить машину по SNMP, но сторонний софт не хотелось ставить. Для начала подправим конфиг, я его заодно и перевёл:
# Пример конфигурационного файла для bsnmpd(1).

# Устанавливаем некоторые общие переменные
host := router.local
location := "Servernaya 10 floor"
contact := "admin@lissyara.su"
system := 1     # FreeBSD
traphost := localhost
trapport := 162

# Измените значение этих строк!!!
read := "secret-string"
# Раскомментируйте строку 42 для установки строки сообщества,
# которому дан доступ на запись.
write := "another-secret-string"
trap := "localhost"


# Конфишурация
%snmpd
begemotSnmpdDebugDumpPdus       = 2
begemotSnmpdDebugSyslogPri      = 7


# Установка сообществ на чтение и на запись.
#
# Дефолтовое значение строки сообщества - NULL (отметьте, что это отличается,
# от пустой строки). Это отключает оба доступа - и на чтение и на запись.
# Для включения доступа только на чтение, должна быть задана строка
# сообщества. Установка строки сообщества с правами на запись, устанавливает
# оба доступа - на чтение и на запись, с этой строкой.
#
# Будьте серёзны в понимании воплощения безопасности SNMPv2 - строка
# сообщества передаётся в открытом виде!
#
begemotSnmpdCommunityString.0.1 = $(read)
# begemotSnmpdCommunityString.0.2       = $(write)
begemotSnmpdCommunityDisable    = 1

# открывам cтандартные порты SNMP
begemotSnmpdPortStatus.[$(host)].161 = 1
begemotSnmpdPortStatus.127.0.0.1.161 = 1
# Примечание, обязательно проверьте командой типа ``sockstat | grep snmp''
# какие интерфейсы слушаются, по необходимости добавьте нужные, примерно так:
#begemotSnmpdPortStatus.192.168.0.253.161 = 1

# Открываем сокет UNIX
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

# Загружаем модуль MIB-2
begemotSnmpdModulePath."mibII"  = "/usr/lib/snmp_mibII.so"

# Принудительная установка частоты поллинга для 64-битных счётчиков
# интерфейса, в случае неправильных автоматических вычислений (что возможно в
# случае если интерфейс объявлен с неверным битрейтом через его MIB)
#%mibII
#begemotIfForcePoll = 2000

#
# Модуль Netgraph
#
begemotSnmpdModulePath."netgraph" = "/usr/lib/snmp_netgraph.so"
#
#%netgraph
#begemotNgControlNodeName = "snmpd"

#
# модуль pf(4)
#
#begemotSnmpdModulePath."pf"    = "/usr/lib/snmp_pf.so"

# Это добавлял я
begemotSnmpdModulePath."atm"    = "/usr/lib/snmp_atm.so"
begemotSnmpdModulePath."hostres" = "/usr/lib/snmp_hostres.so"

   После чего добавляем в /etc/rc.conf строку:
# bsnmpd
bsnmpd_enable="YES"

   И пробуем запустить:
/usr/home/lissyara/>/etc/rc.d/bsnmpd start
Starting bsnmpd.
/usr/home/lissyara/>ps -axjww | grep snmp | grep -v grep
root     42899     1 42899 42899    0 Ss    ??    0:00,08 /usr/sbin/bsnmpd
/usr/home/lissyara/>

   Если не запустился, смотрим /var/log/messages:
Nov 18 10:34:24 router snmpd[41762]: send: Connection refused
Nov 18 10:53:47 router snmpd[41896]: unknown variable
Nov 18 10:53:47 router snmpd[41896]: in file /etc/snmpd.config line 74
Nov 18 10:53:47 router snmpd[41896]: error in config file
Nov 18 10:54:26 router snmpd[41913]: send: Connection refused
Nov 18 10:55:27 router snmpd[41970]: send: Connection refused
Nov 18 11:02:29 router su: lissyara to root on /dev/ttyp2
Nov 18 11:05:22 router snmpd[42083]: pf_init(): open(): No such file or directory
Nov 18 11:05:22 router snmpd[42083]: lm_load: init failed: -1
Nov 18 11:05:22 router snmpd[42083]: init dep failed: 13 1.3.6.1.4.1.12325.1.1.1.6 2.112.102
Nov 18 11:05:22 router snmpd[42083]: error in config file
Nov 18 11:06:04 router snmpd[42103]: send: Connection refused
Nov 18 12:58:59 router snmpd[42899]: send: Connection refused
Nov 18 13:00:50 router snmpd[42964]: undefined macro 'trap'
Nov 18 13:00:50 router snmpd[42964]: in file /etc/snmpd.config line 51
Nov 18 13:00:50 router snmpd[42964]: error in config file

   Собственно, обычно всё ясно, почему не пашет. Имеющегося функционала вполне достаточно для мониторинга load averages, нагрузки интерфейсов, числа запущенных процессов, и сколько залогинено пользователей. Также можно мониторить разделы - сколько занято места, но мне этого не надо. Статистику можно снимать при помощи cacti.



размещено: 2006-11-18,
последнее обновление: 2010-10-15,
автор: lissyara

оценить статью:

Trias, 2007-02-09 в 3:58:22

Демон достаточно интересный, позволяет работать с Counter64,
в net-snmp такого не находил. (может плохо искал).
Единственное не сумел заставить снимать 64bit с VLAN интерфейсов.

begemoto, 2008-02-09 в 0:51:21

Разделы мониторить не может, все что может в MIB'ах:
/usr/share/snmp/mibs
про Storage там ничего нет. Может я ошибаюсь?


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 48 чел.
За последние 30 мин было: 199 человек
За сегодня было
4103 показов,
1042 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Заказать швензы без цирконов всегда можно на нашем сайте

Время генерации страницы 0.0387 секунд
Из них PHP: 25%; SQL: 75%; Число SQL-запросов: 77 шт.
Исходный размер: 105726; Сжатая: 18610