Windows server snmp traps

Расширение возможностей 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

Читайте также:  Htop linux как пользоваться

Также можно настроить отправку трапов. Для этого нужно в настройках 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-trap (ловушки SNMP)

Только в Pro-версии программы LANState. SNMP-ловушка (SNMP-trap) — это особый сигнал, отправляемый устройством с поддержкой протокола SNMP. Как правило, подобные сигналы отправляются устройствами для того, чтобы оповестить администратора сети о наступлении каких-то критических событий. К примеру, некоторые виды источников бесперебойного питания (UPS) могут отправлять SNMP-trap в случае, когда оборудование переходит в режим питания от батарей UPS. Как правило, подобные ситуации требуют незамедлительного вмешательства обслуживающего персонала и поэтому устройство само инициирует отправку сигнала по протоколу SNMP. Еще в качестве примера можно привести некоторые модели датчиков вскрытия помещений и стоек оборудования. Эти датчики могут быть подключены к локальной сети и поддерживать отправку SNMP-trap в критических ситуациях, таких как несанкционированное открытие двери, к примеру.

Программа LANState может принимать такие сообщения и сигнализировать о них несколькими различными способами. Для включения возможности принятия SNMP-trap необходимо выбрать пункт главного меню SNMP | SNMP-ловушки (trap). В появившемся окне следует задать условия отбора (фильтр) сообщений, либо оставить включенным по умолчанию параметр Принимать все сообщения от SNMP-устройств, и нажать кнопку Включить приём сообщений от SNMP-устройств. Номер порта 162 является стандартным и изменять его рекомендуется только в тех случаях, когда вы уверенны, что отправка сообщений от устройства будет происходить на какой-либо другой порт (задается в настройках самого SNMP-устройства).


Рис 1. Окно Ловушка SNMP.

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


Рис 2. Окно Параметры условия.

К примеру, для того, чтобы принимать сообщения только от одного устройства и игнорировать от других — поставьте галочку IP отправителя и укажите его IP-адрес. Аналогично, можно принимать сообщения, адресованные именно вашему компьютеру (галочка IP получателя).

Читайте также:  Где находится java linux mint

В сообщении SNMP- trap содержится структурированная информация, состоящая из имени переменной SNMP (OID) и её значения. К примеру, признаком того, что сервер перешел в режим питания от UPS может быть сообщение, в котором содержится переменная, отвечающая за режим питания со значением, скажем, 1. Имя переменной выглядит как 1.3.6.4.6.6. Для получения SNMP-trap только с определенными переменными следует указать их в поле Переменные. В поле Имя задайте имя переменной, в Тип — её тип (можно выбрать из списка либо ничего не указывать) и задайте значение. После этого нажмите кнопку Добавить и заданная переменная поместится в список.

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

Для настройки сигнализации нажмите кнопку Настройка оповещения.


Рис 3. Окно Параметры оповещения .

Программа выполняет те же действия, что и в функции мониторинга устройств.

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

О мониторинге параметров SNMP на сетевом оборудовании без использования ловушек вы можете прочитать здесь: Мониторинг SNMP.

Скачайте бесплатную 30-дневную версию прямо сейчас и попробуйте!

Configure the Simple Network Management Protocol (SNMP) Service in Windows Server 2003

This article describes how to configure the Simple Network Management Protocol (SNMP) Service in Windows Server 2003. This article describes how to configure SNMP agent properties, SNMP traps, and SNMP security.

Original product version: В Windows Server 2003
Original KB number: В 324263

Summary

The SNMP Service, when configured for an agent, generates trap messages that are sent to a trap destination, if any specific events occur. For example, you can configure the SNMP service to send a trap when it receives a request for information that does not contain the correct community name and does not match an accepted host name for the service.

Configure SNMP agent information

Click Start, point to Control Panel, point to Administrative Tools, and then click Computer Management.

In the console tree, expand Services and Applications, and then click Services.

In the right pane, double-click SNMP Service.

Click the Agent tab.

Type the name of the user or administrator of the computer in the Contact box, and then type the physical location of the computer or contact in the Location box.

These comments are treated as text and are optional.

Under Service, click to select the check boxes next to the services that are provided by your computer. Service options are:

  • Physical: Specifies whether the computer manages physical devices, such as a hard disk partition.
  • Applications: Specifies whether the computer uses any programs that send data by using TCP/IP.
  • Datalink and subnetwork: Specifies whether this computer manages a TCP/IP subnetwork or datalink, such as a bridge.
  • Internet: Specifies whether this computer acts as an IP gateway (router).
  • End-to-end: Specifies whether this computer acts as an IP host.
Читайте также:  Microsoft xbox windows phone

Click OK.

If you have installed additional TCP/IP network devices, such as a switch or a router, see Request for Comments (RFC) 1213 for additional information. To view RFC 1213, visit the Internet Engineering Task Force (IETF) Web site

Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.

Configure SNMP communities and traps

Click Start, point to Control Panel, point to Administrative Tools, and then click Computer Management.

In the console tree, expand Services and Applications, and then click Services.

In the right pane, double-click SNMP Service.

Click the Traps tab.

In the Community name box, type the case-sensitive community name to which this computer will send trap messages, and then click Add to list.

Under Trap destinations, click Add.

In the Host name, IP or IPX address box, type the name, IP, or IPX address of the host, and then click Add.

The host name or address appears in the Trap destinations list.

Repeat steps 5 through 7 to add the communities and trap destinations that you want.

Click OK.

Configure SNMP security for a community

  1. Click Start, point to Control Panel, point to Administrative Tools, and then click Computer Management.
  2. In the console tree, expand Services and Applications, and then click Services.
  3. In the right pane, double-click SNMP Service.
  4. Click the Security tab.
  5. Click to select the Send authentication trap check box (if it is not already selected) if you want a trap message sent whenever authentication fails.
  6. Under Accepted community names, click Add.
  7. To specify how the host processes SNMP requests from the selected community, click the permission level that you want in the Community Rights box.
  8. In the Community Name box, type the case-sensitive community name that you want, and then click Add.
  9. Specify whether or not to accept SNMP packets from a host. To do so, do one of the following:
    • To accept SNMP requests from any host on the network, regardless of identity, click Accept SNMP packets from any host.
    • To limit the acceptance of SNMP packets, click Accept SNMP packets from these hosts, click Add, and then type the appropriate host name, IP, or IPX address in the Host name, IP or IPX address box.
  10. Click Add.
  11. Click OK.

If you remove all of the community names, including the default name Public, SNMP does not respond to any community names that are presented.

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