snmp что это в ибп
Работа с ИБП по SNMP на примере оборудования Powercom
Источники бесперебойного питания являются одни из распространенных способов снижения числа сбоев, повышения надежности работы и защиты оборудования и данных. И если для домашних устройств часто бывает вполне достаточно младших моделей, не имеющих никаких интерфейсов для связи с питаемым устройством, для коммерческого сегмента без этого не обойтись.
Наиболее простым способом обеспечить контроль и управление является использование интерфейса USB. В этом случае ИБП подключается непосредственно к персональному компьютеру, рабочей станции или серверу. На последних настраивается фирменное (чаще всего) программное обеспечение, которое позволяет обеспечить штатное выключение питания оборудования при длительном отсутствии питания, а также предоставляет пользователю возможность проверки состояния ИБП, мониторинга параметров сети питания, получения уведомлений по электронной почте, запись журнала событий и другие функции. Минусом такого варианта работы является отсутствие единого стандарта на протокол обмена данными, возможные ограничения со стороны программного обеспечения, зависимость от дополнительного оборудования и ПО и, что наиболее существенно, — работа преимущественно с одним устройством. Конечно некоторые из данных особенностей можно преодолеть, но часто это требует значительных усилий со стороны пользователя.
В сценарии работы оборудования в серверной стойке к одному ИБП обычно одновременно подключаются сразу несколько потребителей. Кроме того, хочется иметь единый интерфейс для моделей разных производителей, позволяющий интегрировать их в общие системы контроля работы сети и оборудования. Для решения данных задач часто применяется стандартный протокол SNMP, а ИБП через сетевой интерфейс подключается непосредственно в локальную сеть. Это позволяет ему обмениваться данными одновременно с несколькими клиентами напрямую, а также быть интегрированным в системы мониторинга. Кроме того, в этом случае вы сможете управлять ИБП и через сеть Интернет.
В данной статье мы рассмотрим реализацию платы управления от компании Powercom, имеющей более чем 30-ти летний опыт работы в данном сегменте рынка.
Компания предлагает несколько моделей плат управления для своих устройств, которые чаще всего предлагаются как опция. При этом в самом ИБП должна быть предусмотрена возможность установки платы. В большинстве «не домашних» серий она, конечно, присутствует. В данном материале мы познакомимся с возможностями одной из наиболее доступных версий — NetAgent CP504. На момент подготовки статьи ее можно было приобрести примерно за 12 000 рублей. Кроме нее, есть также более интересная модификация NetAgent II (BT506) — с поддержкой подключения внешних проводных датчиков температуры и влажности, беспроводных сенсоров дыма, протечки, открытия двери/окна, а также внешнего модема, позволяющего, в том числе, отправлять SMS через сотовые сети, что снимает зависимость системы уведомлений от подключения к сети Интернет. При выборе модели также не стоит забывать о совместимости.
Интерфейс имеет несложный дизайн. В левой стороне окна находится меню из четырех основных разделов, в которых собрано два десятка пунктов. Первый раздет отвечает собственно за работу с устройством и мы опишем его далее. А начнем с «Configuration».
Следующий этап – настройка клиентов для взаимодействия с ИПБ, в частности для корректного завершения их работы при проблемах с питанием. Для реализации этого сценария можно использовать несколько вариантов. В частности, вы можете установить на всех устройствах, которые питаются через данный ИБП фирменную программу ClientMate. Она есть в версиях для Windows, Linux, macOS, FreeBSD и для среды виртуализации от VMWare.
Безусловно описанные сценарии будут востребованы преимущественно в SMB и корпоративном секторе. С другой стороны, достаточно серьезные ИТ-структуры сегодня встречаются даже у домашних пользователей и в SOHO. Учитывая, что часто важность данных и цена простоя может превышать стоимость оборудования, установка одного большого ИБП для нескольких устройств сразу может быть вполне оправдана. При этом часто требуется обеспечить совместную работу «зоопарка» оборудования разных производителей и здесь будет востребовано применение универсального стандартного сетевого протокола, как используемый в статье SNMP.
Как настроить мониторинг UPS (ИБП) по сети с помощью SNMP? (APC, Powercom и других)
При использовании ИБП с компьютерами никак не обойтись без мониторинга заряда батарей для корректного завершения работы ПК или сервера. Если в батареях осталось немного энергии, а подача электричества в электросеть не возобновилась, то перед вынужденно-принудительным обесточиванием подключенного ПК лучше корректно завершить работу ОС и ПО, сохранив данные на диск. При этом не мешало бы оповестить администратора об аварии. Как этого добиться?
Нужно настроить программу мониторинга ИБП, и если прогнозируемое время работы системы от батареи осталось небольшим, отправить в ОС команду завершения работы. Может потребоваться и мониторинг других параметров бесперебойника в зависимости от потребностей. Рассмотрим способы мониторинга рабочих параметров ИБП с уклоном на работу в сети в этой статье.
Локальный мониторинг ИБП
Наиболее простым способом получения доступа к параметрам источников бесперебойного питания (ИБП/UPS марки APC, Powercom и других) является использование интерфейсов USB или COM. ИБП кабелем подключается к компьютеру мониторинга и через фирменное ПО производится его мониторинг и настройка. Однако, этот способ далеко не идеален: нет единых стандартов и протоколов обмена данными, возможны ограничения со стороны ПО и одновременная работа только с одним устройством. Но самый существенный недостаток — отсутствие возможности выполнять мониторинг удалённо через сеть.
Мониторинг ИБП по сети с помощью SNMP
Альтернативой локальным интерфейсам является карта SNMP — специальный модуль, который подключается к ИБП (при условии, что устройство поддерживает подключение таких модулей). Карта SNMP через стандартный сетевой порт 8P8C (RJ-45) подключается к локальной сети и может быть настроена через встроенный web-интерфейс. Мы рекомендуем при выборе модели ИБП не в последнюю очередь руководствоваться критерием наличия поддержки сети и протокола SNMP — в последствии это здорово упрощает мониторинг системы оборудования и расширяет возможности.
Карта SNMP по своей сути — агент, который получает данные от ИБП и отдаёт их по общепринятому протоколу SNMP. Также поддержка SNMP может быть реализована в самом устройстве и без дополнительных карт. Чтобы использовать её, необходимо включить и настроить SNMP через веб-интерфейс устройства. Например, такой алгоритм действий подходит к сетевым бесперебойникам семейства APC Smart-UPS.
Набор данных MIB подавляющего большинства карт и ИБП стандартизирован и описан в специальном файле UPS-MIB (RFC 1628). Остаётся только подключиться к устройству по сети и опросить нужные переменные.
Это умеет делать российская программа «10-Страйк: Мониторинг Сети» (обычная версия или Pro). В ней разработаны специальные шаблоны для настройки мониторинга ИБП по SNMP.
Рассмотрим доступные варианты мониторинга и их настройку подробнее.
1. Мониторинг через SNMP Trap
Программа позволяет выполнять мониторинг в двух режимах: активном и пассивном. В первом случае она через заданный интервал опрашивает ИБП и получает значение его параметров, отображая их на графиках и ведя статистику изменений. При выходе параметра за допустимые границы программа оповещает администратора и самостоятельно выполняет несколько действий по выбору: запускает пользовательские скрипты, приложения, службы и даже может принудительно завершить работу сервера, который перешёл на питание от батарей.
Во втором случае ИБП сам через протокол SNMP trap оповещает об аварийных ситуациях. Программа принимает эти сообщения и реагирует на них оповещениями и действиями, как и в первом случае.
Включить и настроить приём SNMP trap в программе очень просто — в меню «Мониторинг» нажмите кнопку «Приём SNMP Trap».
2. Активный мониторинг по SNMP
Настроить активный мониторинг бесперебойника в программе «10-Страйк: Мониторинг Сети» можно в три простых шага:
1) Отсканируйте сеть или добавьте устройства в список хостов программы вручную
2) Добавьте проверку SNMP к сетевым ИБП
В параметрах проверки SNMP укажите пароль для доступа к ИБП (community, если SNMP v1,2c или логин/пароль, если SNMP v3).
При помощи встроенного MIB-браузера выберите нужный OID, чтобы мониторить определенный параметр устройства. Например:
Если для вашей карты SNMP не подходит стандартный MIB-файл, то скачайте с сайта производителя свой и добавьте его вручную в MIB-браузере программы.
Задайте условие для срабатывания сигнализации: если оставшийся заряд батарей станет меньше 10-15%, к примеру.
Задайте количество попыток проверки и зависимости, чтобы защититься от ложных срабатываний сигнализации при кратковременных сбоях в сети.
Настройте действия, которые выполнятся при этом условии: отправка e-mail, SMS, Telegram или Slack, звуковое оповещение и завершение работы сервера. Причем, оповещение по SMS может сработать даже при отсутствии Интернета, если подключить к компьютеру с программой мониторинга GSM-модем или сотовый телефон с SIM-картой.
Завершите создание новой проверки.
3) Осуществляйте мониторинг и получйте уведомления
Созданная проверка может принимать 2 основных состояния — «прошла» / «не прошла», и несколько промежуточных (предупреждение). Изменение параметра ИБП можно видеть наглядно на графиках и диаграммах. Также можно создать значок ИБП на графической карте сети и визуально оценивать его состояние.
Стоит заметить, что программа может осуществлять мониторинг практически любых сетевые устройств и сервисов, а не только ИБП. Скачайте пробную 30-дневную версию программы бесплатно!
ВИДЕО
Мы создали специальный видео-ролик по этой статье о мониторинге ИБП по сети и локально.
Протокол управления SNMP
Simple Network Management Protocol (SNMP) — это протокол прикладного уровня, он делает возможным обмен данными между сетевыми устройствами.
SNMP — это не продукт, а свод правил. Он определен Советом по архитектуре Интернета и является частью пакета TCP/IP. SNMP управляется и поддерживается Инженерной группой Интернета (IETF).
Протокол позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств. SNMP используют в сетях любого размера: чем крупнее сеть, тем лучше раскрываются преимущества протокола. Он позволяет просматривать, контролировать и управлять узлами через единый интерфейс с функциями пакетных команд и автоматического оповещения.
Таким образом, SNMP избавляет администратора от необходимости ввода команд вручную. Всего были разработаны и развернуты три версии. Все они используются до сих пор, а самой распространенной стала вторая — SNMPv2с.
Архитектура SNMP
Компоненты, составляющие архитектуру SNMP:
Сетевая станция управления — NMS
Network Management Station (NMS) удаленно мониторит управляемые устройства, получает данные, собранные мастер-агентами, отслеживает производительность и представляет полученную информацию в графическом виде. Встроенный менеджер NMS отвечает за связь с агентами.
Агенты
Мастер-агент
Это программа, связывающая сетевых менеджеров и субагентов. Мастер-агент анализирует запросы сетевого менеджера NMS и пересылает их субагентам, собирает и формирует ответы субагентов и отправляет их менеджеру. Мастер-агент уведомляет менеджера, если запрос некорректен или запрошенная информация недоступна.
Субагент
Это программа, поставляемая вендором вместе с сетевым устройством. Субагент пересылает собранную информацию мастер-агенту. У каждого управляемого компонента есть соответствующий субагент.
Управляемый компонент
Это подключенное к сети устройство или программное обеспечение с встроенным субагентом. К таким устройствам относятся не только маршрутизаторы, коммутаторы и серверы, но и IP-видеокамеры, МФУ и IP-телефоны. К софту с субагентами также относятся антивирусные программы, системы резервного копирования, ПО для систем ИБП.
База управляющей информации — MIB
MIB — это иерархическая база данных со сведениями об устройстве. У каждого типа устройства своя MIB-таблица: у принтера в ней содержится информация о состоянии картриджей, а у коммутатора — данные о трафике. Благодаря MIB менеджер знает, какую информацию он может запросить у агента устройства.
Идентификатор объекта — OID
Каждый объект в MIB имеет свой уникальный ID — OID, который представлен в числовом формате и имеет иерархическую структуру. OID — это числовой эквивалент пути к файлу. Он присваивает значения каждой таблице в MIB, каждому столбцу в таблице и каждому значению в столбце.
Например, OID 1.3.6.1.4.868.2.4.1.1.1.3.3562.3. означает iso.org.dod.internet.private.transition.products.chassis.card.slotCps.
cpsSlotSummary.cpsModuleTable.cpsModuleEntry.cpsModuleModel.3562.3.
Используя первые 6 цифр этого OID, можно пройти по дереву на схеме.
Часть значений в OID содержит данные о производителе устройства, что позволяет быстро получить определенную информацию о девайсе.
Древовидная иерархия MIB и OID в SNMP выглядит несколько запутанной, но у нее есть свои преимущества. Это простая и гибкая система организации сетевых устройств, она работает вне зависимости от размера сети.
Теория и логика работы протокола SNMP
Предназначение
Изначально протокол должен был предоставить системным администраторам инструмент для управления интернетом. Однако, гибкая архитектура SNMP позволила проводить мониторинг всех сетевых устройств и управлять ими с одной консоли. Это и стало причиной распространения SNMP.
Менеджеры и агенты обмениваются данными через протокол UDP. Вместо него также может использоваться TCP, IPX или протокол MAC-уровня. Обмен данными основан на Protocol Data Unit (PDU).
Всего в SNMP семь PDU:
TRAP, GETBULK — есть только во второй и третьей версиях протокола SNMP.
Схема PDU
IP заголовок | TCP/IP | TCP/IP |
UDP заголовок | TCP/IP | TCP/IP |
Версия SNMP | v1/v2/v3 | PDU |
Строка сообщества | Public, Private | PDU |
Тип PDU | Get, GetNext, Response, Set, Trap, GetBulk, Inform | PDU |
ID запроса | Идентификатор запроса | PDU |
Статус ошибки | 0, 1, 2, 3, 4, 5 | PDU |
Индекс ошибки | 0, 1 | PDU |
Связанные переменные | Одна или несколько переменных в запросе | PDU |
Применение
Статусы ошибок и их описание.
Сетевые порты SNMP
По умолчанию SNMP использует UDP-порты 161 и 162. Менеджер отправляет запросы на порт 161 агента. С порта 161 агент отправляет ответ менеджеру. При отправке запроса менеджер добавляет к нему ID, а агент вставляет этот ID в ответ, чтобы менеджер мог связать свой запрос с ответом агента.
Ловушки агент высылает на порт 162 менеджера. Если используется DLTS или TLS, то агент высылает сообщения на порт 10162, а менеджер — на порт 10161. Администратор может изменить порты SNMP, используемые по умолчанию, на любые другие.
Ловушки
Ловушка (Trap) — это важнейший способ коммуникации в SNMP. Менеджер отвечает за большое количество устройств, на многих из них может быть несколько управляемых компонентов. Агент отправляет ловушку по своей инициативе, когда необходимо сообщить менеджеру о событии. Например, ловушка может выслать отчет о перегреве машины или о том, что в тонере закончились чернила.
Получив уведомление, менеджер выбирает нужное действие, например, опрашивает агента, чтобы получить полное представление о том, что произошло. Перечень уведомлений, которые посылает ловушка:
В SNMP есть два типа ловушек: Trap и Inform. Отличия между ними в том, что после получения Inform менеджер подтверждает получение ловушки. В противном случае агент будет отправлять Inform, пока не получит подтверждения. А вот после получения Trap менеджер не отправляет подтверждение. Если сообщение не дошло до менеджера, агент об этом не узнает.
Версии протокола SNMP
SNMPv1
Первая версия протокола создана в 80-х годах XX века. Легка в настройке — требуется только строка community. Версия широко используется до сих пор.
SNMPv2с
Вторая версия протокола SNMP появилась в 1993 году. Разработчики добавили в нее новый запрос GetBulk и ловушку Inform, а также усовершенствовали безопасность.
У этой версии есть два способа коммуницировать с устройствами, поддерживающими SNMPv1: двуязычная система сетевого управления и прокси-агенты. Прокси-агенты выполняют роль мастер-агентов, а в двуязычной системе управления менеджер определяет, какую версию SNMP поддерживает агент, и связывается с ним через SNMPv1 или SNMPv2c.
SNMPv3
Третья версия вышла в 1998 году. Разработчики добавили в SNMP криптографическую защиту, облегчили удаленную настройку и администрирование объектов. Этого удалось достичь за счет определения набора стандартизованных объектов управления, называемых объектами MIB удаленного сетевого мониторинга, — RMON MIB.
Безопасность
Изначально безопасность не была первоочередной задачей разработчиков. Первая версия SNMP была создана для удаленного администрирования во времена, когда угроза несанкционированного доступа была минимальной. Поэтому SNMPv1 слабо защищена от взлома, и злоумышленники могли использовать ее для проникновения в сетевую инфраструктуру.
В работе над второй версией протокола разработчики предложили несколько вариантов решения. Распространение получил вариант SNMPv2c — не самый надежный, но простой в использовании.
Основная проблема с безопасностью в том, что почти все оборудование поддерживает версию SNMPv1. И только часть работает с версиями SNMPv2с и SNMPv3. Именно поэтому самой популярной стала SNMPv2с. Она способна работать с устройствами, которые поддерживают первую или вторую версии SNMP.
Модели безопасности протоколов SNMP по версиям
SNMPv1 | Community–based security |
SNMPv2c | Community–based security |
SNMPv2u | User–based security |
SNMPv2 | Party–based security |
SNMPv3 | User–based security |
Community-based Security — модель безопасности на основе строки сообщества. Фактически это идентификатор пользователя или пароль, который отправляется вместе с запросом. Если строка сообщества неверна, агент игнорирует запрос.
Строка сообщества зависит от вендора устройства. Часто вендоры по умолчанию выбирают «PUBLIC» в качестве пароля, поэтому первым делом на новых устройствах нужно изменить строку сообщества для защиты сети от злоумышленников.
Строки сообщества бывают трех видов:
Строка сообщества широко используется из-за своей простоты и наличия внешних систем безопасности.
Party-based Security Model — модель на основе так называемых «сторон». Для коммуникации между менеджером и агентов выбирается логическая сущность, называемая стороной. Она устанавливает протоколы аутентификации и шифрования, а отправитель и получатель соглашаются со способом шифрования и дешифровки данных. Сложность использования модели помешала ее распространению среди пользователей.
User-based Security Model — модель безопасности на основе пользователей. Уровни аутентификации, безопасности и конфиденциальности протоколов и ключей настраиваются у агента и менеджера.
Лучше всего безопасность проработана в третьей версии SNMP за счет USM и VACM. Упрощенно VACM (View-based Access Control Model) можно описать как модель с разными уровнями доступа для групп менеджеров. При получении запроса агент решает, разрешен ли определенной группе менеджеров доступ к чтению, записи и получению уведомлений.
Типичные проблемы безопасности
Если системный администратор не использует SNMP, то он должен отключить его на устройствах.
Практическое применение протокола
С помощью SNMP администратор управляет приложениям и облачными сервисами, администрирует локальную сеть и контролирует состояние сервера с одной консоли.
Возможности SNMP-протокола
Благодаря протоколу администратор может:
При помощи стороннего ПО можно также:
SNMP и переход с IPv4 на IPv6
Протокол по умолчанию должен работать с IPv4 или IPv6. На практике IPv6 создает определенные проблемы для работы SNMP. Эти проблемы связаны объектами MIB, содержащими сетевые адреса. OID в MIB хранят информацию для нескольких уровней TCP/IP, и различия между IPv4 и IPv6 будут отражены в OID.
Отсутствие поддержки IPv6 в существующих объектах MIB проявляется двумя способами:
Эти проблемы решаются также двумя способами:
Инсталляция
Настройка SNMP в Windows
Она подробно описана в документации Microsoft.
Настройка данных агента SNMP
Пуск → Панель управления → Администрирование → Управление компьютером.
Настройка сообщества и ловушек SNMP
Пуск → Панель управления → Администрирование → Управление компьютером.
Настройка безопасности SNMP
Пуск → Панель управления → Администрирование → Управление компьютером.
Настройка SNMP в Linux
Настройка SNMP в CentOS 7
Сначала нужно установить последние обновления при помощи yum/dnf:
затем установить SNMP:
и создать копию конфигурационного файла:
теперь нужно отредактировать настройки агента
Локацию и email лучше указать реальные.
Пора добавить сервис в автозагрузку и перезапустить его:
Как проверить, что сервис запущен:
Опрос агента с помощью утилиты snmpwalk:
Опрос сервера локально командой:
Настройка SNMP в Debian 10
Сначала нужно установить демона, клиента и файлы:
После установки переходим к настройке SNMP в Debian.
Файлом настройки SNMP-агента по умолчанию является /etc/snmp/snmpd.conf. Агент SNMP может быть запущен с настройками по умолчанию. Однако для включения удаленного мониторинга нужно сделать несколько изменений. Для этого создайте резервную копию файла:
Теперь нужно изменить директиву agentAdress. Ее текущие настройки разрешают доступ только с локального компьютера. Для включения удаленного мониторинга необходимо определить IP-адрес интерфейса:
Для настройки аутентификации:
rocommunity предоставляет доступ только на чтение, а rwcommunity дает доступ к чтению/записи. В Access Control section нужно поместить строку
rocommunity S3CUrE 192.168.43.100
Кроме того, можно включить запрос с локального хоста rocommunity S3CUrE localhost:
Затем нужно перезапустить SNMP:
Чтобы добавить сервис в автозагрузку, введите:
SNMP — это простой и эффективный способ для сбора и обмена информацией между сетевыми устройствами, которые выпущены разными вендорами и работают на разном ПО. Этот протокол — не идеальное, но все еще одно из лучших решений для мониторинга и управления. На сегодняшний день нет другого инструмента с сопоставимым уровнем поддержки и использования.
Созданный 30 лет назад SNMP продолжает работать, потому что он обладает характеристиками, которых нет ни у одной из его аналогов. Он простой в использовании, бесплатный и поддерживается практически всеми вендорами.