Разное

Менеджер snmp: Пытаемся сделать мониторинг по SNMP действительно простым / Хабр

Содержание

Пытаемся сделать мониторинг по SNMP действительно простым / Хабр

Уже немало написано о том, что в названии Simple Network Management Protocol слово Simple можно смело писать в кавычках. Протокол SNMP является достаточно простым с точки зрения создания SNMP-агентов, однако на стороне управляющего ПО (SNMP manager) грамотная обработка сложных по структуре данных обычно является нетривиальной задачей.

Мы попытались упростить процесс настройки сбора данных и событий SNMP и позволить пользователям во время этого процесса:

  • Никогда не заглядывать внутрь MIB-файлов
  • Не знать, что такое OID-ы и никогда не оперировать с ними
  • Не пользоваться отдельной SNMP-утилитой для предварительного просмотра данных во время настройки

Прежде всего необходимо разобраться с MIB-файлами. Описание логики связей между элементами данных и их синтаксиса было в SNMP реализовано при помощи этих файлов с целью уменьшения нагрузки на сеть и упрощения реализации агентов.

Пользователи, однако, далеко не всегда хотят разбираться с их внутреннем устройстве.

Модуль SNMP нашей системы AggreGate Network Manager при старте загружает все MIB-файлы, находящиеся в специальной папке сервера, после чего позволяет добавлять новые при помощи простого диалога:

Во время загрузки файлов происходит их автоматическая компиляция. Встроенный редактор MIB-ов с подсветкой синтаксиса имеется лишь на случай появления MIBов, не соответствующих спецификации. Пользоваться им нужно крайне редко.

Редактор MIB-ов


На этом работа с MIB-файлами заканчивается, дальше их названия используются только для логической группировки уже собранных данных. При необходимости, загруженные файлы можно посмотреть и поискать в таблице MIBов, но при обычной работе это также не требуется.

Таблица MIB-ов



В случае построения классической системы мониторинга этот шаг обычно не требуется, так как все устройства добавляются в систему автоматически во время периодического обнаружения устройств (network discovery). Тем не менее, во время добавления обнаруженных сканированием сети устройств выполняются примерно те же шаги:

  1. Выбор типа устройства. В нашем случае подходит либо SNMP, либо Network Host, которые поддерживает Ping, SNMP, WMI, и другие типовые протоколы мониторинга ИТ.
  2. Указание адреса и настроек коммуникаций. Имеется в виду версия протокола, SNMP Communities, таймауты и количество повторов, настройки SNMP v3 и т.п.

    Настройки SNMP-драйвера


  3. Выбор активов, то есть MIB-файлов. Network Manager автоматически обнаруживает, какие MIB-ы поддерживаются устройством, о чем мы писали в отдельной статье. Остается только выбрать, по каким MIB-ам будет идти опрос, причем MIB-ы по которым имеется «коробочная» аналитика и визуализация уже выбраны по-умолчанию.

После завершения этапа подключения устройства системе требуется от нескольких секунд до нескольких минут на завершение опроса устройства в рамках выбранных MIB-ов. Когда пиктограмма устройства становится зеленой, можно открывать и изучать так называемый «снимок устройства»:

В этом снимке сосредоточена практически вся суть нашего подхода к работе с данными SNMP. Прежде всего, он всегда содержит «под рукой» все реальные данные устройства. При этом все данные считываются только один раз, последующий опрос идет только по важным метрикам. Полное перечитывание снимка устройства производится раз в сутки, для снижения нагрузки на сеть его можно вообще отключить. Снимок устройства опционально сохраняется в БД при перезапуске системы мониторинга.

Обычно не требуется прибегать к помощи каких-либо внешних утилит когда требуется найти подходящие данные для мониторинга по их описаниям в MIB-файле или значениям. Все данные уже сгруппированы по MIB-файлам, однако можно сгруппировать их и по иерархии OID-ов:

Чтобы посмотреть подробное описание любой метрики или таблицы, содержащееся в MIB-файле, достаточно навести мышкой на описание или значение метрики. Во всплывающей подсказке также виден тип данных SNMP и полный OID:

Если метрика может принимать одно из нескольких числовых значений, описанных в MIB-файле текстовыми константами, в снимке устройства сразу показывается соответствующая текущему значению константа. Полный список констант и их числовых значений доступен через контекстное меню:

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

Но наибольшую пользу наш метод работы с данными SNMP приносит при обработке таблиц. Каждая SNMP-таблица показывается в снимке устройств как отдельная метрика табличного типа:

Редактирование данных в таблицах можно производить прямо по время просмотра, например для отключения сетевого интерфейса достаточно поменять значение поля ifAdminStatus в соответствующей строке.

При наведении на заголовок столбца во всплывающей подсказке видно описание поля, полученное из MIB-файла, а также его тип и OID:

Если имеется несколько связанных друг с другом таблиц, например использующих внешние индексы или расширение (augmentation), система автоматически обрабатывает все внутренние связи и сводит данные связанных таблиц в одно целое.

В большинстве случаев пользователи даже не подозревают о существовании таких сложностей. Вот, например, как выглядит таблица hrSWRunPerfTable:

На уровне MIB файла эта таблица представляет из себя два столбца (hrSWRunPerfCPU и hrSWRunPerfMem), расширяющие таблицу hrSWRunTable. В снимке устройства эти таблицы уже объединены, что облегчает анализ данных, построение отчетности и диаграмм, настройку хранения и т.д.

Поскольку единая модель данных платформы AggreGate ориентирована на работу с таблицами, таблицы данных SNMP являются идеальным кандидатом на обработку встроенными средствами. При помощи них реализуется построение топологии L2/L3, анализ данных MPLS TE и MPLS VPN, мониторинг и создание тестов IP SLA, а также сотни более простых задач.

AggreGate Network Manager является одновременно платформой и коробочным продуктом, поэтому в большинстве случаев после автоматического или ручного добавления устройства периоды опроса и сроки хранения метрик уже преднастроены для всех метрик и таблиц, которые система «понимает», т. е. показывает на инструментальных панелях и анализирует на предмет необходимости генерации тревожных сообщений.

Откорректировать настройки опроса (синхронизации) и хранения метрики можно через ее контекстное меню, либо через настройки аккаунта (для всех метрик сразу).

Настройки опроса и хранения


В диалоге настроек хранения показывается только срок хранения «сырых» данных в обычной базе данных (реляционной или NoSQL, в зависимости от настроек сервера). В большинстве случаев данные SNMP хранятся в кольцевой базе данных (Round-Robin Database, RRD), которая встроена в платформу AggreGate. На тему создания

каналов статистики, которые перекладывают метрики и части таблиц в кольцевую БД, будет отдельная статья.

Когда данные собираются и сохраняются в БД сервера, можно приступать к их использованию для дела, то есть для мониторинга и управления ИТ инфраструктурой. Контекстное меню любой метрики в снимке устройства предоставляет доступ к визардам, позволяющим начать настройку тревог, отчетов, графиков, запросов, инструментальных панелей, и других средств анализа и визуализации.

При помощи этих средств настраивается влияние метрик и таблиц на общесистемные операции поиска причин отказов, анализа производительности, планирования и инвентаризации, управления конфигурациями, и других функций системы. Попутно «рисуются» различные интерфейсы:

Описанный выше процесс может показаться сложным из-за множества упомянутых подробностей, однако на практике от момента подключения абсолютно нового устройства до появления его специфических данных на стандартных инструментальных панелях проходит всего несколько минут. За это время выход из нашей системы требуется лишь на время поиска специфических MIB-файлов на сайте производителя подключаемого оборудования.

При настройке мониторинга не требуется ручное указание названий MIB-ов, ввод OID-ов и других низкоуровневых идентификаторов. Это делает настройку SNMP-мониторинга достаточно быстрой и легкой.

Безусловно, нам еще есть над чем поработать. Требуется улучшение механизмов выбора индивидуальных метрик, чтобы избежать даже единократного опроса целых MIBов. Есть необходимость исключения из опроса индивидуальных строк и столбцов SNMP-таблиц. Нам интересно было бы услышать и о других недостатках процесса настройки SNMP-мониторинга в нашей системе.

Эта статья вообще не касается получения, обработки и отправки ловушек SNMP, работы по SNMP v3, и многих других аспектов.

