Snmptrap ловушка snmp что это
SNMP-trap (ловушки SNMP)
Программа LANState может принимать такие сообщения и сигнализировать о них несколькими различными способами. Для включения возможности принятия SNMP-trap необходимо выбрать пункт главного меню SNMP | SNMP-ловушки (trap). В появившемся окне следует задать условия отбора (фильтр) сообщений, либо оставить включенным по умолчанию параметр Принимать все сообщения от SNMP-устройств, и нажать кнопку Включить приём сообщений от SNMP-устройств. Номер порта 162 является стандартным и изменять его рекомендуется только в тех случаях, когда вы уверенны, что отправка сообщений от устройства будет происходить на какой-либо другой порт (задается в настройках самого SNMP-устройства).
Рис 1. Окно Ловушка SNMP.
Рис 2. Окно Параметры условия.
После этого, программа в каждом полученном сообщении будет искать заданную переменную и в случае ее обнаружения сигнализировать.
Программа выполняет те же действия, что и в функции мониторинга устройств.
Скачайте бесплатную 30-дневную версию прямо сейчас и попробуйте!
SNMP traps и с чем их едят
В этой статье я хочу осветить вопрос работы с SNMP traps. В то время, когда я начинал разбираться с этой темой, при неплохом знании принципов работы протокола SNMP, я был удивительным образом перепутан результатами чтения документации по этому вопросу, всеми этими OID, которые нужно писать как параметры для команды snmptrap. Поиски внятной информации в интернет не дали результатов. Создавалось впечатление, что я один такой непонятливый среди тех, кто считает это элементарным.
В своей работе я использую пакет NetSNMP с открытым исходным кодом и поэтому, примеры относятся именно к этому пакету.
Я не буду останавливаться на описании дерева SNMP (считаю это действительно банальным), а начнем с пресловутого OID. OID это просто. OID, это Object ID, уникальный идентификатор объекта в дереве значений SNMP. OID может записываться в нескольких видах.
Единственным ограничением использования MIB является то, что при использовании программного обеспечения SNMP от разных производителей и различного железа необходимо единое „понимание“ этих волшебных трансформаций. Поэтому на сайтах производителей управляемого оборудования есть файлы описания MIB для конкретных устройств.
С представлением OID разобрались. Теперь про трапы. Сразу оговорюсь, что все нижесказанное относится к версии 2с SNMP.
В протоколе SNMP есть трапы (traps) и есть информы (informs). Отличаются они тем, что трапы посылаются на станцию менеджера без гарантии их доставки, а информы гарантированно доставляются. Ну, или не доставляться, но тогда отправитель об этом узнает. Для простоты, я и то и другое называю трапом. Так нам будет прощеi.
Какая информация посылается менеджеру в трапе (информе)? А посылаются следующие данные:
Теперь, наше повествование разделяется на направления. Первое направление: „Как нам послать SNMP trap ручками из командной строки„. Второе направлении „Как нам заставить агента SNMP посылать трапы когда что то идет не по плану“.
Посылаем руками
Однако, иногда хочется странного, например послать трап о том, что инопланетяне тырят SCSI винчестеры прямо из корзинки или о том, что серверную заливает водой, о чем вас предупредительно оповестил самодельный датчик, которые весит на COM порту. Понятное дело, в стандартных MIB о таких странных ситуациях не упоминается. Поэтому, можно использовать произвольную последовательность цифирек для обозначения нового в мире события. Например:
И что характерно, это будет работать. В логе появится такая бредятинка:
В то же время, крутые администраторы должны все делать правильно, самодокументируемо, в соответствии с требованиями IETF и других компетентных организаций. Поэтому, будем описывать наши новые OID в своем собственном MIB файле.
Здесь определяется enterptise с номером 10050 и ему даеся имя aliensattack. После этого вводятся две ветки: одна для трапов (начало и конец атаки), другая для OID дополнительной информации (атака через двери или это вовсе не инопланетяне).
Скажу честно, в формате MIB файла я понимаю мало. Поэтому внимательно изучив MIB файлы из стандартной поставки net-snmp, я сделал этот пример который работает, но кристальной ясности во всех его ключевых словах я не достиг.
Дальше! Укладываем этот файл с именем ALLIENSATTACK-MIB.txt в какой нибудь каталог поближе и запоминаем, что с этого момента все программы имеющие отношения к SNMP (snmpd, snmptrapd, snmpinform) мы запускаем с поддержкой этого MIB. Тоесть, к командной строке добавляем параметры
Знак „+“ перед именем MIB (не файла с MIB, а именно имя MIB), значит, что MIB будет добавлен к загружаемым по умолчанию.
Посылаем автоматически
Способ #2. Пишем скрипт, который проверяет системные параметры и посылает трап на станцию менеджера. Пишется на shell, perl или на любом известном языке.
Способ #1. Наиболее интересный. В 5-й версии net-snmp появиласть поддержка модуля DISMAN-EVENT-MIB котрый умеет отсылать сообщения при некоторых условиях. Но это уже другая история.
Пособие управления КСПД
Ловушка
Администратор определяет пороговые значения, которые используют для создания зоны треппинга. Диапазон значений из предустановленных пороговых значений – перегрузка.
Как написано выше ловушка SNMP представляет собой уведомляющее сообщение о событии, отправляемое службой ловушек SNMP, действующей на SNMP-узле. Ловушка SNMP посылается другим SNMP-узлам сети или системе SNMP-управления, которые можно назвать назначениями ловушки.
Есть два основных способа для передачи полезной информации с помощью SNMP ловушек. Один заключается в использовании так называемых «гранулированных ловушек». Гранулированные ловушки могут отличаться друг от друга, потому что каждая из них имеет уникальный идентификационный номер (так называемый OID или «идентификатор объекта» в SNMP мире).
SNMP-менеджер после получения SNMP ловушки с устройства будет искать OID для управление информационной базой или MIB. Потому что гранулированные ловушки используют уникальные идентификационные номера, чтобы поддерживать этот метод поиска, данные сигнализации не должны обязательно содержаться в ловушке SNMP. Это не снижает пропускную способность, потребляемую SNMP ловушками, потому что они не посылают избыточную информацию через сеть, так как менеджер SNMP может легко посмотреть эти данные сам.
Когда гранулированные ловушки не используются, SNMP ловушки могут быть сконфигурированы, чтобы содержать данные о тревожной сигнализации в себе. В этом случае, для всех SNMP ловушек от устройства можно использовать только один OID. Чтобы понять эти типы ловушек, менеджеру SNMP необходимо проанализировать данные, содержащиеся в них. Данные хранятся в пределах ловушки SNMP в простой конфигурации двумя ключ-значениями. Предпочтительно использовать гранулированные ловушки для сценариев мониторинга сети, потому что это снижает нагрузку на сети, которые могли бы быть использованы для приносящей доход деятельности.
Менеджер SNMP не может вести список стоящих тревог. Вместо этого, типичный SNMPменеджер поддерживает журнал событий вновь зарегистрированных ловушек и историю журнала признанных ловушек. Как только ловушка признается, считывается и может быть выполнена, она очищается. Представьте себе, что может случиться с вашей сетью, если оператор системы признает тревогу, а затем, по какой причине, не в состоянии исправить состояние тревоги.
Данная модель также может отправить SNMP ловушки на основе текущего состояния тока или напряжения на его восьми аналоговых входах. С Аналоговые входы никогда не является триггерами, а прошивка и конфигурация пользователя используются для определения того, когда посылать ловушки.
В сообщении «Trap» содержится следующая информация:
Назначение ловушек задается именем узла или IP-адресом. Для ее использование необходимо указать имя сообщества.
На рисунке 3.11 изображена схема запросов/ответов SNMP.
Join the Typesetter Community
Visit TypesetterCMS.com to access the many available resources to help you get the most out of our CMS.
(Edit this content by clicking «Edit», it’s that easy!)
Искать
Typesetter Features
Easy to use True WYSIWYG Editing.
Flat-file data storage and advanced resource management for fast websites.
Zabbix Documentation 5.4
Sidebar
Table of Contents
3 SNMP трапы
Обзор
Получение SNMP трапов является полной противоположностью запросам к SNMP устройствам.
В этом случае информация отправляется с SNMP устройства и собирается или «ловится» Zabbix’ом.
Обычно трапы отправляются при наступлении некоторых условий и агент подключается на 162 порт сервера (в отличии от 161 порта на стороне агента, который используется для запросов). Использование трапов может помочь обнаружить некоторые кратковременные проблемы, которые происходят между интервалами опроса и могут быть пропущены при запросах данных.
Последовательность действий при получении трапа:
1 Настройка SNMP трапов
Настройка следующих полей в веб-интерфейсе является специфичной для этого типа элементов данных:
В Настройка → Узлы сети, в поле Интерфейсы узла сети добавьте SNMP интерфейс с корректными IP или DNS адресами. Адрес из каждого полученного трапа сравнивается с IP и DNS адресами всех SNMP интерфейсов для поиска соответствующих узлов сети.
В поле Ключ используйте один из ключей SNMP трапов:
Многострочное совпадение по регулярному выражению в данный момент времени не поддерживается.
Укажите Тип информации равным ‘Журнал (лог)’ для обработки штампов времени. Обратите внимание, что другие форматы, такие как ‘Числовой’ также приемлемы, но для этого может потребоваться пользовательский обработчик трапов.
Для того чтобы мониторинг SNMP трапов работал, он должен быть сначала корректно настроен.
2 Настройка мониторинга SNMP трапов
Настройка Zabbix сервера/прокси
Для чтения трапов, Zabbix сервер или прокси должны быть настроены на запуск процесса SNMP траппера и должны знать абсолютный путь к файлу с трапами, который заполняется при помощи SNMPTT или получателя трапов Perl. Чтобы это сделать, измените файл конфигурации (zabbix_server.conf или zabbix_proxy.conf):
Если используется systemd параметр PrivateTmp, этот файл вряд ли заработает в /tmp.
Настройка SNMPTT
Для начала, snmptrapd необходимо настроить на использование SNMPTT.
Для лучшей производительности, SNMPTT необходимо сконфигурировать демоном с использованием snmptthandler-embedded для передачи ему трапов. Смотрите инструкции по настройке SNMPTT на его сайте:
http://snmptt.sourceforge.net/docs/snmptt.shtml
При конфигурировании SNMPTT на получение трапов, настройте SNMPTT на журналирование этих трапов:
Теперь отформатируйте трапы, чтобы они распознавались Zabbix’ом (измените snmptt.conf):
Настройка получателя Perl трапов
Получатель трапов Perl (ищите в misc/snmptrap/zabbix_trap_receiver.pl) можно использовать для передачи трапов в Zabbix сервер напрямую с snmptrapd. Для его настройки:
Если имя скрипта не заключено в кавычки, snmptrapd откажется запускаться с сообщениями наподобие этих:
Формат SNMP трапа
Все пользовательские получатели трапов perl и конфигурация SNMPTT трапов должны форматировать трап следующим образом:
[штамп времени] [трап, часть 1] ZBXTRAP [адрес] [трап, часть 2], где
Обратите внимание, что «ZBXTRAP» и «[адрес]» при обработке отрезаются из сообщения. Если трап форматируется как-то иначе, Zabbix может разобрать такие трапы неожиданным образом.
3 Требования к системе
Поддержка больших файлов
У Zabbix имеется «Поддержка больших файлов» для файлов SNMP трапов. Максимальный размер файла, который Zabbix может прочитать, это 2^63 (8 Эбайт). Обратите внимание, что файловая система может иметь меньшее ограничение на максимальный размер файлов.
Ротация журнала
Файловая система
Из-за реализации файла с трапами, Zabbix’у требуется файловая система с поддержкой inode для того чтобы различать файлы (эта информация берется из вызова stat()).
4 Пример установки
Этот пример использует snmptrapd + SNMPTT для передачи трапов Zabbix серверу. Установка:
В этом примере используется SNMPTT как traphandle. Для лучшей производительности на продуктивных системах используйте встроенный Perl для передачи трапов от snmptrapd к SNMPTT или напрямую Zabbix’у.
Протокол управления SNMP
Для регулирования устройств в IP-сетях нередко применяется SNMP. Эта аббревиатура расшифровывается как Simple Network Management Protocol. По сути, это стандартизированный интернет-протокол, который помогает отследить используемые сетевые устройства: маршрутизаторы, адаптеры, коммутаторы и т. д. Основное условие, чтобы оборудование было включено через IP и использовали определенное программное обеспечение.
Разберемся, как работает протокол SNMP, из каких компонентов он состоит и какие версии используются.
Подробнее о протоколе
SNMP является протоколом прикладного уровня, который необходим для обмена информацией между несколькими сетевыми машинами. Это не просто приложение, а свод используемых правил, который является частью модели TCP/IP. Протокол контролируется и управляется IETF.
При помощи протокола сисадмин может выполнять мониторинг сети, чтобы оценить ее производительность и изменить конфигурацию устройств. Поэтому SNMP стал довольно распространен и его применяют в сетях любого типа и объема. Причем чем больше сеть, тем лучше удается использовать функционал приложения. Он позволяет не только просматривать, но и управлять сетью через единый интерфейс.
Основное преимущество протокола – наличие интерфейса с автоматическими оповещениями и другими командами. Это избавляет от необходимости ручного ввода всех команд.
Архитектура
Разобравшись в вопросе, что такое SNMP, можно перейти к рассмотрению его архитектуры. Она состоит из следующих компонентов:
1. Сетевая станция управления.
Подробнее поговорим о каждом элементе. Начать стоит с сетевой станции управления, или Network Management Station. Именно NMS позволяет отслеживать используемые устройства, анализировать сведения, собранные мастер-агентами, определять производительность системы и создавать графические отчеты на основе полученных данных. Встроенный менеджер используется для прямой связи с агентами протокола.
2. Агенты.
Эта группа компонентов включает в себя ряд подгрупп. Начнем с мастер-агентов, которые служат для связи сетевых менеджеров и субагентов. Они анализируют поступающие запросы и отсылают их субагентам, затем получают информацию, создают ответ и отсылают его менеджеру.
Если запрос некорректен, неверно сформулирован или информация закрыта для доступа, то мастер-агент отправляет уведомление об этом.
Другой вид агента – это субагент. Он представляет собой специальное программное обеспечение, которое поставляется вендором вместе с сетевой машиной. Субагент получает запросы от мастер-агента и потом обратно пересылает ему собранную информацию. Соответствующий субагент используется вместе с отдельным управляемым компонентом.
3. Управляемые компоненты.
Представляют собой подключенные к сети компьютеры и устройства или специальное ПО, имеющее встроенный субагент. К числу устройств могут относиться коммутаторы, маршрутизаторы и серверы, а также современные гаджеты. Что касается ПО с субагентами, то к нему относят антивирусные программы, серверы резервного копирования и т. д.
Также в качестве компонентов протокола SNMP стоит выделить MIB и OID. Первый термин обозначает базу управляющей информации, в ней содержатся сведения об оборудовании. Каждая сетевая машина имеет свою таблицу с MIB-данными, в ней – данные о состоянии картриджа (у принтеров), о поступающем трафике (у коммутатора) и т. д.
OID представляет собой идентификатор объекта. MIB снабжается своим уникальным ID, который и позволяет идентифицировать устройство. OID существует в числовом виде, по сути – это числовой аналог существующего пути к файлу.
Принципы работы
Теперь подробнее поговорим о назначении и принципе действия протокола SNMP. Изначально протокол разрабатывался как инструмент для управления глобальной сетью. Однако благодаря гибкой структуре удалось приспособить SNMP для всех устройств сети и осуществлять контроль, наблюдение и настройки при помощи единой консоли. Все это послужило распространению протокола и его активному применению.
Работа SNMP строится на обмене информацией между менеджерами и агентами. Этот процесс осуществляется посредством протокола UDP. Реже используется TCP или протокол MAC-уровня.
В SNMP используется семь различных вариантов PDU, которые отвечают за получение данных с устройства, изменение или присваивание новых сведений, уведомления об ошибках, извлечение данных и т. д.
PDU состоит из конечного набора полей, в которых прописывается нужная информация. В частности, это поля:
Функционирование SNMP подразумевает использование специальных сетевых портов. По умолчанию – это UDP-порты 161 и 162. Запросы поступают на порт SNMP 161. Далее с него отправляется ответ менеджеру. При отправке запроса он идентифицируется при помощи ID, что в дальнейшем позволяет связать запрос менеджера с поступившим ответом.
Порт 162 отвечает за прием ловушек агента. При использовании DLTS и TLS агент использует для пересылки сообщений порт 10162, а менеджер – 10161.
Мы подошли еще к одному важному элементу, который необходим для функционирования SNMP. Речь о ловушках, которые представляют собой способ коммуникации. Агент использует ловушки (Trap) в тех случаях, когда нужно сообщить менеджеру о каком-либо событии. Делается это по той причине, что менеджеры нередко отвечают за определенное количество устройств и несколько управляемых компонентов, поэтому не всегда могут вовремя отследить возникновение ошибки.
При получении ловушки, то есть уведомления, менеджер может выбрать нужное действие. Уведомления, которые присылает ловушка, обозначаются цифрами от 0 до 6. Код ошибки указывает на группу, к которой относится неполадка.
В SNMP используется два вида ловушек – помимо Trap, это еще и Inform. Разница в том, что второй тип ловушек предполагает подтверждение менеджера о ее получении.
Особенности применения
SNMP позволяет сисадмину работать с различными приложениями и облачными сервисами. Протокол имеет функционал для выполнения следующих операций:
Существующие версии
Разработано три версии протокола, которые получили соответствующие названия – SNMPv1, SNMPv2c и SNMPv3. Все они активно используются даже сегодня, однако самой распространенной остается вторая версия. Расскажем о каждой разновидности подробнее:
Вопросы безопасности
Протокол SNMP создавался в те времена, когда угроза взлома и несанкционированного доступа к данным была практически нулевой. Поэтому разработчики не уделяли этой проблеме особого внимания. Версия SNMPv1 практические не имеет защиты от взлома, чем могут воспользоваться злоумышленники.
Вторая версия разрабатывалась с учетом анализа предыдущих недочетов и ошибок протокола. Эта версия SNMP стала более безопасной, однако на деле ее сложно назвать самой стабильной и надежной.
Практически все ошибки безопасности удалось решить только в третьей версии. Для обеспечения безопасности в протоколе применяется несколько моделей: Community-based, Party-based и User-based Security.
Выводы
Сегодня протокол SNMP является наиболее простым и эффективным методом сбора и передачи данными между сетевыми устройствами, мониторинга и управления их работой. Особенно актуальным применение такого протокола является при совмещении устройств, функционирующих на разном ПО и выпущенных разными вендорами. SNMP прост в работе, достаточно надежный, а самое главное – полностью бесплатный для использования. Этим не может похвастать практически ни один существующий набор правил.
Остались вопросы по работе SNMP? Специалисты Xelent обязательно ответят на них – оставьте заявку на сайте или свяжитесь с нами по указанным телефонам.