Как проверить snmp windows

Установка и настройка службы 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.

Читайте также:  Windows terminal настройка вкладок ssh

Далее добавьте список серверов системы мониторинга (по 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

Читайте также:  Драйвера для windows dell inspiron 3721

; Информационные поля
[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 получать информацию с систем которая будет передаваться в центр единого мониторинга GLPI, либо использовать такие средства по сбору статистики, как Cacti (уже сейчас собираю), MRTG и Dude (от Микротика). А сейчас просто задокументирую в шагах как на Windows станциях включить SNMP и произвести съем информации.

И так – дальнейшие действия провожу с правами Администратора:

Windows 7 x86 Professional – настройка службы SNMP и как с OpenSUSE снимать информацию с системы через это самое snmp

ПускПанель управления – Просмотр (Мелкие значки) – Программы и компоненты – Включение или отключение компонентов Windows —

Читайте также:  Linux как найти файлы по содержимому

либо через консоль командной строки:

Start /w ocsetup SNMP

Start /w ocsetup WMISnmpProvider

Далее переходим в службы системы:

Пуск – Панель управления – Просмотр (Мелкие значки) – Администрирование – Службы – находим службу с названием: “Служба SNMP” —

Тип запуска: Автоматически

С системной учетной записью

Контактное лицо: указываю себя, как администратора подконтрольной сети где находятся рабочие станции, т.е. 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

Служба «Служба SNMP» останавливается..

Служба «Служба SNMP» успешно остановлена.

C:\Users\ekzorchik>net start snmp

Служба «Служба SNMP» запускается.

Служба «Служба 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::sysDescr.0 = STRING: Hardware: x86 Family 18 Model 1 Stepping 0 AT/AT COMPATIBLE — Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)

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. .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
Yandex-деньги: 41001520055047

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

Оцените статью