Для более подробного рассказа мы приглашаем всех хабражителей на вебинар Мониторинг и управление по SNMP, который состоится 26 мая 2015 года в 11:00 по московскому времени. На этом вебинаре мы «вживую» продемонстрируем весь вышеописанный процесс, а также многие другие способы мониторинга сетевого, серверного и нестандартного оборудования при помощи SNMP.

Посмотреть программу, зарегистрироваться на вебинар и добавить в календарик >>

Update — запись вебинара:

SNMP мониторинг и управление, обработка SNMP-данных и оповещений

Продолжая работу с данным сайтом, вы подтверждаете использование сайтом cookies вашего браузера с целью улучшить предложения и сервис на основе ваших предпочтений и интересов. Узнать больше

Я согласен

This page is available in English (EN).

AggreGate Network Manager обеспечивает все необходимые функции SNMP мониторинга и управления:

  • Поддержка SNMP v1, v2c и безопасной v3
  • Единое хранилище MIB-файлов, автоматическая компиляция, более 200 MIB-файлов, включённых в поставку
  • Групповое добавление MIB-файлов при помещении их в папку на сервере
  • Обнаружение SNMP-устройств и добавление их на карты сети
  • Сканирование SNMP-устройств (с помощью операции walk) и кэширование SNMP-переменных
  • Простые и удобные визуальные средства для работы с SNMP-таблицами
  • Отложенная и групповая конфигурация SNMP-устройств (операции «set»)
  • Индивидуальные настройки периодичности опроса для различных SNMP-идентификаторов
  • Поддержка всех типов данных SNMP
  • Гибкая работа с SNMP-оповещениями (trap и inform)
  • Возможность отправки SNMP-оповещений в ответ на событие, периодически или по запросу

SNMP-конфигурация коммутатора

Управлять сложной распределённой ИТ инфраструктурой невозможно без гибкого и функционального инструмента мониторинга. Внедрив AggreGate Network Manager, мы получили такой инструмент. Система AggreGate позволяет видеть полную картину того, что происходит с оборудованием и критически важными приложениями, сообщает информацию о потенциальных проблемах до их возникновения, а гибкость системы даёт нам возможность реализовывать собственные нестандартные решения. Использование AggreGate Network Manager, безусловно, помогает эксплуатировать и планировать дальнейшее развитие ИТ-инфраструктуры Pony Express.

Илья Арсентьев, ИТ директор Pony Express

Что еще говорят клиенты об AggreGate? Читайте все отзывы

Сканирование SNMP устройств (выполнение SNMP walk)

AggreGate Network Manager упрощает мониторинг и управление гетерогенными сетями, построенными на базе устройств различных производителей, обеспечивая сканирование SNMP-устройств, кэширование полученной информации на стороне сервера и автоматическое сопоставление этих данных с описаниями из MIB-файлов. Такой подход даёт целый ряд преимуществ:

  • Предельно быстрая и комфортная работа с данными и метаданными устройства, исключающая необходимость постоянного обмена информацией с устройством
  • Понятные имена и описания для SNMP-переменных и их полей
  • С целью экономии ресурсов работа с SNMP-устройствами может быть настроена так, чтобы периодически опрашивались только нужные переменные

Представление табличной переменной SNMP

Самомониторинг AggreGate Network Manager по SNMP

Предусмотрено три способа работы с SNMP-устройством:

  • Только важные значения. Этот способ позволяет сэкономить сетевые и вычислительные ресурсы за счёт опроса только тех переменных, которые на самом деле используются для мониторинга. Список таких важных переменных конфигурируется в системе глобально.
  • Все значения из MIB-директории. Система будет собирать значения переменных, для которых есть MIB-описания. Такой способ позволяет получить более полную информацию о состоянии устройства и решить, какие его аспекты нужны для мониторинга.
  • Все значения, полученные при сканировании. Система учитывает все без исключения SNMP-переменные, независимо от наличия описаний для них. При этом нераспознанные значения не будут представлены в правильной табличной форме и не будут иметь понятных имен и описаний. Этот режим позволяет увидеть всю информацию, предоставляемую устройством, и подобрать нужные MIB-ы с соответствующей метаинформацией.

Журнал полученных SNMP-оповещений

Обработка оповещений SNMP

AggreGate Network Manager получает SNMP-оповещения в форме ловушек (traps) и информационных сообщений (informs) и конвертирует их в стандартные события AggreGate. Эти события сохраняются в базе данных системы и к ним применимы все стандартные операции: подтверждение, фильтрация, сортировка, поиск. На получение SNMP-оповещений можно назначить тревоги.

Кроме того, AggreGate Network Manager может сам генерировать SNMP ловушки и информационные сообщения, рассылая их в ответ на тревоги, по расписанию или по запросу пользователя.

Технология

Подходящий продукт

Написать нам

Что такое SNMP? | SNMP Agent-Protocol & Port

Простой протокол управления сетью (SNMP) — это протокол прикладного уровня, определенный Советом по архитектуре Интернета (IAB) в RFC1157 для обмена управляющей информацией между сетевыми устройствами. Он является частью пакета протоколов управления передачей/протоколом Интернета (TCP/IP).

SNMP — это один из широко распространенных сетевых протоколов , который управляет сетевыми элементами и отслеживает их. Большинство сетевых элементов профессионального уровня поставляются со встроенным агентом SNMP. Эти агенты должны быть включены и настроены для связи со средствами мониторинга сети или системой управления сетью (NMS).

Учебное пособие по SNMP

Это учебное пособие является попыткой кратко объяснить

  • Каковы основные компоненты SNMP и их функции?
  • Основные команды SNMP
  • Как происходит типичная связь SNMP?
  • Версии SNMP (SNMP v1, v2 и v3)

Основные компоненты SNMP и их функции

SNMP состоит из

  • Диспетчер SNMP
  • Управляемые устройства
  • Агент SNMP
  • База данных управляющей информации, иначе называемая Базой управляющей информации (MIB)

Диспетчер SNMP:

Диспетчер или система управления — это отдельный объект, отвечающий за взаимодействие с сетевыми устройствами, реализованными агентом SNMP. Обычно это компьютер, который используется для запуска одной или нескольких систем управления сетью.

Основные функции диспетчера SNMP

  • Агенты запросов
  • Получает ответы от агентов
  • Устанавливает переменные в агентах
  • Подтверждает асинхронные события от агентов

Управляемые устройства:

Управляемое устройство или сетевой элемент — это часть сети, которая требует некоторой формы мониторинга и управления, например. маршрутизаторы, коммутаторы, серверы, рабочие станции, принтеры, ИБП и т. д.

Агент SNMP:

Агент представляет собой программу, упакованную в сетевой элемент. Включение агента позволяет ему локально собирать базу данных управляющей информации с устройства и делает ее доступной для диспетчера SNMP при запросе. Эти агенты могут быть стандартными (например, Net-SNMP) или специфическими для поставщика (например, агент HP Insight) 9.0003

Основные функции агента SNMP

  • Собирает информацию управления о своей локальной среде
  • Сохраняет и извлекает информацию управления, как определено в MIB.
  • Сообщает менеджеру о событии.
  • Действует как прокси для некоторого сетевого узла, не управляемого с помощью SNMP.

 

Базовая схема связи SNMP

База данных управляющей информации или База управляющей информации (MIB)

Каждый агент SNMP поддерживает информационную базу данных, описывающую параметры управляемого устройства. Диспетчер SNMP использует эту базу данных, чтобы запросить у агента конкретную информацию и дополнительно преобразовать информацию, необходимую для системы управления сетью (NMS). Эта общая база данных, совместно используемая агентом и менеджером, называется информационной базой управления (MIB).

Обычно эти MIB содержат стандартный набор статистических и контрольных значений, определенных для аппаратных узлов в сети. SNMP также позволяет расширить эти стандартные значения значениями, характерными для конкретного агента, за счет использования частных MIB.

Короче говоря, файлы MIB представляют собой набор вопросов, которые SNMP-менеджер может задать агенту. Агент собирает эти данные локально и сохраняет их, как определено в MIB. Таким образом, SNMP-менеджер должен знать об этих стандартных и частных вопросах для каждого типа агента.

 

Браузер SNMP MIB и инструмент SNMP Walk

