Как проверить работу snmp в windows
Вторая команда скачивает те стандартные MIBы от IETF и IANA, которые не включены по умолчанию.
Замечание: для того, чтобы это работало, вам необходимо включить источник "multiverse" в вашу конфигурацию APT, если вы используете Ubuntu 12.04 или 14.04. На этом семинаре это уже было сделано.
Теперь, отредактируйте файл /etc/snmp/snmp.conf :
Поменяйте эту строку:
. так, что она выглядит как:
(Вы "закомментировали" пустую конфигурацию MIBов, которая говорит инструментам не загружать MIBы из каталога /usr/share/mibs/ автоматически)
Для этого упражнения вы должны работать в группах. Выберите одного человека набирать на клавиатуре.
Теперь зайдите на ваш роутер:
Теперь нам нужно добавить список контроля доступа для доступа к SNMP, активировать SNMP, назначить SNMP пароль для доступа "только для чтения", и сказать роутеру чтобы он сохранял SNMP-информацию между перезагрузками. Это делается так:
Давайте выйдем из режима конфигурации и сохраним новую конфигурацию в постоянной памяти.
Теперь посмотрим, работают ли наши изменения.
Чтобы проверить, что ваша конфигурация SNMP работает, запустить команду snmpstatus для каждого из следующих устройств
Где это адрес одного из следующих устройств:
Что происходит если вы исползуете неправильный пароль (т.е. изменяте NetManage на что-то другое ?)
Теперь, вы будете использовать команду snmpwalk , являющегося частью инструментария SNMP, для перечисления таблиц, связанных с OIDами, перечисленными ниже, на каждом из устройств вы использовали выше:
Вы сделаете это используя две разные формы команді snmpwalk :
. где OID - один из OIDов перечисленных выше: .1.3.6.
. где IP_ADDRESS может быть роутером вашей группы.
Замечание: параметр -On включает числовой вывод, т.е. отключает трансляцию OIDов в имена из MIBа.
- Все ли устройства отвечают?
- Заметили ли вы что-нибудь важное об OIDах в выводе?
Для этого упражнения ваша группа должна проверить, что сервис snmpd запущен и отвечает на запросы на всех машинах вашей группы. Вначале разрешите snmpd на вашей машине, потом проверьте, отвечает ли она, потом проверьте каждую машину других членов вашей группы.
- Установите SNMP-агента (программу-демона)
- Конфигурирование.
Мы сохраним конфигурацию по умолчанию, и создадим нашу собственную:
Потом, скопируйте следующее:
Теперь сохраните файл и выйдите из редактора.
6.1 Проверьте, что snmpd работает:
Что вы наблюдаете?
6.2 Протестируйте ваших соседей
Убедитесь, что вы можете проверять snmpstatus на других серверах вашей группы:
Например, для группы 5, вам следует проверить:
Вспомните, когда вы запустили:
Если вы обратили внимание, SNMP-клиент (snmpwalk) не мог проинтерпретировать все OIDы, которые вернул SNMP агент:
Что такое 9.9.13.1.3.1 ?
Для расшифровки этой информации, нам нужно скачать дополнительные MIBы:
Мы будем использовать следующие MIBы (не скачивайте их пока!):
MIBы CISCO
Скачайте их теперь, как показано ниже:
Теперь нам нужно сказать инструментарию snmp, что у нас появились новые MIBы и что он должен их подгружать. Поэтому, отредактируйте файл /etc/snmp/snmp.conf , и добавьте следующие две строчки:
Сохраните файл, выйдите из редактора.
Теперь, снова выполните:
Используйте snmpwalk для опрашивания других устройств (роутеров, маршрутизаторов, серверов) в сети 10.10.0.X.
Обратите внимание на типы информации, которую вы можете получить.
(Не забудьте, используя less , пробел пролистывает страницу вперед, b - страницу назад, и q - выход)
Видите ли вы разницу между ifTable и ifXTable ?
Как вы думаете, в чем разница между ifOperStatus и ifAdminStatus ? Можете ли вы представить себе ситуацию, когда эта разница может быть полезна?
Уже немало написано о том, что в названии Simple Network Management Protocol слово Simple можно смело писать в кавычках. Протокол SNMP является достаточно простым с точки зрения создания SNMP-агентов, однако на стороне управляющего ПО (SNMP manager) грамотная обработка сложных по структуре данных обычно является нетривиальной задачей.
Мы попытались упростить процесс настройки сбора данных и событий SNMP и позволить пользователям во время этого процесса:
- Никогда не заглядывать внутрь MIB-файлов
- Не знать, что такое OID-ы и никогда не оперировать с ними
- Не пользоваться отдельной SNMP-утилитой для предварительного просмотра данных во время настройки
Прежде всего необходимо разобраться с MIB-файлами. Описание логики связей между элементами данных и их синтаксиса было в SNMP реализовано при помощи этих файлов с целью уменьшения нагрузки на сеть и упрощения реализации агентов. Пользователи, однако, далеко не всегда хотят разбираться с их внутреннем устройстве.
Модуль SNMP нашей системы AggreGate Network Manager при старте загружает все MIB-файлы, находящиеся в специальной папке сервера, после чего позволяет добавлять новые при помощи простого диалога:
Во время загрузки файлов происходит их автоматическая компиляция. Встроенный редактор MIB-ов с подсветкой синтаксиса имеется лишь на случай появления MIBов, не соответствующих спецификации. Пользоваться им нужно крайне редко.
На этом работа с MIB-файлами заканчивается, дальше их названия используются только для логической группировки уже собранных данных. При необходимости, загруженные файлы можно посмотреть и поискать в таблице MIBов, но при обычной работе это также не требуется.
В случае построения классической системы мониторинга этот шаг обычно не требуется, так как все устройства добавляются в систему автоматически во время периодического обнаружения устройств (network discovery). Тем не менее, во время добавления обнаруженных сканированием сети устройств выполняются примерно те же шаги:
- Выбор типа устройства. В нашем случае подходит либо SNMP, либо Network Host, которые поддерживает Ping, SNMP, WMI, и другие типовые протоколы мониторинга ИТ.
- Указание адреса и настроек коммуникаций. Имеется в виду версия протокола, SNMP Communities, таймауты и количество повторов, настройки SNMP v3 и т.п.
После завершения этапа подключения устройства системе требуется от нескольких секунд до нескольких минут на завершение опроса устройства в рамках выбранных 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, а также сотни более простых задач.
Откорректировать настройки опроса (синхронизации) и хранения метрики можно через ее контекстное меню, либо через настройки аккаунта (для всех метрик сразу).
В диалоге настроек хранения показывается только срок хранения «сырых» данных в обычной базе данных (реляционной или NoSQL, в зависимости от настроек сервера). В большинстве случаев данные SNMP хранятся в кольцевой базе данных (Round-Robin Database, RRD), которая встроена в платформу AggreGate. На тему создания каналов статистики, которые перекладывают метрики и части таблиц в кольцевую БД, будет отдельная статья.
Когда данные собираются и сохраняются в БД сервера, можно приступать к их использованию для дела, то есть для мониторинга и управления ИТ инфраструктурой. Контекстное меню любой метрики в снимке устройства предоставляет доступ к визардам, позволяющим начать настройку тревог, отчетов, графиков, запросов, инструментальных панелей, и других средств анализа и визуализации.
При помощи этих средств настраивается влияние метрик и таблиц на общесистемные операции поиска причин отказов, анализа производительности, планирования и инвентаризации, управления конфигурациями, и других функций системы. Попутно «рисуются» различные интерфейсы:
Описанный выше процесс может показаться сложным из-за множества упомянутых подробностей, однако на практике от момента подключения абсолютно нового устройства до появления его специфических данных на стандартных инструментальных панелях проходит всего несколько минут. За это время выход из нашей системы требуется лишь на время поиска специфических MIB-файлов на сайте производителя подключаемого оборудования.
При настройке мониторинга не требуется ручное указание названий MIB-ов, ввод OID-ов и других низкоуровневых идентификаторов. Это делает настройку SNMP-мониторинга достаточно быстрой и легкой.
Безусловно, нам еще есть над чем поработать. Требуется улучшение механизмов выбора индивидуальных метрик, чтобы избежать даже единократного опроса целых MIBов. Есть необходимость исключения из опроса индивидуальных строк и столбцов SNMP-таблиц. Нам интересно было бы услышать и о других недостатках процесса настройки SNMP-мониторинга в нашей системе.
Эта статья вообще не касается получения, обработки и отправки ловушек SNMP, работы по SNMP v3, и многих других аспектов.
Для более подробного рассказа мы приглашаем всех хабражителей на вебинар Мониторинг и управление по SNMP, который состоится 26 мая 2015 года в 11:00 по московскому времени. На этом вебинаре мы «вживую» продемонстрируем весь вышеописанный процесс, а также многие другие способы мониторинга сетевого, серверного и нестандартного оборудования при помощи SNMP.
Данная заметка будет как предверие следующей в которой я буду подробно рассматривать, как не устанавливая агенты на рабочих местах (если такое возможно) посредством SNMP получать информацию с систем которая будет передаваться в центр единого мониторинга GLPI, либо использовать такие средства по сбору статистики, как Cacti (уже сейчас собираю), MRTG и Dude (от Микротика). А сейчас просто задокументирую в шагах как на Windows станциях включить SNMP и произвести съем информации.
И так – дальнейшие действия провожу с правами Администратора:
Windows 7 x86 Professional – настройка службы SNMP и как с OpenSUSE снимать информацию с системы через это самое snmp
либо через консоль командной строки:
Start /w ocsetup SNMP
Start /w ocsetup WMISnmpProvider
Далее переходим в службы системы:
Тип запуска: Автоматически
С системной учетной записью
Контактное лицо: указываю себя, как администратора подконтрольной сети где находятся рабочие станции, т.е. ekzorchik
Службы: отмечаю галочками – Физическая, Приложения, Канал данных и подсети, Интернет, Узел-узел
Имя сообщества: ekzorchik
Адреса назначения ловушки: 10.7.8.154, 127.0.0.1
Посылать ловушку проверки подлинности
Приемлемые имена сообществ: ekzorchik – READ ONLY (права)
Принимать пакеты SNMP только от этих узлов: 10.7.8.154, 127.0.0.1
После перезапускаем службу для активации внесенных настроек , либо через GUI интерфейс, либо через консоль командной строки:
C:\Users\ekzorchik>net stop snmp
C:\Users\ekzorchik>net start snmp
Местонахождение всех настроек в реестре по ключу:
HKLM\SYSTEM\CurrentControlSet\services\SNMP
, можно экспортировать данный ключ (формат reg) и после посредством групповых политик или скриптом распространить по клиентским машинам.
Пример моих настроек выдернутых из реестра:
Windows Registry Editor Version 5.00
Теперь с системы с которой будем слать запрос на подключение к данной рабочей станции ставим пакет net-snmp и проверяем какую информацию можем получить : (точно такой же пакет ставится и на Ubuntu 12.04.5 Server amd64 на котором развернут GLPI, а сейчас я проверяю с рабочей системы OpenSUSE 13.2 что могу извлечь, но это без разницы, все не так уж важно)
> sudo zypper install net-snmp
И вот она снимаемая информация с рабочей станции под управлением Windows 7 по такому же принципу и для Windows XP, Windows 7, Windows 8, Server 2003, Server 2008, Server 2012
> snmpwalk -v 1 -c ekzorchik 10.7.8.150 | head -n 10
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.1
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1812) 0:00:18.12
SNMPv2-MIB::sysContact.0 = STRING: Ekzorchik
SNMPv2-MIB::sysName.0 = STRING: W7X86.<domain_name>.local
SNMPv2-MIB::sysLocation.0 = STRING: Work
SNMPv2-MIB::sysServices.0 = INTEGER: 79
IF-MIB::ifNumber.0 = INTEGER: 16
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
Работает, что мне сообственно и требовалось. Данная заметка своего рода шпаргалка шагов для будующих описывательных инструментов которыми я пользуюсь в повседневности. Что еще сказать, до новых встреч – с уважением автор блога – ekzorchik.
One comment
Замечательно! Как раз прочитал Вашу статью на хабре о сцепке (Zabbix, батнике и OpenHardwareMonitorReport(этот почему-то выдает инфу только о проце и материнки у меня) ), а тут новая статья о том как вести мониторинг без агентов. Очень интересно. Спасибо за Ваши труды!
Comments are closed.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще :)
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Протокол Simple Network Management Protocol (SNMP) используется для мониторинга, оповещения о событиях и управления устройствами в сети.
SNMP может получать различную информацию (время аптайма, счетчики производительности, параметры устройств и т.д.) от любых сетевых устройств: коммутаторов, серверов, маршрутизаторов или простых компьютеров, на которых установлен агент SNMP.
В Windows 10 служба SNMP доступна в виде отдельного компонента Windows и по умолчанию не устанавливается.
Проверка наличия SNMP
Проверить, установлена ли в системе служба SNMP можно с помощью PowerShell командой Get-Service:
Установка SNMP
Также можно установить службы SNMP из командной строки PowerShell:
Настройка службы SNMP
После установки службы SNMP должны запустится автоматически. Откройте консоль управления Services (services.msc). Для открытия нажимаем WIN + R и вводим имя консоли:
В списке службы должны появится две новые службы:
SNMP Service – это основная служба SNMP агента, которая отслеживают активность и отправляет информацию;
Сообщество — это имя, которое обладает такими же функциями, как логин и пароль. При добавлении сообщества можно выбрать права из списка (None, Уведомление, READ ONLY, READ WRITE, READ CREATE).
В системах мониторинга обычно достаточно выбрать READ ONLY, при этом сервер мониторинга может только опрашивать систему, но не вносить изменения.
Далее можно добавить список серверов системы мониторинга (по DNS имени или по IP адресам), от которых необходимо разрешить получать SNMP пакеты.
Читайте также: