Как создать mib файл snmp
При разработке Net-SNMP написание файлов MIB является важной ссылкой. Вообще говоря, стандартный файл MIB состоит в основном из следующих частей.
1. Часть объявления модуля
Все файлы MIB должны бытьDEFINITIANSКлючевые слова начинаются сENDКонец. Между этими двумя находится тело узла, который должен быть определен. Использование части объявления модуля выглядит следующим образом:
Следует отметить, что при записи файлов MIB XXX-MIB является именем MIB, а файл MIB обычно называетсяXXX-MIB.txt, При компиляции и установке MIB правильный формат, который необходимо использовать в командной строке:XXX-MIB::xxx。
Во-вторых, справочная часть модуля
Эта часть в основном объявляет об импорте других модулей, особенно типов данных и макросов, определенных в стандартных модулях. В дополнение к базовым типам данных, в других случаях в этом модуле могут использоваться только типы данных, связанные с импортом. В частности, эта часть используетIMPORTSИдентификация, все ссылки на модули и групповые ссылки используют ключевые словаFROMУкажите источник и в конце поставьте точку с запятой.
Примеры
В-третьих, часть идентификации модуля
Эта часть должна следовать сразу за ссылочной частью модуля, используя ключевые словаMODULE-IDENTITYОпишите детали модуля. Ключевые слова могут быть использованы при обновлении модуляREVISIONОписание для облегчения последующего развития.
Примеры
В-четвертых, часть идентификации объекта (выделить пространство OID)
Ключевые слова для этой частиOBJECT IDENTIFIERОбъявите, что его основной функцией является объединение объектов с одинаковым типом функции для создания и планирования ветви OID во всей MIB.
Примеры
XXXX - это ветвь поддерева, которая определена в ветви exampleMIB, а «156» - это уникальный идентификатор объекта XXXX в ветке exampleMIB.
Пять, часть определения скалярного объекта
В MIB предусмотрено два типа объектов управления, одинСкалярный объект, ОдинОбъект таблицы, Скалярный объект относится к объекту, который имеет только одно значение экземпляра во время работы, в то время как табличный объект относится к объекту, который имеет несколько значений экземпляра во время работы. Обратите внимание, что объекты и экземпляры объектов являются двумя понятиями.
Предполагая, что идентификатор, соответствующий скалярному объекту,OID_A, Тогда идентификатор экземпляра объекта выражается какOID_A.0То, что передается в PDU для получения экземпляра объекта,OID_A.0。
Ключевое слово использования скалярного объектаOBJECT-TYPEопределение.
Примеры
Описание каждого ключевого слова следующее:
Ключевое слово | объяснение |
---|---|
objectName | Имя управляемого объекта должно начинаться со строчной буквы |
OBJECT-TYPE | Ключевые слова в этом разделе |
SYNTAX | Ключевое слово типа управляемого объекта, такого как Interger (целое число), Gauge (стандарт), NetworkAddress (сетевой адрес), IpAddress (адрес Ipv4), Counter (количество), DisplayString (строка отображения), TimeTicks (метка времени) и т. Д. |
MAX-ACCESS | Методы доступа, поддерживаемые объектом, - только чтение, только чтение (только чтение), чтение-запись (чтение-запись), чтение-создание (чтение и создание) и недоступность (недоступно) |
STATUS | Состояние объекта, включая текущее (текущее), устаревшее (противоположное) и устаревшее (оставленное) |
DESCRIPTION | Ключевые слова, описывающие функции и особенности управляемого объекта |
Шесть, часть определения объекта таблицы
В этой части есть два ключевых слова:SEQUENCEс участиемSEQUENCE OF。
(1) Объект таблицы можно рассматривать как набор некоторых скалярных объектов, используяSEQUENCEОбъедините эти скалярные объекты в последовательности. Каждый скалярный объект также можно назвать объектом столбца в таблице.
(2)SEQUENCE OFОпределите объект строки в таблице.
(3) Что касается концептуальной строки как синтаксического типа концептуальной таблицы, определите концептуальную таблицу, то есть объект таблицы. При нормальных обстоятельствах после имени объекта таблицы должен следовать суффикс «Таблица», а после имени объекта строки должен следовать суффикс «Вступление», чтобы показать различия и облегчить последующее изменение и разработку.
Примеры
Ключевое слово | объяснение |
---|---|
exampleTable | Имя таблицы, xxxxTable, с заглавной буквы первой буквы таблицы |
exampleEntry | Экземпляр объекта строки, такой же, как ExampleTable, но последний пишется с большой буквы |
ExampleEntry | Имя объекта строки, XxxxEntry, с заглавной буквы первой буквы Entry, с заглавной буквы первой буквы Entry |
MAX-ACCESS | Должен быть недоступен здесь |
DESCRIPTION | Описательное информационное поле |
7. Часть определения объекта-ловушки (необязательно)
Эта часть не является обязательной, используйте ключевые словаNOTIFICATION-TYPEилиTRAP-TYPEОпределите объект Trap в модуле.
Пример TRAP-TYPE
Пример ТИПА УВЕДОМЛЕНИЯ
Файл MIB в основном включает в себя вышеуказанные части. Завершение подготовки MIB является основой разработки Net-SNMP, чтобы определить, какие управляемые объекты и узлы должны быть перечислены, необходимо заранее перечислить их, включая распределение OID в целом.
Что такое SNMP (англ. Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP.
В большинстве случаев устройства поддерживают snmp протокол нужно просто его включить.
Существует несколько версий:
SNMP версия 1 (SNMPv1) — изначальная реализация протокола SNMP
SNMPv2 пересматривает Версию 1 и включает в себя улучшения в области производительности, безопасности, конфиденциальности и связях между менеджерами.
Хотя SNMPv3 используется Логин и Пароль для авторизации не приносит никаких изменений в протокол помимо добавления криптографической защиты, он является улучшением за счёт новых текстовых соглашений, концепций и терминологии
Более подробнее об SNMP
Так же бывает выбор
read (read-only) открытыми только для чтения,
read-write так и для чтения и для записи редактирования настроек.
Для подключения по умолчанию обычно прописывается это public и private для возможности чтения и для возможности чтения-записи при не об ходимости заменить на свои!
Порт по умолчанию 161
Нам необходимо зайти на устройство, активировать в настройках протокол SNMP, выбрать при необходимости версию, для мониторинга получения информации достаточно read только чтение, оставить public или изменить на свое, так же указать порт 161 либо свой.
Пример на СРК-М2
Далее идем на сайт производителя устройства в поддержке ищем свое устройство для загрузки драйверов прошивок документации Но нас интересует snmp, а точнее MIBs.
MIB - (Management Information Base) - Базы управляющей информации
Так как адреса объектов устройств определяются в цифровом формате, их сложно запомнить. Для упрощения применяются базы управляющей информации (MIB). Базы MIB описывают структуру управляемых данных на подсистеме устройства; они используют иерархическое пространство имён, содержащее идентификаторы объектов (OID-ы)
OID состоит из двух частей: текстового имени и SNMP адреса в цифровом виде.
Например для NAS Хранилища d-link dns-340l заходим FTP D-Link и скачиваем там для нашего nas файл DNS-340L_MIB.mib
Или еще например для кондиционеров СРК-М2 (согласователь работы кондиционеров) заходим на оф. сайт Скачиваем MIB файл cpkm2&3_2019_04_01.mib srkm2_2017_11_27.mib
Так же бывают MIB общие которые подходят в большинстве для любого устройства например для сетевого порта снятие скорости ошибок и т.д.
Загружаем свой MIB для этого заходим File > Load MIBs или жмем Ctrl+L выбираем скаченный MIB
После в дереве появится новый раздел нашего MIB файлаУказываем IP устройства, Выбираем порт и версию SNMP, Выбираем Элемент для запроса, Жмем GO! Получаем ответ.
Теперь создаем простой Элемент в шаблоне Заббикс
Выбираем Элемент в MIB Browser выделяем его
Имя водим на свое усмотрение пример Информация о версии для агента SNMP DNS-340L
Тип Выбираем версию SNMP
из поля Name пишем в шаблоне заббикс в поле > Ключ Пример dns340LAgentVer
OID пишем в шаблоне заббикс в поле > SNMP OID Пример .1.3.6.1.4.1.171.50.1.10.1.1.1.0 Обратите внимание что в большинстве случаев нужно в конце дописать .0
SNMP Community глобальный макрос или например просто public
Группу так же на свое усмотрение, я беру имя раздела в MIB Browser
Тип Информации в зависимости какие данные значения идут Values (если не знаете сразу ставьте текст) или от предобработки выбираем соотвествующие
Интервал насколько часто будем запрашивать данные, данного элемента
Описание я беру из descr
И так по аналогии создаем простые элементы
Некоторые макросы низкоуровневого обнаружения “заранее добавлены” в функционал низкоуровневого обнаружения в Zabbix - , , , , . Однако, не обязательно придерживаться этих имен при создании пользовательского низкоуровневого правила обнаружения.
Встроенный макрос содержит индекс обнаруженного OID, который применяется к обнаруженным объектам. Обнаруженные объекты группируются по значению макроса
макросом равным индексам обнаруженных OID 1, 2 и 3 и т.д.
Правила обнаружения SNMP
Создать правило обнаружения
Имя Что будем искать данным правилом пример dns340LVolumeNum активные тома на устройстве NAS
Тип Выбираем версию SNMP
Ключ Пример dns340LVolumeNum Взяли из поля Name в mib соответствующего ключа
SNMP OID Пример discovery[, .1.3.6.1.4.1.171.50.1.10.1.1.9.1.1]
Если нам нужна еще переменная с именем то через запятую добавляем макрос и OID с которого получаем имя для прототипов элементов
SNMP OID Пример discovery[, .1.3.6.1.4.1.171.50.1.10.1.1.9.1.1, , .OID указываем]
или если в место имени выходят индексы пробуем так
SNMP OID Пример discovery[, .1.3.6.1.4.1.171.50.1.10.1.1.9.1.1,,OID указываем]
Например у нас в таблице до ключа есть 3 позиции
dns340LVolumeTable
.1.3.6.1.4.1.171.50.1.10.1.1.9
Таблица активных томов на устройстве NAS.
макрос (как переменная в дальнейшем найденные значения будет подставлять в прототипы элементов)
.1.3.6.1.4.1.171.50.1.10.1.1.9.*.*.*
Тут у нас найдет 3 значения и будет их все подставлять и создавать элементы их очень много и они не все относятся к данной группе
dns340LVolumeEntry
.1.3.6.1.4.1.171.50.1.10.1.1.9.1
Запись в таблице томов.
Запись интерфейса, содержащая объекты на подсетевой слой и ниже для конкретного интерфейс.
.1.3.6.1.4.1.171.50.1.10.1.1.9.1.*.*
Тут будет 2 значения то же не устраивает
dns340LVolumeNum
.1.3.6.1.4.1.171.50.1.10.1.1.9.1.1
Номер экземпляра записи Тома
А здесь 1 значение все хорошо берем его
.1.3.6.1.4.1.171.50.1.10.1.1.9.1.1.*
Порт
Интервал обновления как часто будем искать например 1h
Период сохранения потерянных ресурсов 30d
Описание пишем описание что ищем
Активировано V
Прототип Элемента
Имя Пример dns340LVolumeName. - Название Тома
Тип Версия SNMP
Ключ Пример dns340LVolumeName.[]
SNMP OID Пример .1.3.6.1.4.1.171.50.1.10.1.1.9.1.2.
где макрос будет подставляться найденные значения, из правила обнаружения dns340LVolumeNum активные тома на устройстве NAS
SNMP community
Порт
Тип информации Текст
Интервал обновления 6h
Ну и дальше все как обычно выбираем группу срок хранения истории описание
Главное чтоб в Имени, Ключе и SNMP OID были указанны макросы иначе при первом найденном элементе будет конфликт имен мол такой элемент уже создан так же это относится и к прототипам триггерам и графикам
Пример Преобразования прототипа элемента данных
Есть строка Centigrade:38 Fahrenheit:100
Регулярное вырожение Centigrade:(5+) \0 остается только Centigrade:38
Обрезка слева Centigrade: остается 38
из стандартной инструкции на примере шаблона Template SNMPv2 Interfaces
Отличие в поле SNMP OID в одном случае ищем по имени в другом по значению Имя Сетевой интерфейсТип SNMPv2 агент
Ключ ifDescr
SNMP OID discovery[,IF-MIB::ifDescr]
SNMP community
Описание
Вы можете также рассмотреть использование если-МБ::ifType или если-МиБ::ifAlias для обнаружения в зависимости от ваших потребностей фильтрации.
is a global macro. является глобальным макросом.
Или же например
Имя ifIndex Поиск сетевых интерфейсов и данных о них
Тип SNMPv2 агент
Ключ ifIndex
SNMP OID discovery[, .1.3.6.1.2.1.2.2.1.1]
SNMP community
Описание
ifTable
.1.3.6.1.2.1.2.2
Список элементов интерфейса. Количество записи присваивается значение, если количество.
ifEntry
.1.3.6.1.2.1.2.2.1
Запись интерфейса, содержащая объекты на подсетевой слой и ниже для конкретного интерфейс.
ifIndex
1.3.6.1.2.1.2.2.1.1
Уникальное значение для каждого интерфейса. Его значение колеблется между 1 и значением ifNumber. То значение для каждого интерфейса должно оставаться постоянным при по крайней мере, от одной повторной инициализации сущности. система управления сетью до следующего пожара- инициализация.
отличия прототипов элементов snmp
Установка snmpwalk на Debian
apt-get install snmp
Чтобы идентификаторы OID соответствовали их текстовому описанию, активируйте несвободный репозиторий и установите
apt-get install snmp-mibs-downloader
Стандартно MIB лежат в ./usr/share/snmp/mibs/
mibs :ALL включает все, что не совсем хорошо. Рекомендую для каждого оборудования иметь папку с mib'ами, т.к. они могут отличаться из одной прошивки к другой.
Или же прописать конкретные mib в конфиг например: mibs :BRIDGE-MIB:Q-BRIDGE-MIB:IP-MIB:IF-MIB
Конкретно одну добавить mibs +CPQPOWER-MIB
Опции можно менять местами пример:
Библиотека лежит тут ./usr/share/snmp/mibs/DNS-340L-MIB.mib
snmpwalk -v 2c -c public 192.168.0.150 DNS-340L-MIB::dns340LVolumeName
snmpwalk -v 2c -c public 192.168. Имя Mib библиотеки::Имя запроса ключа
или
snmpwalk -v 2c -c public 192.168.0.101 .1.3.6.1.4.1.232.165.3.1 -m CPQPOWER-MIB
snmpwalk -v 2c -c public -m /usr/share/snmp/mibs/DNS-340L_MIB.TXT 192.168.0.101 dns340LHostName
Так же если в конфиге не указана нужная mib можно сделать так
Он применит все найденные mib
snmpwalk -v 2c -c public -M ./ -Ln -m ALL 192.168.0.101
Пример для snmpwalk -v 3
Основные ключи для запроса:
-a Протокол аутентификации (MD5 или SHA) (При настройке удаленного хоста может быть None , SHA1 , SHA256 , SHA512)
-l Уровень безопасности (noAuthNoPriv или authNoPriv или authPriv)
-u Имя пользователя для аутентификации
-A Пароль аутентификации
-x Определить алгоритм шифрования протокол конфиденциальности (DES или AES) (При настройке удаленного хоста может быть None ,AES-128 , AES-192 , AES-192 Ex , AES-256 , AES-256 Ex)
-X Пароль шифрования (Обратите внимание, что для повышения безопасности убедитесь, что вы используете разные пароли для аутентификации и шифрования)
Так же должен быть дан доступ Тип доступа: Disable (Отключен) , Read (Чтение) , Read/Write (Чтение Запись)
snmpwalk -v3 -a MD5 -l authPriv -u Пользователь -A Пароль -x DES -X Пароль 192.168.1.11 IF-MIB::ifDescr
snmpwalk -v3 -a SHA -l authPriv -u snmpreadonly -A hacker100 -x AES -X hacker101 192.168.43.188 | head -10
snmpwalk -v3 -a MD5 -l authPriv -u admin -A lslslsls1 -x DES -X ag66gaga 127.0.0.1
snmpwalk -v3 -a SHA -l authPriv -u snmp-poller -A "PASSWORD1" -x AES -X "PASSWORD2" 10.10.10.50
snmpwalk -v3 -a SHA -l authPriv -u snmp-poller -A "PASSWORD1" -x AES -X "PASSWORD2" 10.10.10.50 sysName.0 system.sysUpTime.0
Необходимо просто экранировать пароли в ', т.к. в паролях использовались не только буквы и цифры.
snmpwalk -v3 -a MD5 -l authPriv -A 'auth_passphrase1' -u user1 -x DES -X 'priv_passphrase1' 10.10.10.50
snmpwalk -v 2c -c public
ИСПОЛЬЗОВАНИЕ: snmpwalk [Опции] AGENT [OID]
Опции:
-h, --help -Вызов справки
-H -показать понятные директивы файла конфигурации
-v 1|2c|3 -указывает используемую версию SNMP
-V, --version Вывести на экран версию snmpwalk
SNMP V1 или V2С
-c COMMUNITY -установите строку сообщества например: -c public
SNMP V3 с авторизацией
-a PROTOCOL - установить протокол аутентификации (MD5 или SHA)
-A PASSPHRASE -установить протокол проверки подлинности пароля
-e ENGINE-ID -комплектация код двигатель (напр. 800000020109840301)
-E ENGINE-ID -установить идентификатор контекстного движка (например. 800000020109840301)
-l LEVEL -установить уровень безопасности (noAuthNoPriv|authNoPriv|authPriv)
-n CONTEXT -задать имя контекста (например. bridge1)
-u USER-NAME -установить имя (пользователя) безопасности (например. bert)
-x PROTOCOL -установить протокол конфиденциальности (DES или AES)
-X PASSPHRASE -Установить пароль протокола конфиденциальности
-Z BOOTS,TIME -установка загрузки двигателя назначения / времени
Общие параметры связи
-r RETRIES -установите количество повторных попыток
-t TIMEOUT -установите время ожидания запроса (в секундах)
Отладка debug
-d -дамп входных / выходных пакетов в шестнадцатеричном формате
-D[TOKEN[. ]] -включить вывод отладки для указанных токенов (ALL дает чрезвычайно подробный отладочный вывод)
Прочие Опции
-m MIB[. ] -загрузить данный список МИБ (ALL загружает все) snmpwalk -v 2c -c public -m DNS-340L_MIB.mib 192.168.
-M DIR[. ] -посмотрите в данном списке каталогов для MIBs
(Поумолчанию: $HOME/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp)
-P MIBOPTS -Переключить различные значения по умолчанию, контролирующие разбор MIB:
u: разрешить использование подчеркивания в символах MIB
c: запретить использование «--» для прекращения комментариев
d: сохранить ОПИСАНИЕ объектов MIB
e: отключить ошибки при конфликте символов MIB
w: включить предупреждения при конфликте символов MIB
W: включить подробные предупреждения при конфликте символов MIB
R: заменить символы MIB из последнего модуля
-O OUTOPTS -Переключение различных значений по умолчанию, управляющих отображением выхода:
0: печатать начальный 0 для шестнадцатеричных символов
a: распечатать все строки в формате ascii
b: не разбивайте индексы OID indexes down
e: печатать перечисления численно
E: экранировать кавычки в строковых индексах
f: печатать полные OID на выходе
n: печатать OIDs численно
q: быстрая печать для облегчения анализа
Q: быстрая печать со знаками равенства
s: печатать только последний символический элемент OID
S: распечатать идентификатор модуля MIB плюс последний элемент
t: распечатывать временные метки в виде числовых целых
T: печатать читабельный текст вместе с шестнадцатеричными строками
u: вывод OID с использованием подавления префикса в стиле UCD
U: не печатать единицы юниты
v: только для печати значений (нет OID = value значения)
x: распечатать все строки в шестнадцатеричном формате
X: расширенный индексный формат
-I INOPTS -Переключение различных значений по умолчанию, управляющих анализом ввода:
b: сделать лучшее / регулярное выражение, чтобы найти узел MIB
h: не применять DISPLAY-подсказки
r: не проверять значения для легальности диапазона / типа
R: сделать произвольный доступ к меткам OID
u: OID верхнего уровня должны иметь '.' префикс (в стиле UCD)
s SUFFIX: Добавьте все текстовые OID с SUFFIX перед анализом
S PREFIX: Перед синтаксическим анализом добавьте все текстовые OID с помощью PREFIX.
-L LOGOPTS -Переключение различных настроек по умолчанию для управления журналом:
e: Вывод стандартного лога ошибок
o: Вывод стандартного лога ошибок
n: Отключить весь Лог
f file: Специфичный лог файл
s facility: войти в системный журнал (через указанное средство)
(Варианты)
[EON] pri: войти в стандартную ошибку, output or /dev/null for level 'pri' and above
[EON] p1-p2: log to standard error, output or /dev/null for levels 'p1' to 'p2'
[FS] pri token: log to file/syslog for level 'pri' and above
[FS] p1-p2 token: log to file/syslog for levels 'p1' to 'p2'
-C APPOPTS -Установить различные специфичные для приложения поведения:
p: выведите количество найденных переменных
i: включить данный OID в диапазон поиска
I: не включать данный OID, даже если результаты не возвращаются
c: не проверять количество возвращаемых OID увеличивается
t: Display wall-clock time to complete the walk
T: Display wall-clock time to complete each request
E : End the walk at the specified OID
Путь поиска MIB
/root/.snmp/mibs:
/usr/share/snmp/mibs:
/usr/share/snmp/mibs/iana:
/usr/share/snmp/mibs/ietf:
/usr/share/mibs/site:
/usr/share/snmp/mibs:
/usr/share/mibs/iana:
/usr/share/mibs/ietf:
/usr/share/mibs/netsnmp
snmpwalk [-d] [-p порт] -v 1 хост сообщество [имя_переменной]
-d Выгрузить входные и выходные пакеты.
Если шаблон будет подключатся к Хосту (узлу) где используется SNMP V3 с авторизацией и шифрованием
Для удобства задайте Макросы (переменные) Для того чтобы в каждом элементе в дальнейшем не прописывать логин пароли
Пример
После подключения шаблона к узлу, В узле задайте данные Макросы и пропишите для них логин пароль!
Имя контекста
Имя безопасности
Пароль аутентификации
Ключевая фраза безопасности
Порт обычно 161
Далее в обычном элементе получаем следующий вид
И так по аналогии создаем все элементы если у вас SNMP V3.
snmpwalk -v3 -a MD5 -l authPriv -u APCV3 -A Пароль1 -x DES -X Пароль2 192.168.xxx.xxx:166 PowerNet-MIB::upsAdvBatteryTemperature.0
Если в виде макросов посмотреть получим
snmpwalk -v3 -a MD5 -l authPriv -u -A -x DES -X 192.168.xxx.xxx: PowerNet-MIB::upsAdvBatteryTemperature.0
snmpwalk -v3 -a MD5 -l authPriv -u Имя безопасности -A Пароль аутентификации -x DES -X Ключевая фраза безопасности 192.168.xxx.xxx:Порт обычно 161 PowerNet-MIB::upsAdvBatteryTemperature.0
Если Пароль 1 неверен получим ошибку Authentication failed for и так же Timeout
Если Пароль 2 неверен получим ошибку Timeout: No Response from , Timeout while connecting to (красный snmp то что нет соединения)
Создать имя пользователя для аутентификации
Установить пароль аутентификации
Установить пароль шифрования
Определить права доступа
Определить алгоритм шифрования
Создание пароля для подключения к узлу на котором cоздается пароль пример
net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]
systemctl stop snmpd - остановить службу
net-snmp-create-v3-user -ro -A SecUREDpass -a SHA -X StRongPASS -x AES snmpreadonly
Получаем ответ
adding the following line to /var/lib/snmp/snmpd.conf:
createUser snmpreadonly SHA "SecUREDpass" AES StRongPASS
adding the following line to /usr/share/snmp/snmpd.conf:
rouser snmpreadonly
Для интерактивного запуска net-snmp-create-v3-user
net-snmp-create-v3-user -x AES -a SHA
Запускаем службы
systemctl start snmpd
systemctl enable snmpd
Проверка
snmpwalk -v3 -a SHA -A SecUREDpass -x AES -X StRongPASS -l authPriv -u snmpreadonly localhost | head -10
snmpwalk -v3 -a SHA -A hacker100 -x AES -X hacker101 -l authPriv -u snmpreadonly 192.168.43.188 | head -10
Ребята, помогите пожалуйста.
Перед нами такая задача, есть скрипт который выгребает нужное значение. Далее это значение нужно поместить в какойнибудь OID или создать свой собственный Object Identificator (OID) например: 1.3.6.х.х.х.х.х. Чтобы этот ОИД потом получать при помощи snmpwalk/snmpget на удаленном компе.Гуглил целый день, прочитал много инфы, однако конкретного примера не нашел.
> Система? Софт?FreeBSD 9.0
net-snmp 5.7.1_7Возможно мне нужен простой пример "snmpd.conf" где указываются привязки скриптов к OID (если это конечо в этом файле, а не в другом).
п.с. в дальнейшем буду пробовать привязывать и на ОС Виндовс
> Вот тебе рабочий пример:
> extend .1.3.6.1.3.35514.2.1 sda /usr/local/sbin/hddtemp sda
> Читать так:
> snmpwalk -v 1 -c public localhost .1.3.6.1.3.35514.2.1
> ну и полазь там внутри..работает.. выдает кучу оидов.
Капец теперь окончательно запутался."sda" это произвольное имя?
/usr/local/sbin/hddtemp - что это вообще? у меня такой команды нет в шелле. да и файла такого вообще.
Обьясни как это работает, пожалуйста
Быть хорошим админом это значит уметь разобраться в непонятной проблеме. Иногда можно спросить. Иногда.
> Быть хорошим админом это значит уметь разобраться в непонятной проблеме. Иногда можно
> спросить. Иногда.Ты прав. согласен. просто мне срочно надо.
>> Быть хорошим админом это значит уметь разобраться в непонятной проблеме. Иногда можно
>> спросить. Иногда.
> Ты прав. согласен. просто мне срочно надо.Разобрался. Спасибо :)
>>> Быть хорошим админом это значит уметь разобраться в непонятной проблеме. Иногда можно
>>> спросить. Иногда.
>> Ты прав. согласен. просто мне срочно надо.
> Разобрался. Спасибо :)А в чем трабл был? Я второй день разобраться не могу.
Любой, кто знаком с сетями, слышал о Протокол SNMP. SNMP - это тип протокола, который позволяет администраторам контролировать состояние оборудования и программного обеспечения. Устройства с поддержкой SNMP можно контролировать удаленно с помощью инструментов мониторинга сети, чтобы отслеживать производительность и доступность. MIBs и OIDs некоторые из секретных ингредиентов этого важного протокола.
SNMP имеет несколько компонентов под поверхностью, которые позволяют передавать информацию о производительности обратно конечному пользователю. Агенты SNMP, SNMP менеджеры, MIBS, и OIDs все работают вместе, чтобы сделать эти переводы возможными. В этой статье мы рассмотрим, что такое MIBS и OID, и что они делают. Однако, прежде чем мы это сделаем, мы должны посмотреть, что такое SNMP.
Что такое SNMP?
SNMP или Простой протокол управления сетью это хорошо известный сетевой протокол, который находится на уровне приложений. Протокол SNMP восходит к 1989 году и был создан для того, чтобы устройства могли обмениваться информацией друг с другом по сети. Сегодня SNMP используется для мониторинга устройств с поддержкой SNMP и посмотреть, как их производительность задерживается. Архитектура SNMP состоит из менеджеров SNMP и агентов SNMP.
Агенты SNMP - это программы, которые запускаются на устройствах, подключенных к сети. К ним относятся устройства от ПК до коммутаторов, телефонов и принтеров. Агент берет информацию из MIB и передает ее менеджеру SNMP после выполнения запроса. Эта информация включает в себя сведения о состоянии подключенного устройства.
Менеджер SNMP - это система, которая отвечает за связь с подключенными устройствами агента SNMP. Здесь находится ваше решение для мониторинга сети. Менеджер SNMP запрашивает агентов, получает ответы от агентов и устанавливает переменные агентов.
Смотрите также: SNMP объяснил
Что такое MIB?
Ресурсы, хранящиеся в MIB, называются управляемыми объектами или переменными управления. Самый простой способ думать о MIB - это центральный центр данных внутри устройства. MIB содержит все данные о производительности, которые доступны при загрузке инструмента мониторинга сети.
Что такое OID?
Внутри MIB есть много различных управляемых объектов, которые могут быть идентифицированы OID или Идентификатор объекта. OID это адрес, который используется для различения устройств в иерархии MIB. OID используется для ссылки на уникальные характеристики и навигации по переменным на подключенном устройстве. Значение этих идентификаторов варьируется от текста к числам и счетчикам. Существует два основных типа управляемых объектов:
- скаляр - Один экземпляр объекта, например имя устройства, определенное поставщиком.
- табличный - Объекты с несколькими результатами OID для одного OID
Они часто изображаются в виде дерева. OID форматируется в виде строки чисел, как показано ниже:
1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3
Каждый из этих номеров предоставляет вам соответствующую информацию. Например:
OID почти всегда начинаются с одинаковой последовательности чисел; 1.3.6.1.4.1. Мы рассмотрим, что означают эти цифры, более подробно ниже:
1 iso - ISO это имя группы, которая запустила стандарт OID
.3 org - организация, указанная рядом с этой цифрой
.6 dod - Министерство обороны США
.1 интернет - определяет, что общение будет происходить через интернет
.4 private - указывает, что устройство изготовлено частной компанией
.1 предприятие - утверждает, что производитель является предприятием
В большинстве случаев OID будут предоставляться поставщиком, у которого вы приобрели устройство.
SNMP получает запросы и ловушки SNMP
Извлечение данных с устройств с SNMP может быть выполнено одним из двух способов; с SNMP Получить запрос или SNMP Trap. Запрос на получение SNMP - это когда пользователь запрашивает данные о производительности устройства. Как только агент SNMP получает этот запрос, он отправляет обратно OID, которые могут быть прочитаны системой мониторинга SNMP..
В случае прерываний SNMP агент SNMP автоматически уведомляет диспетчер SNMP о значительном событии на устройстве. Ловушки важны, потому что они отправляются менеджеру SNMP без опроса. Следовательно, ловушки помогают держать пользователя в курсе изменений внутри устройства..
Без SNMP-ловушек устройства могут передавать данные только при опросе. Ловушки SNMP также используют MIB. Эти MIB имеют свои собственные условия оповещения, которые находятся внутри устройства. Системе мониторинга SNMP необходимо настроить эти MIB, иначе они не смогут получить доступ к прерываниям, отправленным устройством..
Как использовать MIB и OID
Как мы уже говорили выше, каждое сетевое устройство с поддержкой SNMP будет иметь свою собственную таблицу MIB со многими различными OID. В большинстве MIB так много OID, что было бы практически невозможно записать всю информацию. Вместо того, чтобы делать это вручную, вы должны использовать инструмент мониторинга сети, такой как Монитор производительности сети SolarWinds или Paessler PRTG Сетевой монитор.
Инструменты мониторинга SNMP предназначены для сбора данных из MIB и OID для представления в удобном для понимания формате. Запросы на получение и прерывания SNMP предоставляют сетевым мониторам необработанные данные о производительности, которые затем преобразуются в графические дисплеи, диаграммы и графики. Таким образом, MIB и OID позволяют вам контролировать несколько устройств с поддержкой SNMP из одного централизованного местоположения..
MIB и написание собственных MIB
Одна из интересных вещей о MIB заключается в том, что Вы можете создавать свои собственные MIB. Когда вы покупаете новое устройство, вы не ограничены использованием MIB, которые поставляются из коробки. Тем не менее, чтобы создать свой собственный MIB вам нужно знать, какие объекты вы хотите включить в него. Вы можете записать это в виде списка. После того, как вы написали список объектов, вам нужно определить место MIB в более широкой иерархии OID..
Новый MIB должен иметь свое собственное место в дереве, где он не будет сталкиваться с любым существующим MIB. Лучший способ написать MIB - использовать существующий MIB в качестве шаблона. Изменение имен и определений в MIB дает пользователю прочную основу для продвижения вперед. Если вы решите пойти по этому пути, рекомендуется выполнить его через проверку синтаксиса MIB, чтобы убедиться, что он работает..
MIB и OID: винтики в машине
Хотя предпосылка SNMP относительно проста, архитектура временами может быть обманчиво сложной. Важно помнить, что отношения SNMP Manager и SNMP Agent гарантируют, что пользователь может контролировать несколько устройств из одного места..
При загрузке инструмента сетевого мониторинга агенты SNMP отправляют данные со всей сети. Информация, которую вы видите на экране, подается из прерываний SNMP и запросов Get. Вы можете просматривать эти данные в форме графиков и диаграмм, но эти данные фактически записываются в MIB и идентифицируются с помощью OID..
Данные в MIB идентифицируются с помощью OID, поэтому сетевые мониторы могут получать точную информацию, которая им нужна. Без ID получить запросы было бы невозможно, потому что инструмент мониторинга не смог бы найти переменные в MIB. MIB и OID являются неотъемлемой частью архитектуры SNMP. Эти два компонента жизненно важны для того, чтобы вы могли контролировать сетевую инфраструктуру и выполнять диагностику.
Смотрите также: Руководство по UDP (протокол дейтаграмм пользователя)
Читайте также: