Высокопроизводительный корпоративный программный комплекс нового поколения для мониторинга, глубокой аналитики, аудита лицензий СЛК / 1С и автоматического завершения спящих и зависших сеансов.
Поддерживает платформы 1С:Предприятие 8.3 и 8.5 (а также любые версии с сервером администрирования 1С RAS).
- 100% отказ от устаревшей технологии COM (
comcntr.dll/V83.COMConnector): прямое взаимодействие по протоколу 1С RAS (Remote Administration Server) через утилитуrac.exeс авто-поиском и кэшированием кластеров. - Отказоустойчивое автоопределение
rac.exe(v1.4.0):- Автоматическая валидация целостности платформы: поиск исполняемого файла
rac.exeс обязательной проверкой наличияcore83.dllв каталоге установки. - Исключение вызовов неполных установок (например, неполный Тонкий клиент) с автопереключением на исправную рабочую версию.
- Изоляция рабочего каталога (
WorkingDirectory) и инъекция путей в системныйPATHдочернего процесса. - Подавление блокирующих модальных окон Windows (
STATUS_DLL_NOT_FOUND/ 0xC0000135) черезSetErrorMode. - Кнопка «Обзор...» в GUI для ручного выбора пути к
rac.exe.
- Автоматическая валидация целостности платформы: поиск исполняемого файла
- Новое в v1.5.0:
- Несколько серверов: в настройках GUI можно добавить дополнительные серверы RAS (
хостилихост:порт), вappsettings.json— списокAdditionalServers. Учётные данные администратора кластера у всех серверов общие. - Очистка по расписанию: раз в N минут или часов либо ежедневно в указанное время (
ScheduleEnabled,ScheduleMode,ScheduleIntervalValue,ScheduleIntervalUnit,ScheduleDailyTime). Работает и в GUI, и в службе. - Автообновление GUI из GitHub Releases: проверка при запуске (
AutoUpdateEnabled) и по щелчку на номере версии. Файлыappsettings.jsonиgui_state.jsonпри обновлении не заменяются. - Исправлено завершение сеансов: в
rac session terminateпередаётся UUID сеанса, а не его номер (ошибка «Ошибка разбора параметра: session»). Сбой на одном сеансе больше не прерывает завершение остальных.
- Несколько серверов: в настройках GUI можно добавить дополнительные серверы RAS (
- Новое в v1.5.2:
- Автообновление на странице мониторинга: список сеансов, счётчики и лицензии СЛК перечитываются с серверов раз в N секунд (флажок «Автообновление, сек» рядом с Dry-Run, по умолчанию 60, от 10 до 86400). Выделение и прокрутка таблицы сохраняются; если опрос не удался, на экране остаются прежние данные. Пока идёт очистка или завершение сеансов, обновление пропускается. Флажок и интервал хранятся в
gui_state.json.
- Автообновление на странице мониторинга: список сеансов, счётчики и лицензии СЛК перечитываются с серверов раз в N секунд (флажок «Автообновление, сек» рядом с Dry-Run, по умолчанию 60, от 10 до 86400). Выделение и прокрутка таблицы сохраняются; если опрос не удался, на экране остаются прежние данные. Пока идёт очистка или завершение сеансов, обновление пропускается. Флажок и интервал хранятся в
- Полная поддержка версий 1С: совместимость с 1С:Предприятие 8.3 и 8.5.
- Интеграция с СЛК 3.0+ (1C:СЛК): автоматический опрос веб-консоли сервера лицензирования, подсчет занятых/доступных ключей, исключение неактивных серий и выявление пользователей с отраслевыми лицензиями (ERP, WMS, CRM, Итилиум и др.).
- Две редакции поставки:
- GUI Приложение (
OneSSessionMonitor.Gui): современный операторский центр управления в темной теме (WPF, .NET 10, C# 14). - Системная служба (
OneSSessionMonitor.Service): автономный отказоустойчивый Windows / Linux daemon (Worker Service) с автоочисткой по расписанию и структурированным логированием Serilog.
- GUI Приложение (
- Интеллектуальная фильтрация и диагностика:
- Распознавание зависших сеансов по длительности блокировок СУБД (
blocked-by-dbms) и вызовов сервера (call-duration-total). - Распознавание спящих сеансов (
hibernate = yes) с точным расчетом времени сна. - Белые списки пользователей, баз данных и типов приложений (гарантированная защита сеансов Конфигуратора 1С
Designer, регламентных заданий и администраторов). - Быстрый поиск, фильтрация по базам, клиентам (
1CV8C,1CV8,WebClient,Designer), чипы статусов (Все, Спящие, Зависшие, Активные, СЛК).
- Распознавание зависших сеансов по длительности блокировок СУБД (
- Экспорт данных: выгрузка в Microsoft Excel (.xlsx) и JSON / JSONL.
- Безопасный режим (Dry-Run): тестирование политик очистки без реального разрыва связи.
- Темный дизайн (Carbon / Shadcn Dark) с акцентной янтарной и изумрудной индикацией.
- Сортировка по всем колонкам: индикация направления сортировки (
▲/▼), оранжевая подсветка активного столбца, числовая сортировка по ОЗУ (RAM), времени неактивности, нагрузке ЦП и датам. - Встроенная консоль RAC-диагностики: вывод всех вызовов
rac.exe, кодов возврата и ошибок 1С в реальном времени. - Индикатор версии в правом нижнем углу: бейдж версии v1.5.2 и даты сборки; щелчок по нему проверяет обновления.
- Горячие клавиши:
F5/Ctrl+R— принудительное обновление сеансов.Del/Delete— завершение выбранного сеанса с подтверждением.Escape— сброс поисковых фильтров.Ctrl+E— экспорт в Excel.
{
"SessionMonitor": {
"Server": "localhost:1545",
"AdditionalServers": [],
"RacPath": null,
"ClusterAdminUser": null,
"ClusterAdminPassword": null,
"SlkServerEndpoint": "localhost:9099",
"SlkUser": null,
"SlkPassword": null,
"OnlyHibernate": true,
"MinHibernateMinutes": 90,
"CleanFrozenSessions": true,
"MaxDbProcMinutes": 40,
"MaxCallDurationMinutes": 30,
"ExcludedUsers": [
"Administrator",
"Администратор",
"DefUser",
"ServiceExchange",
"ФоновыйОбмен"
],
"ExcludedInfoBases": [],
"ExcludedAppIds": [
"Designer"
],
"TargetAppIds": [],
"InfoBasePattern": null,
"UserNamePattern": null,
"IntervalSeconds": 60,
"DryRun": false,
"ScheduleEnabled": false,
"ScheduleMode": "Interval",
"ScheduleIntervalValue": 60,
"ScheduleIntervalUnit": "Minutes",
"ScheduleDailyTime": "03:00",
"AutoUpdateEnabled": true
}
}Для сборки и прогона тестов выполните:
.\build.ps1Скрипт автоматически:
- Выполнит компиляцию всех проектов в конфигурации
Release(.NET 10). - Запустит автоматические модульные тесты xUnit.
- Сформирует готовые релизные пакеты:
publish\Gui— графическое приложение.publish\Service— служба Windows с командными скриптами управления.publish\OneSSessionMonitor-Gui-<версия>-win-x64.zip— архив GUI для GitHub Releases.
Чтобы автообновление GUI находило новую версию, опубликуйте релиз с тегом вида v1.5.0 и приложите к нему этот архив.
В каталоге publish\Service:
- Установка и запуск службы:
.\INSTALL_SERVICE.ps1
- Удаление службы:
.\UNINSTALL_SERVICE.ps1
- Перезапуск и обновление службы:
.\UPDATE_SERVICE.ps1
MIT License. Свободное использование в коммерческих и корпоративных проектах.