Набор бесплатных инструментов ManageEngine включает браузер SNMP MIB, который помогает загружать/выгружать MIB и получать данные MIB агентов SNMP (v1, v2c, v3). Браузер SNMP MIB — это полный инструмент для мониторинга устройств и серверов с поддержкой SNMP. Вы можете загружать, просматривать несколько модулей MIB и выполнять операции GET, GETNEXT и SET SNMP. Это программное обеспечение для мониторинга SNMP простое в использовании и позволяет просматривать, настраивать и анализировать ловушки SNMP. Вы также можете выполнять операции SNMP с устройств Windows и Linux.

 

Структура MIB и идентификатор объекта (ID объекта или OID)

База управляющей информации (MIB) представляет собой набор информации для управления сетевым элементом. Базы MIB состоят из управляемых объектов, идентифицируемых по имени идентификатора объекта (идентификатор объекта или OID).

Каждый идентификатор уникален и обозначает определенные характеристики управляемого устройства. При запросе возвращаемое значение каждого идентификатора может быть другим, например. Текст, число, счетчик и т. д.

Существует два типа управляемого объекта или идентификатора объекта: скалярный и табличный. Их можно было бы лучше понять на примере

Scalar: название производителя устройства, результат может быть только один. (Как сказано в определении: «Скалярный объект определяет один экземпляр объекта»)

Табличное: использование ЦП четырехъядерного процессора, это даст мне результат для каждого ЦП отдельно, что означает, что будет 4 результата для этого конкретного идентификатора объекта. (Как сказано в определении: «Табличный объект определяет несколько связанных экземпляров объекта, которые сгруппированы вместе в таблицах MIB»)

Каждый идентификатор объекта иерархически организован в MIB. Иерархия MIB может быть представлена ​​в виде древовидной структуры с индивидуальным идентификатором переменной.

Типичный идентификатор объекта представляет собой список целых чисел, разделенных точками. Например, OID в RFC1213 для «sysDescr» имеет вид .1.3.6.1.2.1.1.1

Древовидная диаграмма MIB

Основные команды SNMP широко распространены благодаря простоте обмена информацией. принятый протокол. Основной причиной является лаконичный набор команд, вот они перечислены ниже:

  • GET: операция GET — это запрос, отправляемый менеджером на управляемое устройство. Это выполняется для получения одного или нескольких значений с управляемого устройства.
  • ПОЛУЧИТЬ СЛЕДУЮЩИЙ: Эта операция аналогична ПОЛУЧИТЬ. Существенное отличие состоит в том, что операция GET NEXT извлекает значение следующего OID в дереве MIB.
  • GET BULK: операция GETBULK используется для извлечения объемных данных из большой таблицы MIB.
  • SET: эта операция используется менеджерами для изменения или назначения значения управляемого устройства.
  • TRAPS: В отличие от приведенных выше команд, которые инициируются диспетчером SNMP, TRAPS инициируются агентами. Это сигнал Менеджеру SNMP от Агента о возникновении события.
  • INFORM: Эта команда аналогична TRAP, инициируемой Агентом, кроме того, INFORM включает подтверждение от диспетчера SNMP при получении сообщения.
  • ОТВЕТ: Это команда, используемая для возврата значений или сигналов о действиях, заданных диспетчером SNMP.

 

Ловушки SNMP:

Ловушки SNMP позволяют агенту уведомлять диспетчера SNMP о важных событиях с помощью незапрошенного сообщения SNMP. Протоколы ловушек SNMP включают текущее значение sysUpTime , OID, определяющий тип ловушки, и необязательные привязки переменных. Адресация назначения для порта SNMP-ловушки определяется в зависимости от приложения, как правило, с помощью переменных конфигурации ловушки в MIB. Формат сообщения ловушки был изменен в SNMPv2, а блоки данных протокола были переименованы в SNMPv2-Trap.

Типичная связь SNMP

Являясь частью набора протоколов TCP/IP, сообщения SNMP упаковываются как протокол пользовательских дейтаграмм (UDP), а затем упаковываются и передаются в протоколе Интернет. Следующая диаграмма иллюстрирует четырехуровневую модель, разработанную Министерством обороны (DoD).

GET ступни в следующем порядке, набор

TRAP

Информация

По умолчанию порт SNMP — это 161, а информация о ловушке использует SNMP -порт 162 для связи.

 

Версии SNMP

С момента создания SNMP претерпел значительные обновления. Однако протокол SNMP v1 и v2c являются наиболее реализованными версиями SNMP. Недавно появилась поддержка протокола SNMP v3, так как он более безопасен по сравнению со своими старыми версиями, но все еще не достиг значительной доли рынка.

