OneSwiss
Система обслуживания и мониторинга информационных баз 1С
Кроссплатформенный программный комплекс, состоящий из:
- Сервер - управляющее приложение с веб-интерфейсом, необходимое для конфигурации действий, выполняемых агентом
- Агент - приложение, непосредственно осуществляющее обслуживание и мониторинг сервера.
Система автоматически находит установленные экземпляры платформ 1С,
запущенные агенты серверов, определяет адреса, порты, запущенные для агентов экземпляры RAS, подгружает на сервер и обновляет списки кластеров и информационных баз.
Если экземпляр RAS не найден в списке служб (демонов), то система автоматически запустит экземпляры RAS для обеспечения собственной работы.
Функциональные возможности:
Обслуживание информационных баз:
Шаблонизация и автоматизация запуска последовательности действий обслуживания произвольного количества информационных баз посредством графической блок-схемы.
Блок-схема обслуживания ИБ имеет 2 возможных типа блоков:
- Простой шаг
- Шаг с обработкой исключения
Доступные типы шагов:
- Блокировка соединений - блокировка соединений с ИБ
- Закрытие соединений - закрытие соединений с ИБ
- Разблокировка соединений - разблокировка соединений к ИБ
- Загрузка расширения - загрузка расширения из CFE файла или из указанного хранилища конфигурации
- Удаление расширения - удаление расширения из ИБ по имени (по регулярному выражению)
- Обновление конфигурации - обновление ИБ файлом CFU
- Загрузка конфигурации - загрузка конфигурации из CF файла или из указанного хранилища конфигурации
- Запуск внешней обработки - выполнение запуска внешней обработки в пакетном режиме запуска клиента 1С (Execute)
- Выполнение скрипта (OneScript) - запуск выполнения скрипта из ospx пакета
https://github.com/user-attachments/assets/bc8e7f9d-42e8-4161-b12b-8a6b8677a362
Сервис регистрации ошибок:
Платформа 1С позволяет использовать сервис регистрации ошибок для автоматической фиксации исключительных ситуаций, произошедших как на клиенте, так и на сервере.
В программном комплексе реализован интерфейс этого сервиса, позволяющий принимать и просматривать поступившие из информационных баз
отчеты об ошибках. Доступен просмотр информации о клиенте, сервере, описании ошибки, стеке вызова и скриншоте.
В настройках обработки ошибок 1С необходимо указывать адрес по шаблону:
{URL}/api/ErrorLoggingService
Пример:
http://localhost:7002/api/ErrorLoggingService
Экспорт технологического журнала:
Автоматизация сбора и экспорта технологического журнала. Центральными понятиями системы являются:
- Шаблоны сбора ТЖ - шаблоны файла logcfg.xml
- Сеансы сбора - непосредственное описание режима сбора, подключенных к сеансу агентов и шаблонов сбора ТЖ.
Доступные режимы сбора ТЖ:
- Запуск после создания - запуск сеанса сбора журнала сразу после создания элемента в веб панели. Необходимо указать длительность сбора данных в минутах.
- Мониторинг - режим сбора, не имеющий временных границ сбора журнала. Предназначен для шаблонов постоянного мониторинга
- Планирование - отложенный запуск сбора. Необходимо указать период начала и длительность в минутах
Режимы, имеющие временные границы будут автоматически завершены, ручных действий не требуется. Устаревшие каталоги сбора и файлы ТЖ так-же будут автоматически очищены системой.
Система поставляется с небольшим, предопределенным списком шаблонов сбора ТЖ
СУБД, доступные для экспорта:
- ClickHouse
Экспорт журнала регистрации (используется новый режим работы ibcmd - eventlog):
Автоматизация сбора и экспорта журнала регистрации 1С. Настройка базы данных экспорта аналогична настройке базы данных для технологического журнала. Доступен отбор журналов информационных к экспорту по регулярному выражению имени информационной базы
СУБД, доступные для экспорта:
- ClickHouse
Уведомления:
Реализована система уведомлений о результатах выполнения задач обслуживания и поступивших отчетах об ошибках. Доступные каналы уведомлений:
- Бот Telegram
- WebHook
Некоторые детали реализации:
В комплексе реализовано автоматическое обнаружение необходимых для обеспечения собственной работы служб и приложений на хостах агентов:
- Агентов серверов 1С (ragent)
- Служб удаленного администрирования (RAS)
- Установленных платформ 1С:Предприятие
- Служб серверов хранилищ конфигураций
Найденные ресурсы комплекс использует для обнаружения и автоматической регистрации следующих сущностей на собственном сервере:
- Кластеры 1С
- Информационные базы
- Хранилища конфигураций
Установка и использование:
Учетные данные администратора при первом входе - admin/admin
Сервер
Является центральным звеном программного комплекса, осуществляет управление работой агентов, установленных на серверах 1С.
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"Kestrel": {
"EndpointDefaults": {
"Protocols": "Http1AndHttp2"
}
},
"OneSwiss": {
"Tcp": {
"Host": "0.0.0.0",
"Port": 7001
},
"Http": {
"Host": "0.0.0.0",
"Port": 7002
}
},
"Auth": {
"Mode": "Internal",
"OIDC": {
"Authority": "https://my.company.com/realms/master",
"ClientId": "oneswiss",
"ClientSecret": "13214324543fdsfdsvdsv3213",
"Scopes": [
"profile",
"oidc"
],
"NameClaim": "preferred_username",
"DisplayNameClaim": "name"
}
},
"ProxyAddress": "10.10.0.1"
}
Где:
- OneSwiss
- Tcp - адрес и порт, по которым сервер будет прослушивать подключающиеся агенты
- Http - адрес и порт, по которым будет доступна веб-панель управления сервером
- Auth
- Mode - Internal или Mixed. Только внутренняя или внутренняя + OIDC аутентификация
- OIDC
- Authority - адрес провайдера аутентификации
- ClientId - идентификатор клиента аутентификации
- ClientSecret - секрет клиента аутентификации
- Scopes - список областей, получаемых клиентом
- NameClaim - имя утверждения, значение которого будет использовано в качестве логина. По умолчанию - preferred_username
- DisplayNameClaim - имя утверждения с отображаемым именем пользователя. По умолчанию - name
- ProxyAddress - IP пограничного прокси сервера
Агент
Устанавливается непосредственно на сервера 1С.
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"Agent": {
"InstanceName": ""
},
"OneSwiss": {
"Host": "127.0.0.1",
"Port": 7001
},
"TechLogFolder": "",
"V8": {
"PlatformPaths": [
]
}
}
Где:
- Agent
- InstanceName - наименование агента, отображаемое в панели управления серверной части. Если не задано - то hostname
- OneSwiss - адрес и порт, по которым агент будет стучаться к серверной части
- PlatformPaths - дополнительные пути, если платформы установлены не в каталогах установки платформы 1С по умолчанию
- TechLogFolder - служебный каталог сбора технологического журнала, используемый в работе подсистемы сеансов сбора ТЖ.
Если не указан, то используется стандартный путь:
- Windows - %PROGRAMDATA%/oneswiss/techlog
- Linux - /var/log/oneswiss/techlog
Работа за reverse proxy
Для обеспечения корректного перенаправления и использования схемы, на прокси-сервере необходимо устанавливать следующие заголовки:
- X-MS-Proxy - адрес прокси сервера
- X-Forwarded-For - адрес и порт удаленной точки подключения
- X-Forwarded-Proto - испольуемая схема Условный пример:
X-Ms-Proxy: 10.10.0.1
X-Forwarded-For: {remote_host}
X-Forwarded-Proto: https
Так-же в файле конфигурации сервера oneswiss обязательно требуется указание адреса пограничного прокси-сервера в параметре ProxyAddress