- Установка и настройка службы SNMP в Windows 10
- Установка службы SNMP в WIndows 10
- Настройка службы SNMP в Windows 10
- Расширение возможностей SNMP агента в Windows
- Понимание SNMP
- Как работает SNMP?
- Компоненты SNMP
- SNMP принципы работы
- Общие ЧАВО и решения
- 1. Как настроить SNMP?
- 2. NMS не удалось получить Trap.
Установка и настройка службы SNMP в Windows 10
Протокол Simple Network Management Protocol (SNMP) используется для мониторинга, оповещения о событиях и управления устройствами в сети. Протокол состоит из набора стандартов по управления сетью, в том числе протокол прикладного уровня (Application Layer protocol), схемы базы данных и набор объектов данных. SNMP может получать различную информацию (время аптайма, счетчики производительности, параметры устройств и т.д.) от любых сетевых устройств: коммутаторов, серверов, маршрутизаторов или простых компьютеров, на которых установлен агент SNMP.
В Windows 10 служба SNMP доступна в виде отдельного компонента Windows и по умолчанию не устанавливается. Рассмотрим, как установить и настроить SNMP в Windows 10.
Установка службы SNMP в WIndows 10
Вы можете проверить, установлена ли в вашей системе служба SNMP с помощью PowerShell командлета Get-Service:
Get-Service -Name snmp*
Вы можете установить службу SNMP через панель управления. Перейдите в Панель управления\Все элементы панели управления\Программы и компоненты\ Включение или отключение компонентов Windows).
В списке компонентов выберите Simple Network Management Protocol (SNMP)/протокол, и WMI SNMP Provider / Поставщик WMI для SNMP (обеспечивает доступ к информации SNMP через интерфейсы Windows Management Instrumentation) и нажмите Ок.
Также вы можете установить службы SNMP из командной строки PowerShell:
Enable-WindowsOptionalFeature -online -FeatureName SNMP
Настройка службы SNMP в Windows 10
После установки службы SNMP должны запустится автоматически. Откройте консоль управления Services (services.msc). В списке службы должны появится две новые службы:
- SNMP Service – это основная служба SNMP агента, которая отслеживают активность и отправляет информацию;
- SNMP Trap — получает сообщения ловушки (trap messages) от локальных или удаленных агентов SNMP, и пересылает сообщения в управляющие программы SNMP, которые работают на этом компьютере.
Откройте свойства службы SNMP. Если она остановлена, запустите ее, нажав кнопку Start и измените тип запуска (Startup type) на автоматический.
Перейдите на вкладку Agent. Заполните поля contact и location (здесь вы можете указать контактное имя пользователя и местоположение компьютера), и выберите список сервисов, данные которых нужно собирать и отправить устройству мониторинга.
Доступны следующие типы сервисов:
- Physical
- Applications
- Internet
- End-to-end
- Datalink and subnetwork
Перейдите на вкладку Security. Здесь вы можете настроить различные параметры безопасности для различных серверов SNMP.
В списке Accepted community names перечислены имена сообществ, чьи SNMP узлы проходят аутентификацию для отправки SNMP-запросов на этот компьютер.
Нажмите кнопку Добавить и укажите имя Community и один из пяти уровней доступа (None, Notify, READ ONLY, READ WRITE, READ CREATE). READ WRITE – это максимальный уровень доступа, при которых сервер управления SNMP может вносить изменения в систему. В системах мониторинга обычно достаточно выбрать READ ONLY, при этом сервер мониторинга может только опрашивать систему, но не вносить изменения.
В нашем примере мы добавили комьюнити public с разрешениями READ ONLY.
Далее добавьте список серверов системы мониторинга (по DNS имени или по IP адресам), от которых вы хотите разрешить получать SNMP пакеты.
Сохраните изменения и перезапустите службу SNMP.
На этом настройка службы SNMP в Windows 10 по сути завершена. Если вам нужно включить SNMP сразу на множестве компьютеров, вы можете удаленно установить и настроить службы с помощью PowerShell или GPO.
Расширение возможностей SNMP агента в Windows
Протокол SNMP (англ. Simple Network Management Protocol — простой протокол управления сетями) давно зарекомендовал себя как простое и удобное средство сбора информации о работе различных устройств и систем. Агенты SNMP реализованы для множества операционных систем что даёт возможность строить масштабируемые системы мониторинга функционирования инфраструктуры.
К сожалению, штатный агент Windows, несмотря на кажущуюся информативность, ограничен в вариантах доступной информации о работе системы и в особенности сторонних приложений, работающих на сервере. В этой статье описано как получать по SNMP больше данных о работе сервера, в частности значения счётчиков производительности ОС и любые другие данные, которые могут предоставлять приложения работающие на сервере, например количество подключённых пользователей к серверу приложений 1С 8 или любую другую информацию, которую Вы захотите получить.
SNMP Агент Windows позволяет расширить охват данных при помощи подключения дополнительных библиотек, что дает возможность получить доступ к нужным данным. Информацию по написанию таких расширений можно найти в MSDN, но мы воспользуемся одним из готовых, а именно — snmptools. Эта библиотека позволяет передавать информацию полученную из счетчиков произовдительности Windows или результат выполнения консольной программы/скрипта в ответах SNMP агента.
snmptools поддерживает все современные версии Windows, начиная с XP и заканчивая 2008R2 и имеет функционал, достаточный для решения большинства задач по мониторингу.
Качаем архив с библиотекой.В нем лежат:
- snmptools.dll и snmptools64.dll — собственно библиотеки расширения SNMP Агента. 32-х и 64-х битная версии соответственно
- counters.sample и traps.sample — файлы с примерами конфигурации
- .reg файлы с примерами регистрации расширения в системном реестре
- .reg файлы с примерами регистрации расширения в системном реестре
- perf32.exe — программка для доступа к значениям счетчиков производительности из командной строки
- папки с примерами скриптов
Для установки копируем библиотеку нужной архитектуры в системную папку Windows. Рядом создаем ini файл с конфигурацией (по умолчанию предлагается его ложить в корень диска С:). После чего изменяем путь к библиотеке и конфигурации в .reg файле и импортируем ключи в реестр. Вуаля — после перезапуска службы SNMP библиотека будет загружена, и будет возвращать данные описанные в файле конфигурации.
Файл конфигурации представляет собой ini-файл с простой структурой. Заголовок раздела задает обрабатываемый oid. Параметры которых всего 2 — type и counter — указывают какую информацию возвращать.
;Значение счетчика производительности
[1.3.6.1.4.1.15.2]
counter = LogicalDisk\Free Megabytes\_Total
;Результат выполнения консольной команды.
[1.3.6.1.4.1.15.3]
type = exec
counter = cmd /c ver
;Результат выполнения VB скрипта
[1.3.6.1.4.1.15.4]
type = exec
counter = cscript /nologo c:\1c_sessions.vbs
; Описательные поля
[1.3.6.1.4.1.15.10.1]
type = string
counter = 2
[1.3.6.1.4.1.15.10.1.1]
type = string
counter = Available Bytes
[1.3.6.1.4.1.15.10.1.2]
type = string
counter = Committed Bytes
; Информационные поля
[1.3.6.1.4.1.15.10.2]
type = string
counter = 2
[1.3.6.1.4.1.15.10.2.1]
counter = memory\Available Bytes
[1.3.6.1.4.1.15.10.2.2]
counter = memory\Committed Bytes
;Необходимо указывать конец для корректной работы последовательного обхода с помощью snmp_get_next
[1.3.6.1.4.1.15.9999]
type = string
counter = EOF
И проверим работу:
> snmpwalk — v 2c — c public — O a 192 . 168 . 1 . 1 1 . 3 . 6 . 1 . 4 . 1 . 15
SNMPv2 — SMI :: enterprises . 15 . 1 = STRING: «this is a test»
SNMPv2 — SMI :: enterprises . 15 . 2 = INTEGER: 160922
SNMPv2 — SMI :: enterprises . 15 . 3 = STRING: «Microsoft Windows [. 5.2.3790]»
SNMPv2 — SMI :: enterprises . 15 . 4 = INTEGER: 4
SNMPv2 — SMI :: enterprises . 15 . 10 = INTEGER: 2
SNMPv2 — SMI :: enterprises . 15 . 10 . 2 = INTEGER: 2
SNMPv2 — SMI :: enterprises . 15 . 10 . 2 . 1 = STRING: «Available Bytes»
SNMPv2 — SMI :: enterprises . 15 . 10 . 2 . 2 = STRING: «Committed Bytes»
SNMPv2 — SMI :: enterprises . 15 . 10 . 3 = INTEGER: 2
SNMPv2 — SMI :: enterprises . 15 . 10 . 3 . 1 = INTEGER: 427024384
SNMPv2 — SMI :: enterprises . 15 . 10 . 3 . 2 = INTEGER: 522661888
SNMPv2 — SMI :: enterprises . 15 . 9999 = STRING: «EOF»
End of MIB
Если что-то не заладилось можно включить отладку работы библиотеки установив в единицу параметр HKEY_LOCAL_MACHINE\SOFTWARE\snmptools\currentversion\debug. При этом отладочные сообщения будут сохранятся в файл c:\log.txt
Также можно настроить отправку трапов. Для этого нужно в настройках SNMP Агента Windows указать адрес получателя трапов, и в реестре в ветке HKEY_LOCAL_MACHINE\SOFTWARE\snmptools\currentversion создать строковой параметр traps с путем к файлу конфигурации трапов. Опционально можно добавить параметр trap_delay типа DWord для указания периодичности отправки трапов в миллисекундах.
Как видим snmptools это простой и удобный инструмент который может немного помочь в контроле увеличения энтропии вселенной и селекции зеленых хомячков.;-)
Если же Вам недостаточно функциональности предоставляемой snmptools, например требуются расширенные возможности протокола SNMP, типа управления сервером — можете попробовать использовать более продвинутые аналоги например, SNMPInformant
И в дополнение пример скрипта на VBScript для получения количества подключенных пользователей к серверу приложений 1Сv82.
Set Connector = CreateObject(«V82.COMConnector»)
Set Connection = Connector.ConnectAgent(«tcp://localhost»)
Clasters = Connection.GetClusters()
Set Cluster = Clasters (0)
Connection.Authenticate Cluster , «user», «password»
WScript.StdOut.WriteLine ( UBound (Sessions)+1)
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Понимание SNMP
SNMP (Simple Network Management Protocol) представляет собой стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP, который позволяет отслеживать управляемые сетевые устройства, включая маршрутизаторы, сетевые коммутаторы , серверы, принтеры и другие устройства, которые включены через IP через единую систему управления/программное обеспечение.
Как работает SNMP?
Чтобы понять принципы работы SNMP, важно сначала узнать модель управления SNMP.
Компоненты SNMP
В модели управления протокола SNMP всегда присутствуют три компонента:
Базы данных MIB представляют собой набор вопросов, которые SNMP-менеджер может задать агенту. Агент собирает эти данные локально и сохраняет их, как определено в MIB. Таким образом, диспетчер SNMP должен знать эти стандартные и частные вопросы для каждого типа агента;
SNMP-агент (то, что в других сетевых системах называется сервером) — это часть программного обеспечения, которое поставляется вместе с сетевым устройством (маршрутизатором, коммутатором, сервером, Wi-Fi и т. д.), Которое при включении и настройке выполняет всю тяжелую работу для Менеджера путем компиляции и хранения всех данных из своего данное устройство в базу данных (MIB);
MIB относится к базе данных, которая содержит переменные, поддерживаемые управляемыми устройствами (информация может запрашиваться и устанавливаться агентом).
Менеджер (NMS) — это просто часть программного обеспечения, которое установлено на компьютере (которое при объединении называется Network Management System), которое проверяет устройства в вашей сети, как часто вы указываете информацию.
SNMP принципы работы
Здесь используется SNMPv2c для объяснения принципов работы SNMP. Он выполняет следующие операции для извлечения данных, изменения переменных объекта SNMP и отправки уведомлений.
Обратите внимание, что SNMPv1 не поддерживает операции GetBulk и Inform.
На рисунке 2 показан процесс Get/GetNext/GetBulk/Set приложения SNMPv2c.
Когда NMS отправляет агенту пакет запроса Get/GetNext/GetBulk/Set, агент сначала аутентифицирует версию SNMP и имя сообщества. Затем, когда аутентификация успешна, агент отправляет соответствующее значение в NMS как пакет ответа. Если агент не может получить соответствующее значение, он возвращает сообщение об ошибке в NMS. Обратите внимание, что операция GetBulk эквивалентна последовательным операциям GetNext. Пользователь может установить количество операций GetNext, включенных в операцию GetBulk, без повторного выполнения операции GetNext.
На рисунке 3 показан процесс Trap/Inform приложения SNMPv2c.
Trap и Inform — это спонтанные действия управляемого устройства. Когда возникает условие срабатывания прерывания, управляемое устройство отправляет прерывание в NMS для уведомления. Inform похож на Trap, но для Inform требуется подтверждение от NMS, а для Trap — нет. Если управляемое устройство не получает подтверждение, оно сохраняет Inform в буфере или повторяет операцию Inform, пока NMS не вернет подтверждение. Как только количество повторных отправлений достигнет максимального предела, управляемое устройство запишет журнал для запроса на информирование.
Общие ЧАВО и решения
1. Как настроить SNMP?
SNMP использует центральный компьютер с программным обеспечением SNMP для управления сетевыми коммутаторами. Сегодня большинство сетевых коммутаторов на рынке, будь то гигабитные коммутаторы или коммутаторы 40G, поддерживают SNMP. SNMP предоставляет унифицированный и простой способ управления этими коммутаторами. Взяв в качестве примера конфигурацию SNMPv2c, процесс включает:
A) Настроить IP-адреса на компьютерах и управляемых коммутаторах.
B) Включить SNMP.
C) Настроить права доступа, чтобы компьютеры могли управлять назначенными коммутаторами..
D) Проверить результат конфигурации.
Для получения более подробной информации о конфигурации SNMP, посетите Конфигурация SNMP на коммутаторах серии FS 3900, пожалуйста..
2. NMS не удалось получить Trap.
В конфигурации по умолчанию не все Trap включены. В системном представлении пользователи могут:
- просмотреть список функций, которые включили Trap без показа всех snmp-agent trap,
- открыть соответствующий Trap с snmp-agent,
- открыть все Trap с snmp-agent trap.