Протокол SNMP в POSIX-операционных системах.

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 05 дек 2012, 11:58

Olej писал(а):P.S. Это всё утилиты из разных пакетов, которые нам понадобятся.
Прежде чем ставить всё гамузом, хорошо бы разобраться что откуда происходит и где лежит!

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

bash-4.2$ yum info net-snmp*
...
Установленные пакеты
Название: net-snmp
Архитектура: i686
Период: 1
Версия: 5.7.1
Выпуск: 5.fc17
Объем: 859 k
Источник: installed
Из источника: updates
Аннотация: A collection of SNMP protocol tools and libraries
Ссылка: http://net-snmp.sourceforge.net/
Лицензия: BSD
Описание: SNMP (Simple Network Management Protocol) is a protocol used for
        : network management. The NET-SNMP project includes various SNMP tools:
        : an extensible agent, an SNMP library, tools for requesting or setting
        : information from SNMP agents, tools for generating and handling SNMP
        : traps, a version of the netstat command which uses SNMP, and a Tk/Perl
        : mib browser. This package contains the snmpd and snmptrapd daemons,
        : documentation, etc.
        : 
        : You will probably also want to install the net-snmp-utils package,
        : which contains NET-SNMP utilities.
...
Доступные пакеты
...
Название: net-snmp-utils
Архитектура: i686
Период: 1
Версия: 5.7.1
Выпуск: 5.fc17
Объем: 174 k
Источник: updates
Аннотация: Network management utilities using SNMP, from the NET-SNMP project
Ссылка: http://net-snmp.sourceforge.net/
Лицензия: BSD
Описание: The net-snmp-utils package contains various utilities for use with the
        : NET-SNMP network management project.
        : 
        : Install this package if you need utilities for managing your network
        : using the SNMP protocol. You will also need to install the net-snmp
        : package.
Изучаем всё это кино...
Обратите внимание: лицензия BSD, не GPL (это ещё одна причина почему в Linux не сильно любят рассуждать про SNMP ;-) ).
Из этого списка:
- net-snmp-utils - это самое то, что нам сейчас нужно...
- net-snmp-devel и др. - понадобятся очень вскоре...
- net-snmp-gui - это GUI tools работы с базой данных MIB (описаний), наверное, это очень приятно ... но я не знаю что это такое ;-)
- net-snmp-sysvinit - это инструменты для старой системы инициализации сервисов, может очень быть нужно в других дистрибутивах (например Debian);
и т.д.

Но особенно плодотворным будет поиск по именам требуемых нам программ пакетов, их содержащих:

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

bash-4.2$ yum provides mib2c
...
1:net-snmp-perl-5.7.1-5.fc17.i686 : The perl NET-SNMP module and the mib2c tool
Источник: updates
Совпадения с:
Имя файла   : /usr/bin/mib2c

bash-4.2$ yum provides snmpwalk
...
1:net-snmp-utils-5.7.1-5.fc17.i686 : Network management utilities using SNMP, from the NET-SNMP project
Источник: updates
Совпадения с:
Имя файла   : /usr/bin/snmpwalk

bash-4.2$ yum provides snmptranslate
...
1:net-snmp-utils-5.7.1-5.fc17.i686 : Network management utilities using SNMP, from the NET-SNMP project
Источник: updates
Совпадения с:
Имя файла   : /usr/bin/snmptranslate

bash-4.2$ yum provides net-snmp-config
...
1:net-snmp-devel-5.7.1-5.fc17.i686 : The development environment for the NET-SNMP project
Источник: updates
Совпадения с:
Имя файла   : /usr/bin/net-snmp-config

bash-4.2$ yum provides smilint
...
libsmi-0.4.8-9.fc17.i686 : A library to access SMI MIB information
Источник: updates
Совпадения с:
Имя файла   : /usr/bin/smilint
Вот теперь можно считать, что мы полностью определились с пакетами, которые (и когда, в каком порядке) нужно устанавливать.
Теперь можно устанавливать...

P.S. Я сделал это на примере RPM пакетного менеджера yum, точно то же самое можно сделать и с DEM менеджером apt ... но имена пакетов будут те же.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 05 дек 2012, 13:26

Olej писал(а):Это 1-й этап.
Вот теперь мы полностью определились с пакетами, подлежащими установке, и теперь можно вернуться к установке.
2-м этапом устанавливаем утилиты SNMP:

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

$ sudo yum install net-snmp-utils.i686
...
Установлено:
  net-snmp-utils.i686 1:5.7.1-5.fc17                                                                                           
Выполнено!
New leaves:
  net-snmp-utils.i686
$ ls -w100 /usr/bin/snmp*
/usr/bin/snmpbulkget   /usr/bin/snmpget      /usr/bin/snmpstatus     /usr/bin/snmptrap
/usr/bin/snmpbulkwalk  /usr/bin/snmpgetnext  /usr/bin/snmptable      /usr/bin/snmpusm
/usr/bin/snmpconf      /usr/bin/snmpinform   /usr/bin/snmptest	   /usr/bin/snmpvacm
/usr/bin/snmpdelta     /usr/bin/snmpnetstat  /usr/bin/snmptls	   /usr/bin/snmpwalk
/usr/bin/snmpdf        /usr/bin/snmpset      /usr/bin/snmptranslate
Из этих утилит большинство - это утилиты, выполняющие запросы к SNMP агенту (snmpd), т.е. это консольные менеджеры: snmpget, snmpgetnext, snmpwalk, ...
Но есть и другого назначения, например (будем сильно пользоваться): snmptranslate - не требует запуска snmpd, в статике транслирует OID-ы, определённые в MIB-файлах, в разные формы: числовую, символьную, деревом...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 05 дек 2012, 15:21

Olej писал(а):это утилиты
Теперь самое время уже проверить работоспособность всего этого в своей системе.
Но для этого нужно запустить агент (демон, сервер) snmpd.
Обычно он запускается как сервис Linux (и далее мы и будем так делать), но на начальных этапах будем запускать его в отладочном режиме, когда он не переходит в режим демона, а выводит отладочную информацию на терминал. Многочисленные опции запуска snmpd смотрим, как обычно:

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

bash-4.2$ snmpd --help
...
Запуск от root (открывает привилегированный порт 161):

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

bash-4.2# snmpd -f -Le -d
mibII/mta_sendmail.c:open_sendmailst: could not guess version of statistics file "/var/log/mail/statistics"
Created directory: /var/lib/net-snmp/cert_indexes
Created directory: /var/lib/net-snmp/mib_indexes
NET-SNMP version 5.7.1
...
bash-4.2$ ps -A | grep snmp
 8037 pts/6    00:00:00 snmpd
Теперь можно поиграться с утилитами. Но у нас пока есть только стандартные общесистемные OID-ы (нет своих). Вот на них можно и поиграться:

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

bash-4.2$ snmpwalk -v1 localhost -c public system
SNMPv2-MIB::sysDescr.0 = STRING: Linux notebook 3.5.2-1.fc17.i686.PAE #1 SMP Wed Aug 15 16:30:14 UTC 2012 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (48754) 0:08:07.54
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0 = STRING: notebook
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.9 = OID: SNMP-NOTIFICATION-MIB::snmpNotifyFullCompliance
SNMPv2-MIB::sysORID.10 = OID: NOTIFICATION-LOG-MIB::notificationLogMIB
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORDescr.9 = STRING: The MIB modules for managing SNMP Notification, plus filtering.
SNMPv2-MIB::sysORDescr.10 = STRING: The MIB module for logging SNMP Notifications.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.10 = Timeticks: (8) 0:00:00.08

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

bash-4.2$ snmpget -v1 localhost -c public SNMPv2-MIB::sysName.0
SNMPv2-MIB::sysName.0 = STRING: notebook
bash-4.2$ snmpget 192.168.1.5 -v1 -c public system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux notebook 3.5.2-1.fc17.i686.PAE #1 SMP Wed Aug 15 16:30:14 UTC 2012 i686
А вот как диагностируются разнообразным образом...

- поддерево MIB:

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