SNMPv1:

Это первая версия протокола SNMP, которая определена в RFC 1155 и 1157

SNMPv2c:

Это пересмотренный протокол, который включает в себя усовершенствования SNMPv1 в области типов протокольных пакетов, сопоставлений транспорта, элементов структуры MIB, но использует существующую административную структуру SNMPv1 («на основе сообщества» и, следовательно, SNMPv2c). Он определен в RFC 1901, RFC 1905, RFC 1906, RFC 2578.

SNMPv3:

SNMPv3 определяет безопасную версию SNMP. Протокол SNMPv3 также упрощает настройку удаленного сетевого мониторинга объектов SNMP. Это определено RFC 1905, RFC 1906, RFC 3411, RFC 3412, RFC 3414, RFC 3415.

Несмотря на то, что каждая версия совершенствовалась в сторону расширения функциональных возможностей, при каждом обновлении особое внимание уделялось аспекту безопасности. Вот небольшой клип, посвященный аспектам безопасности каждого выпуска.

SNMP v1 Безопасность на уровне сообщества
SNMP v2c Безопасность на уровне сообщества
SNMP v2u Безопасность на основе пользователя
SNMP v2 Партийная безопасность
SNMP v3 Безопасность на основе пользователей

Другие полезные ссылки

  • Как установить и настроить устройство Windows для SNMP?
  • Как установить и настроить устройство Linux для SNMP?
  • Как установить и настроить устройство Solaris для SNMP?
  • Как настроить агентов SNMP?
  • Как обрабатывать ловушки SNMP?

Вопросы для размышления: ManageEngine OpManager поддерживает все версии SNMP. Вы можете отслеживать любое устройство с поддержкой SNMP для управления/мониторинга его производительности и обработки SNMP TRAP.
– ManageEngine OpManager: ПО для мониторинга сети

 

Часто задаваемые вопросы по SNMP

SNMP все еще используется?

+

Каковы преимущества SNMP?

+

SNMP TCP или UDP?

+

Что такое SNMP-менеджер

SNMP-менеджер является краеугольным камнем любой инфраструктуры управления. Управление заключается в поддержании работоспособности сетей и систем, поддержании производительность, контроль и управление использованием. SNMP менеджер обеспечивает интерфейс между администратором сети и управляемая сетевая система или инфраструктура.

Архитектура snmp состоит из менеджера snmp, агента snmp, базу данных управленческой информации (MIB), управляемых объектов и Простой Network Management Protocol сам сетевой протокол.

Агент snmp — это часть программного обеспечения, расположенная на управляемом устройстве. и обеспечивает интерфейс между диспетчером snmp и физическим управляемые устройства или программные приложения. База данных MIB служит локальным хранилищем данных в диспетчере snmp, который используется собрать и интерпретировать переменные, отправляемые в сообщениях SNMP.

Программное обеспечение LoriotPro является компонентом snmp manager модели менеджера/агента, определенной в интернет-стандарте RFC1157. LoriotPro как менеджер snmp покрывает следующие домены, управление mib-объектами, построение snmp-запросов, snmp сбор и обработка ответов, обработка и отображение данных.

Менеджер snmp опрашивает сети и системы

Менеджер snmp основная роль опросить конечные станции или устройства и их агенты snmp для проверки значения некоторых переменных определяется в MIB. Опрос может быть автоматическим или инициироваться пользователем, но агенты snmp в управляемых устройствах отвечают на все опросы.

Агент snmp уведомляет менеджера snmp с помощью ловушки

Управляемые устройства, такие как компьютерные системы и другие сетевые устройства, с его агентом snmp позволяет им отправлять оповещения с именем snmp trap , когда они распознают проблемы, например, когда один или несколько пользовательских порогов превышены. Получив эти оповещения, менеджер snmp может быть настроен реагировать выполнением одного или нескольких действий, в том числе администратором уведомление, регистрация событий, отключение системы и т. д.

LoriotPro использует другой интернет-протокол, отличный от snmp, для выполнения своих основная задача, мониторинг сетей и систем.

LoriotPro snmp manager включает в себя все обязательные функции что должен иметь менеджер: