Пример создания шаблона SNMP для Zabbix

Различные шаблоны для системы мониторинга Заббикс
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Пример создания шаблона SNMP для Zabbix

Сообщение Артём Мамзиков »



Видео о Установка Эмулятора Симулятора SNMP устройств пример работы


Что такое 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
срк-м2
срк-м2
срк-м2 snmp
срк-м2 snmp
Далее идем на сайт производителя устройства в поддержке ищем свое устройство для загрузки драйверов прошивок документации Но нас интересует 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 скачали что делать дальше.
Я пользуюсь бесплатной программой на Windows MIB Browser Версии 10.0
Скачать MIB Browser
Устанавливаем и Запускаем MIB Browser
Mib Браузер
Mib Браузер
изначально откроется стандартная библиотека mib iso.org.dod.internet.mgmt.mib-2 можно попробовать на ней позапрашивать различные стандартные данные. Так же File > Load MIBs есть еще различные MIB идущие в комплекте с MIB Browser.

Загружаем свой MIB для этого заходим File > Load MIBs или жмем Ctrl+L выбираем скаченный MIB
Mib Браузер загрузка
Mib Браузер загрузка
После в дереве появится новый раздел нашего MIB файла
Mib Браузер загружена mib
Mib Браузер загружена mib
Что куда жать
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 глобальный макрос {$SNMP_COMMUNITY} или например просто public
Группу так же на свое усмотрение, я беру имя раздела в MIB Browser
Тип Информации в зависимости какие данные значения идут Values (если не знаете сразу ставьте текст) или от предобработки выбираем соотвествующие
Интервал насколько часто будем запрашивать данные, данного элемента
Описание я беру из descr
Создание простого элемента snmp
Создание простого элемента snmp
И так по аналогии создаем простые элементы

Некоторые макросы низкоуровневого обнаружения “заранее добавлены” в функционал низкоуровневого обнаружения в Zabbix - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}. Однако, не обязательно придерживаться этих имен при создании пользовательского низкоуровневого правила обнаружения.
Встроенный макрос {#SNMPINDEX} содержит индекс обнаруженного OID, который применяется к обнаруженным объектам. Обнаруженные объекты группируются по значению макроса {#SNMPINDEX}
макросом {#SNMPINDEX} равным индексам обнаруженных OID 1, 2 и 3 и т.д.

Правила обнаружения SNMP
Создать правило обнаружения
Имя Что будем искать данным правилом пример dns340LVolumeNum активные тома на устройстве NAS
Тип Выбираем версию SNMP
Ключ Пример dns340LVolumeNum Взяли из поля Name в mib соответствующего ключа
SNMP OID Пример discovery[{#SNMPVALUE}, .1.3.6.1.4.1.171.50.1.10.1.1.9.1.1]
Если нам нужна еще переменная с именем то через запятую добавляем макрос и OID с которого получаем имя для прототипов элементов
SNMP OID Пример discovery[{#SNMPVALUE}, .1.3.6.1.4.1.171.50.1.10.1.1.9.1.1, {#ИМЯ}, .OID указываем]
или если в место имени выходят индексы пробуем так
SNMP OID Пример discovery[{#SNMPVALUE}, .1.3.6.1.4.1.171.50.1.10.1.1.9.1.1,{#ИМЯ},OID указываем]
Почему именно этот OID
Показать
Например у нас в таблице до ключа есть 3 позиции
dns340LVolumeTable
.1.3.6.1.4.1.171.50.1.10.1.1.9
Таблица активных томов на устройстве NAS.
{#SNMPVALUE} макрос (как переменная в дальнейшем найденные значения будет подставлять в прототипы элементов)
.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.*
SNMP community указываем макрос {$SNMP_COMMUNITY}
Порт
Интервал обновления как часто будем искать например 1h
Период сохранения потерянных ресурсов 30d
Описание пишем описание что ищем
Активировано V
Автообнаружение snmp
Автообнаружение snmp
Если нам нужно еще получить для прототипов какие то макросы например мы ходим в имя подставить имя то получать их нужно именно в этом разделе выглядеть это будет discovery[{#МАКРОС1}, oid1, {#МАКРОС2}, oid2, …,]
Пример discovery[{#SNMPVALUE}, .1.3.6.1.4.1.171.50.1.10.1.1.10.1.1, {#DISKNAME}, .1.3.6.1.4.1.171.50.1.10.1.1.10.1.3] получаем индексы для прототипов элементов и макрос имя диска для подстановки имени в прототип элемента

Прототип Элемента
Имя Пример dns340LVolumeName.{#SNMPINDEX} - {#SNMPVALUE} Название Тома
Тип Версия SNMP
Ключ Пример dns340LVolumeName.[{#SNMPINDEX}]
SNMP OID Пример .1.3.6.1.4.1.171.50.1.10.1.1.9.1.2.{#SNMPINDEX}
где макрос {#SNMPINDEX} будет подставляться найденные значения, из правила обнаружения dns340LVolumeNum активные тома на устройстве NAS
SNMP community {$SNMP_COMMUNITY}
Порт
Тип информации Текст
Интервал обновления 6h
Прототип Элемента SNMP
Прототип Элемента SNMP
Ну и дальше все как обычно выбираем группу срок хранения истории описание
Главное чтоб в Имени, Ключе и SNMP OID были указанны макросы иначе при первом найденном элементе будет конфликт имен мол такой элемент уже создан так же это относится и к прототипам триггерам и графикам

Прототипы элементов
Прототипы Элементов SNMP
Прототипы Элементов SNMP
Прототип Элемента SNMP + преобразование значений
Прототип Элемента SNMP + преобразование значений
Прототип Элемента SNMP + преобразование значений
Пример Преобразования прототипа элемента данных
Есть строка Centigrade:38 Fahrenheit:100
Регулярное вырожение Centigrade:([0-9]+) \0 остается только Centigrade:38
Обрезка слева Centigrade: остается 38

Оф. документация Обнаружение SNMP OID'ов и Низкоуровневое обнаружение LLD
Оф. Регулярки

из стандартной инструкции на примере шаблона Template SNMPv2 Interfaces
default snmp
default snmp
Отличие в поле SNMP OID в одном случае ищем по имени в другом по значению
отличия обнаружения snmp
отличия обнаружения snmp
Имя Сетевой интерфейс
Тип SNMPv2 агент
Ключ ifDescr
SNMP OID discovery[{#SNMPVALUE},IF-MIB::ifDescr]
SNMP community {$SNMP_COMMUNITY}

Описание
Вы можете также рассмотреть использование если-МБ::ifType или если-МиБ::ifAlias для обнаружения в зависимости от ваших потребностей фильтрации.
{$SNMP_COMMUNITY} is a global macro. является глобальным макросом.

Или же например
Имя ifIndex Поиск сетевых интерфейсов и данных о них
Тип SNMPv2 агент
Ключ ifIndex
SNMP OID discovery[{#SNMPVALUE}, .1.3.6.1.2.1.2.2.1.1]
SNMP community {$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
отличия прототипов элементов snmp
отличия прототипов элементов snmp

Установка snmpwalk на Debian
apt-get install snmp

Чтобы идентификаторы OID соответствовали их текстовому описанию, активируйте несвободный репозиторий и установите
apt-get install snmp-mibs-downloader

Стандартно MIB лежат в ./usr/share/snmp/mibs/

обновить MIBS до последних версий
от root # download-mibs

В файле конфигурации nano /etc/snmp/snmp.conf включить нужные Mib
Я включил всё сделав следующее Закомментировал #MIBS: и добавил строку mibs :ALL

mibs :ALL включает все, что не совсем хорошо. Рекомендую для каждого оборудования иметь папку с mib'ами, т.к. они могут отличаться из одной прошивки к другой.
Или же прописать конкретные mib в конфиг например: mibs :BRIDGE-MIB:Q-BRIDGE-MIB:IP-MIB:IF-MIB
Конкретно одну добавить mibs +CPQPOWER-MIB

Добавление сторонних MIB для конкретного пользователя
# Создайте свой личный каталог MIBs
mkdir -p $HOME/.snmp/mibs
echo "mibdirs + $HOME/.snmp/mibs" >> $HOME/.snmp/snmp.conf
snmpwalk -v 1 -c public -m + ваша mib: еще ваша mib Хост


Примеры использования
Запрос с помощью OID
root@ZABBIXSERVER:/# snmpwalk -v 2c -c public 192.168.0.183 .1.3.6.1.2.1.2.2.1.2
iso.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
iso.3.6.1.2.1.2.2.1.2.2 = STRING: "sit0"
iso.3.6.1.2.1.2.2.1.2.3 = STRING: "eth0"
iso.3.6.1.2.1.2.2.1.2.4 = STRING: "eth1"

Запрос с помощью Имени
root@ZABBIXSERVER:/# snmpwalk -v 2c -c public 192.168.0.183 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: sit0
IF-MIB::ifDescr.3 = STRING: eth0
IF-MIB::ifDescr.4 = STRING: eth1
работает только при условиях:
Библиотека лежит тут ./usr/share/snmp/mibs/IF-MIB
расширение указывать не нужно (.mib .txt)
root@ZABBIXSERVER:/# snmpwalk -v 2c 192.168.0.183 -c public Имя Mib библиотеки::Имя запроса ключа
или
root@ZABBIXSERVER:/# snmpwalk -v 2c -c public 192.168.0.183 ifDescr
root@ZABBIXSERVER:/# snmpwalk -v 2c 192.168.0.183 -c public Имя запроса ключа

Опции можно менять местами пример:
Библиотека лежит тут ./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
Уровень безопасности noAuthNo Priv или authNoPriv или authPriv
Уровень безопасности noAuthNo Priv или authNoPriv или authPriv
Пример настроек для ИБП APC SNMP v3
APC-ИБП-SNMP-V3
APC-ИБП-SNMP-V3
snmpwalk -v3 -a MD5 -l authPriv -u APCV3 -A Пароль -x DES -X Пароль IP:Порт если не 161 | head -10 отобразить первые 10 строк
Пример запроса SNMP V3 snmpwalk.jpg
Пример запроса SNMP V3 snmpwalk.jpg

Описание опции snmpwalk
snmpwalk
Показать
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 {OID}: 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 Выгрузить входные и выходные пакеты.
Шаблоны
Скачать:
SRK-M2.zip
SRK-M2.zip
(692.22 КБ) 17 скачиваний
d-link dns-340l.zip
d-link dns-340l.zip
(14.36 КБ) 14 скачиваний
он же на SRK-M2(Y); СРК-М2(У) SNMPv1
Шаблон d-link dns-340l

Шаблон все в куче из MIB iso.org.dod.internet.mgmt.mib-2
Шаблон iso.org.dod.internet.mgmt.mib-2.zip
Шаблон iso.org.dod.internet.mgmt.mib-2.zip
(48.44 КБ) 20 скачиваний
О Настройке и работе SNMP Traps в zabbix Debian

Если шаблон будет подключатся к Хосту (узлу) где используется SNMP V3 с авторизацией и шифрованием
Для удобства задайте Макросы (переменные) Для того чтобы в каждом элементе в дальнейшем не прописывать логин пароли
Пример
макросы для SNMP V3
макросы для SNMP V3
После подключения шаблона к узлу, В узле задайте данные Макросы и пропишите для них логин пароль!
{$SNMP_V3_CONTEXTNAME} Имя контекста
{$SNMPV3_SECURITYNAME} Имя безопасности
{$SNMPV3_AUTHPASS} Пароль аутентификации
{$SNMPV3_PRIVATEPASS} Ключевая фраза безопасности
{$SNMPV3_PORT} Порт обычно 161

Далее в обычном элементе получаем следующий вид
макросы для SNMP V3 Обычный элемент данных пример
макросы для SNMP V3 Обычный элемент данных пример
Правило обнаружения пример для SNMP V3
макросы для SNMP V3 Правило обнаружения пример
макросы для SNMP V3 Правило обнаружения пример
Прототип элемента данных пример SNMP V3
макросы для SNMP V3 Прототип элемента данных пример
макросы для SNMP V3 Прототип элемента данных пример
И так по аналогии создаем все элементы если у вас SNMP V3.

Пример на Харбе Мониторинг сетевого оборудования по SNMPv3 в Zabbix

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 {$SNMPV3_SECURITYNAME} -A {$SNMPV3_AUTHPASS} -x DES -X {$SNMPV3_PRIVATEPASS} 192.168.xxx.xxx:{$SNMPV3_PORT} 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 то что нет соединения)
Если удаленный хост Debian и его планируется опрашивать по snmp v3
Показать
Создать имя пользователя для аутентификации
Установить пароль аутентификации
Установить пароль шифрования
Определить права доступа
Определить алгоритм шифрования

Создание пароля для подключения к узлу на котором 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

Так же для безопасности можно сделать
Определите IP-адрес интерфейса, с которого сервер может быть подключен удаленно, по умолчанию демон SNMP слушает в интерфейсе loopback.
nano /etc/snmp/snmpd.conf
указываем конкретные IP
agentAddress udp:127.0.0.1:161,udp:192.168.43.188:161
количество слов: 1729
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Пример создания шаблона SNMP для Zabbix

Сообщение Артём Мамзиков »

Как узнать имя из OID присвоенное mib файлом
Пример
snmptranslate 1.3.6.1.4.1.77.1.2.3.1.1
LanMgr-Mib-II-MIB::svSvcName

Обратное узнать из имени MIB получаем OID
Пример
snmptranslate -On LanMgr-Mib-II-MIB::svSvcName
.1.3.6.1.4.1.77.1.2.3.1.1

Полное название
snmptranslate -Of

используйте опцию -IR (-I, от слова Input) для поиска по всему MIB-дереву
snmptranslate -IR sysUpTime.0

С помощью опции -Ib возможен поиск по MIB-дереву с использованием регулярных выражений
snmptranslate -Ib 'sys.*ime'
system.sysUpTime

Чтобы получить весь список найденных по регулярному выражению значений, используйте опцию -TB
snmptranslate -TB 'vacm.*table'
SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyTable
SNMP-VIEW-BASED-ACM-MIB::vacmAccessTable
SNMP-VIEW-BASED-ACM-MIB::vacmSecurityToGroupTable
SNMP-VIEW-BASED-ACM-MIB::vacmContextTable

Получить дополнительную информацию о MIB-узлем можно с -Td(description) опцией
snmptranslate -On -Td -Ib 'sys.*ime'

Если вы хотите получить аккуратную диаграмму секции MIB-дерева, используйте -Tp опцию
snmptranslate -Tp -IR system

debian snmptranslate
количество слов: 105
Deonis
Гость
Сообщения: 8
Стаж: 1 год 3 месяца

Пример создания шаблона SNMP для Zabbix

Сообщение Deonis »

Добрый день! Только знакомлюсь с Zabbix, попробовал поработать с snmp. Поставил MIB Browser, сеть у нас разношерстная Попробовал с D-linc столкнулся с таким моментом, запросы от стандартной MIB библиотеки идущей в составе MIB Browser я получаю ответы от D-linc, но если пытаюсь использовать специально скаченный с сайта D-linc MIB файл для конкретного свича получаю сообщение "нет такого объекта snmp", менял стандарт SNMP не помогло...
количество слов: 16
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Пример создания шаблона SNMP для Zabbix

Сообщение Артём Мамзиков »

Deonis, Добрый день! Да возможно что элемента такого нет, так как он может означать конкретную настройку включение какого функционала или настройку какого-то параметра например вилан 3 и с него будут сниматься данные , а его попросту нет вот и элемента нет, возможно нужно обновить прошивку. Стандарты все должны быть одинаковы работать одинаково на всех устройствах. Возможно это что то d-link напутал конкретнее можно задать вопрос им почему не работает тот или иной элемент по snmp на вашем устройстве такой то модели с таким то mib такой то прошивкой.
количество слов: 6
Deonis
Гость
Сообщения: 8
Стаж: 1 год 3 месяца

Пример создания шаблона SNMP для Zabbix

Сообщение Deonis »

При работе Zabbix по SNMP в строке SNMP Community мы указываем либо сразу имя, либо используем макрос {$SNMP_COMMUNITY} если имя отличается от public мы его должны заменить в шаблоне. Вопрос, если к шаблону присоединены дополнительные шаблоны и в них также есть {$SNMP_COMMUNITY}, то его значение в присоединенных шаблонах будет браться от основного, или нужно менять в каждом?
количество слов: 9
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Пример создания шаблона SNMP для Zabbix

Сообщение Артём Мамзиков »

Deonis, По идее если указать макрос в Узле другой не public то приоритет будет на его, но если все же будет браться глобальный тогда нужно менять в шаблоне макрос, либо делать копию шаблонов и менять для них.
количество слов: 2
Deonis
Гость
Сообщения: 8
Стаж: 1 год 3 месяца

Пример создания шаблона SNMP для Zabbix

Сообщение Deonis »

День добрый! Ну вот и воспользовался вашими трудами, создал шаблон, для NetUPS, вполне успешно, в случае с mib файлом от APC проблем подобных с d-linc не возникло. Так что большое спасибо!
Сейчас решил попытать силы с HP MSA, тут как раз много таблиц, в скаченном с HP архиве, было 7 mib файлов, судя по их содержанию это куски информации доступной по SNTP, вы с таким сталкивались?
количество слов: 11
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Пример создания шаблона SNMP для Zabbix

Сообщение Артём Мамзиков »

Deonis, Добрый день! Такие нет не делал, возможно разные миб для разных вариантов настроек, если есть какая то определенная настройка то и элемент будет обнаруживаться и проверятся. Так же возможно зависит от начинки на каком железе собранно возможно есть отличия, или версии прошивки на новой возможно больше запросов сделано для snmp. Или ещё кака вариант миб зависимы друг от друга вместо одной сделали несколько. А правильнее всего уточнить в поддержке HP ))
количество слов: 3
Deonis
Гость
Сообщения: 8
Стаж: 1 год 3 месяца

Пример создания шаблона SNMP для Zabbix

Сообщение Deonis »

День добрый можно вопрос из теории Zabbix связанный с данной темой ? А именно макросами. Из описания на Zabbix следует что существует 3 вида макросов: 1 {macros} - системные макросы и есть их список, 2 {$macros}-пользовательские макросы создаваемые пользователем (причем {$SNMP_COMMUNITY} стал общеупотребимым), 3 {#macros} - макросы низкоуровневого обнаружения, и вот как раз этот тип макросов сказано что пять из них определены заранее в Zabbix - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}, а остальные можно создавать самостоятельно. Вопрос эти пять макросов просто зарезервированные имена или они имеют предопределенное назначение?

К примеру При создании Правила обнаружения, для параметра SNMP OID вы используете discovery[{#SNMPVALUE}. Можно вместо {#SNMPVALUE} совой макрос?
количество слов: 22
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Пример создания шаблона SNMP для Zabbix

Сообщение Артём Мамзиков »

Deonis, Добрый день!
определены заранее в Zabbix - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}
Они есть в стандартных шаблонах, для поиска сетевых интерфейсов для snmp (коммутаторов например) или
Например в шаблон Vipnet Lan Interfaces SNMPv2
ни имеют предопределенное назначение? Тут в общем Да

Можно вместо {#SNMPVALUE} совой макрос? Попробовать можно но выйдет тот же эфект подстановка значения, а может и не заработает.
количество слов: 13
Ответить Вложения 24 Пред. темаСлед. тема

Вернуться в «Шаблоны Заббикс»