Какую информацию нужно получить:
1. Количество сеансов на кластере 1С, историю изменения количества сеансов;
2. Количество сеансов в конкретной базе 1С, историю изменения;
Для чего это нужно:
1. Планирование политики по лицензиям: какие лицензии нужны для конкретных серверов 1С, на каких серверах число пользователей подходит к критической величине и т.д.
2. Планирование работ по изменению IT инфраструктуры: при переносе одних баз на другие сервера 1С, создании тестового контура, перенос критических баз 1С на отдельный контур - расчет рисков
3. Планирование работ по изменениям/обновлениям конфигураций: на работу скольких пользователей может повлиять определенное изменение в конфигурации, когда лучше проводить обновление (в периоды минимального числа пользователей ИБ) и т.д.
В данной статье необходимая информация будет получена на базе PRTG с сенсором SNMP.
Подразумевается, что PRTG установлен на отдельном сервере мониторинга. С этого сервера отправляются SNMP запросы к серверам 1С (на Windows), по результатам которых возвращается число сеансов. При этом, необходимо анализировать не только общее количество сеансов на кластере 1С, но и число сеансов в отдельной информационной базе.
Установка службы SNMP
На серверах 1С необходимо установить службы SNMP (Панель управления — Компоненты Windows). В итоге запустятся службы «Служба SNMP» и «Ловушка SNMP». Важно! Запуск службы SNMP необходимо установить от имени учетной записи, обладающей правами на 1С кластере, community. А также в свойствах службы добавить разрешенные хосты — IP сервера сбора статистики (PRTG).
На анализируемом сервере 1С создадим папку C:\SNMP_1C\. В ней будем хранить конфигурационные файлы.
Корректировка службы SNMP
Создаем два файла реестра и выполняем их
regagent.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents]
"snmptools"="SOFTWARE\\snmptools\\CurrentVersion"
[HKEY_LOCAL_MACHINE\SOFTWARE\snmptools\currentversion]
"Pathname"="%systedrive%\\SNMP_1C\\snmptools.dll"
"debug"="0"
"counters"="c:\\SNMP_1C\\counters.ini"
regagentWow6432.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents]
"snmptools"="SOFTWARE\\snmptools\\CurrentVersion"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\snmptools\currentversion]
"counters"="c:\\SNMP_1C\\counters.ini"
"debug"="0"
"pathname"="%systemdrive%\\SNMP_1C\\snmptools.dll"
Библиотеку snmptools.dll (во вложенных фалах) необходимо положить в папку C:\SNMP_1C\
Создание ini файла
На сервере 1С в папке C:\SNMP_1C\ создадим файл couners.ini. В нем пропишем действия при конкретном OID SNMP:
[1.3.6.1.6.2.7.16.12.15.16]
type=exec
counter=c:\windows\system32\cscript.exe /nologo c:\SNMP_1C\1c_sessions.vbs /Platform:"V83"
[1.3.6.1.6.2.7.16.12.15.16.1]
type=exec
counter=c:\windows\system32\cscript.exe /nologo c:\SNMP_1C\1c_sessions.vbs /BaseStr:"buh30" /PlatformStr:"V83"
Создание vbs скрипта
В корне диска C:\SNMP_1C\ создаем файл 1c_sessions.vbs
BaseName = Wscript.Arguments.Named.Item("BaseStr")
Platform = Wscript.Arguments.Named.Item("PlatformStr")
If Platform = "" Then
Platform = "V83"
End If
Set Connector = CreateObject(Platform & ".COMConnector")
Set Connection = Connector.ConnectAgent("tcp://localhost")
Clasters = Connection.GetClusters()
Set Cluster = Clasters (0)
Connection.Authenticate Cluster,"",""
Sessions = Connection.GetSessions (Cluster)
If BaseName="" Then
wscript.Echo(Ubound(Sessions)+1)
Else
Amount = 0
For Each Session In Sessions
If Session.InfoBase.Name = BaseName Then
Amount = Amount + 1
End If
Next
wscript.Echo(Amount)
End If
Создание сенсора RPTG
В PRTG добавляем device (сервер 1С "corp-1c-server1"), в свойствах не забываем указать корректную версию и сообщество.
Добавляем новый сенсор "Число сеансов 1С". Указываем тип сенсора SNMP, операционная система Windows
OID Value указывали в ini файле. Для сенсора общего количества сеансов на кластере 1С указываем IOD 1.3.6.1.6.2.7.16.12.15.16
Аналогично создаем сенсор для мониторинга числа сеансов в базе buh30 (OID 1.3.6.1.6.2.7.16.12.15.16.1)
В тоге должна получиться следующая картина:
Не получилось завестись с первого раза? Основные нюансы настройки:
1) Службу SNMP запускаем от пользователя, имеющего административные права на кластере 1С (ни в коем случае не стоит ставить сетевую учетку администратора или программиста, лучше Managed Service Accounts MSA);
2) Необходимо проверить версию SNMP в настройках девайса PRTG (для Windows Server 2008/2012 - v2);
3) Проверить сообщество в настройках службы и девайса;
4) Проверить корректность IP адреса сервера мониторинга в настройках службы SNMP;
5) Установлена ли компонента V8xCOMConnector.
Вывод. Благодаря рассмотренному инструменту, мы всегда знаем сколько сеансов на отдельных кластерах 1С, в отдельных информационных базах 1С. Можем опираться на эти данные при планировании как политики лицензирования серверов, изменения IT инфраструктуры, так и при внесении критических изменений в конфигурации.
Спасибо за внимание.
Ссылка на оргинал статьи в личном блоге.