bash-4.2$ snmptranslate -Tp -OS SNMPv2-MIB::sysOREntry 
+--sysOREntry(1)
   |  Index: sysORIndex
   |
   +-- ---- INTEGER   sysORIndex(1)
   |        Range: 1..2147483647
   +-- -R-- ObjID     sysORID(2)
   +-- -R-- String    sysORDescr(3)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -R-- TimeTicks sysORUpTime(4)
            Textual Convention: TimeStamp
- OID того же узла дерева в численном виде:

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

bash-4.2$ snmptranslate  -On SNMPv2-MIB::sysOREntry 
.1.3.6.1.2.1.1.9.1
- полная информация по этому узлу:

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

bash-4.2$ snmptranslate -Td -On SNMPv2-MIB::sysOREntry 
.1.3.6.1.2.1.1.9.1
sysOREntry OBJECT-TYPE
  -- FROM	SNMPv2-MIB
  MAX-ACCESS	not-accessible
  STATUS	current
  INDEX		{ sysORIndex }
  DESCRIPTION	"An entry (conceptual row) in the sysORTable."
::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) sysORTable(9) 1 }
Всё работает!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 05 дек 2012, 15:32

Olej писал(а): Теперь можно поиграться с утилитами. Но у нас пока есть только стандартные общесистемные OID-ы (нет своих). Вот на них можно и поиграться:
Вопрос: а откуда взялись эти системные OID? и особенно их символьные имена?

Ответ: а вы посмотрите /usr/share/mibs:

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

bash-4.2$ tree /usr/share/mibs | head -n10
/usr/share/mibs
|-- iana
|   |-- IANA-ADDRESS-FAMILY-NUMBERS-MIB
|   |-- IANA-CHARSET-MIB
|   |-- IANA-FINISHER-MIB
|   |-- IANA-GMPLS-TC-MIB
|   |-- IANAifType-MIB
|   |-- IANA-IPPM-METRICS-REGISTRY-MIB
|   |-- IANA-ITU-ALARM-TC-MIB
|   |-- IANA-LANGUAGE-MIB
bash-4.2$ ls -l /usr/share/mibs
итого 28
drwxr-xr-x. 2 root root  4096 июля  30 14:46 iana
drwxr-xr-x. 2 root root 12288 июля  30 14:46 ietf
drwxr-xr-x. 2 root root  4096 июля  30 14:46 irtf
drwxr-xr-x. 2 root root  4096 янв.  14  2012 site
drwxr-xr-x. 2 root root  4096 июля  30 14:46 tubs
Это здоровенная группа MIB-файлов общесистемных определений.

Вопрос: а это (/usr/share/mibs) обязательно надо для работы штатного агента snmpd?

Ответ: это вовсе не надо для работы. ;-)
Это нужно только для человека, чтобы числовые OID сопоставлять и переводить в символьные имена.
Поддержка описанных там объектов вкомпилирована в коде стандартного SNMP агента snmpd.
Он их в числовом виде умеет поддерживать без нашей помощи.
А вот научить его понимать ещё какие-то OID без специальных фокусов (например, перекомпиляции) нельзя!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 05 дек 2012, 15:35

Olej писал(а):А вот научить его понимать ещё какие-то OID без специальных фокусов (например, перекомпиляции) нельзя!
А как же научают поддержке своих OID в своих проектах?
Примерно так:

1. Составляется один или несколько связанных MIB-файлов по очень строгим синтаксическим правилам (MIB-файл — это текстовый файл), под свой проект.

2. Делается тщательная автоматическая синтаксическая выверка и правка MIB-файлов. Для этого используются утилиты: snmptranslate и smilint (ранее мы определили, что smilint находится в составе пакета libsmi.i686, но ещё не установили его).

3. Помещаем MIB-файлы в один из каталогов, где они будут доступны подсистеме SNMP для поиска по путям по умолчанию.

4. После этого применяются автоматические генераторы кода, которые по описанным в MIB-файлах OID делают генерацию шаблонов кода обслуживания. Существует достаточно много сторонних пакетов генерации шаблонов кода на языках C, C++, Java, ... Один из таких генераторов в код C mib2c входит в состав пакета net-snmp-perl (мы определили это выше).

5. Полученные шаблоны кода включаются в код своего проекта субагента.

SimpleUser
Писатель
Сообщения: 69
Зарегистрирован: 02 авг 2012, 14:22
Откуда: Москва
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение SimpleUser » 05 дек 2012, 15:39

Пока даже написать нечего, материала и так более чем. Спасибо Оlej! Сижу изучаю.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 05 дек 2012, 15:50

Olej писал(а): Примерно так:
А для этих 5-ти пунктов нам понадобятся доустановить некоторые пакеты/утилиты.
Это 3-й и последний шаг установки инструментов:

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

bash-4.2$ sudo yum install net-snmp-perl
...
Установлено:
  net-snmp-perl.i686 1:5.7.1-5.fc17

bash-4.2$ which mib2c
/usr/bin/mib2c

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

bash-4.2$ sudo yum install net-snmp-devel
...
Установлено:
  net-snmp-devel.i686 1:5.7.1-5.fc17
Установлены зависимости:
  elfutils-devel.i686 0:0.154-2.fc17                    elfutils-libelf-devel.i686 0:0.154-2.fc17
  lm_sensors-devel.i686 0:3.3.2-5.fc17              popt-devel.i686 0:1.13-10.fc17
  rpm-devel.i686 0:4.9.1.3-7.fc17

bash-4.2$ which net-snmp-config
/usr/bin/net-snmp-config
Вот после этого уже есть все инструменты, и можно делать собственное SNMP управление.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 06 дек 2012, 14:20

А теперь о том как этим добром (инструментарием что установили) распрядится...
Olej писал(а): 1. Составляется один или несколько связанных MIB-файлов по очень строгим синтаксическим правилам (MIB-файл — это текстовый файл), под свой проект.
Под тестовый проект что я предложил для примера (наипростейший) мне нужны две переменные (OID) доступные по SNMP, назовём их:
- currentValue - это то целочисленное значение, которое подлежит регулированию, и доступно оно будет SNMP только по чтению;
- nextStep - это та целочисленная добавка (дельта, приращение), который нужно на очередном шаге добавить к currentValue, и доступно оно будет SNMP только по записи.

Составляю под это дело 2 MIB-файла, файлы тексторые, довольно большие, чтоб разворачивать их здесь, но не сложные, сархивироанные прилагаются.
Вложения
MIB.tgz
(1001 байт) 368 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 06 дек 2012, 14:28

Olej писал(а): 2. Делается тщательная автоматическая синтаксическая выверка и правка MIB-файлов. Для этого используются утилиты: snmptranslate и smilint (ранее мы определили, что smilint находится в составе пакета libsmi.i686, но ещё не установили его).
Теперь с определёнными новыми OID проекта можно поработать. Это хороший этап плотно поэкспериментировать с утилитами SNMP. Начинаем использование утилит с синтаксической выверки созданных MIB-файлов.

Синтаксические требования к записи MIB-файла жёстче, чем у любого языка программирования, и это занятие переведёт вам ещё немало крови. Поэтому используется автоматическая синтаксическая выверка MIB-файлов. Для этого используются утилиты: snmptranslate и smilint.

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

 
$ snmptranslate -On -m +OLEJ-MIB -IR olej
Expected DESCRIPTION (:): At line 19 in /home/olej/.snmp/mibs/OLEJ-MIB.txt
.1.3.6.1.4.1.9876
Вот и первая ошибка на ровном месте, хотя и уровня предупреждения (команда отработала): пропущено (было) определение DESCRIPTION (2-е, после REVISION), 1-е определение DESCRIPTION относилось ко всему OID, но каждый следующий REVISION (а их может быть со временем много) хотел бы свой DESCRIPTION. И такой уровень придирок будет по случаю любого определения MIB. Исправляем:

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

$ snmptranslate -On -m +OLEJ-MIB -IR olej
.1.3.6.1.4.1.9876
$ snmptranslate -On -m +OLEJ-MANAGEMENT-MIB -IR currentValue
.1.3.6.1.4.1.9876.11.5
$ snmptranslate -On -m +OLEJ-MANAGEMENT-MIB -IR nextStep
.1.3.6.1.4.1.9876.11.7
Вот те же OID в символьном изображении:

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

$ snmptranslate -Of OLEJ-MANAGEMENT-MIB:currentValue
.iso.org.dod.internet.private.enterprises.olej.management.currentValue
$ snmptranslate -Of OLEJ-MANAGEMENT-MIB::nextStep
.iso.org.dod.internet.private.enterprises.olej.management.nextStep
Но и такого контроля недостаточно. Очень тщательный и придирчивый синтаксический контроль осуществляет утилита smilint (мы её инсталлировали выше). На достаточно сложных иерархиях MIB вычистить синтаксис без её помощи очень затруднительно:

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

$ smilint -l3  -s -p ./OLEJ-MIB.txt ./OLEJ-MANAGEMENT-MIB.txt
Всё ОК, сообщений нет.

Опция -l определяет максимальную степень грубости обнаруженных ошибок, при уровне -l4 (warning) она всегда что-то найдёт:

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

$ smilint -l4  -s -p ./OLEJ-MIB.txt ./OLEJ-MANAGEMENT-MIB.txt
./OLEJ-MANAGEMENT-MIB.txt:24: [4] warning: node `hostIpAddress' must be contained in at least one conformance group
./OLEJ-MANAGEMENT-MIB.txt:32: [4] warning: node `hostName' must be contained in at least one conformance group
./OLEJ-MANAGEMENT-MIB.txt:39: [4] warning: node `currentValue' must be contained in at least one conformance group
./OLEJ-MANAGEMENT-MIB.txt:46: [4] warning: node `nextStep' must be contained in at least one conformance group
Внимание: квалификаторы вида OLEJ-MIB в записи команды во всех утилитах net-snmp (snmptranslate) — это не имена файлов описаний (и никак не соотносятся с именами файлов), а имена описаний модулей, так, например, файл OLEJ-MANAGEMENT-MIB.txt начинается со строки описания:
OLEJ-MANAGEMENT-MIB DEFINITIONS ::= BEGIN
Имена файлов описаний и имена описаний модулей часто очень похожи, или могут совпадать — это обычная практика в net-snmp, но их нужно отчётливо различать. В команде smilint, напротив, записаны имена файлов (подлежащих проверке).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Протокол SNMP в POSIX-операционных системах.

Непрочитанное сообщение Olej » 06 дек 2012, 14:34

Olej писал(а): 3. Помещаем MIB-файлы в один из каталогов, где они будут доступны подсистеме SNMP для поиска по путям по умолчанию.
Утилиты SNMP не работают с MIB-файлами, размещёнными «где попало», они работают с MIB-файлами, помещёнными в нескольких определённых каталогах. Список таких каталогов они называют MIB directory search list, он включает в себя: а). предопределённый список, б). пути определённые в переменной окружения MIBS и в). пути определяемые в snmp.conf.

Посмотреть текущий MIB directory search list так:

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

$ net-snmp-config --default-mibdirs 
/home/olej/.snmp/mibs:/usr/share/snmp/mibs 
Помещаем созданные MIB-файлы в один из каталогов, где они будут доступны подсистеме SNMP для поиска по путям по умолчанию. Вполне удачное место в файловой системе, где можно начинать отработку MIB-файлов, это $HOME/.snmp/mibs. Создадим:

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

$ mkdir -vp ~/.snmp/mibs
mkdir: создан каталог «/home/olej/.snmp»
mkdir: создан каталог «/home/olej/.snmp/mibs»
Поместим туда созданные нами MIB-файлы:

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

$ tree ~/.snmp
/home/olej/.snmp
`-- mibs
    |-- OLEJ-MANAGEMENT-MIB.txt
    `-- OLEJ-MIB.txt
1 directory, 2 files
$ ls -l ~/.snmp/mibs
итого 8
-rw-r--r-- 1 olej olej 1553 дек.   4 22:23 OLEJ-MANAGEMENT-MIB.txt
-rw-r--r-- 1 olej olej  656 дек.   5 01:48 OLEJ-MIB.txt

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей