1
0
mirror of https://github.com/akpaevj/onecmonitor.git synced 2026-06-15 21:32:34 +02:00

OneSwiss

Публикация на infostart
Группа в Telegram Telegram

Система обслуживания и мониторинга информационных баз 1С

Кроссплатформенный программный комплекс, состоящий из:

  • Сервер - управляющее приложение с веб-интерфейсом, необходимое для конфигурации действий, выполняемых агентом
  • Агент - приложение, непосредственно осуществляющее обслуживание и мониторинг сервера.

Система автоматически находит установленные экземпляры платформ 1С, запущенные агенты серверов, определяет адреса, порты, запущенные для агентов экземпляры RAS, подгружает на сервер и обновляет списки кластеров и информационных баз.
Если экземпляр RAS не найден в списке служб (демонов), то система автоматически запустит экземпляры RAS для обеспечения собственной работы.

image

Функциональные возможности:

Обслуживание информационных баз:

Шаблонизация и автоматизация запуска последовательности действий обслуживания произвольного количества информационных баз посредством графической блок-схемы.

Блок-схема обслуживания ИБ имеет 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
error_logging_service

Экспорт технологического журнала:

Автоматизация сбора и экспорта технологического журнала. Центральными понятиями системы являются:

  • Шаблоны сбора ТЖ - шаблоны файла logcfg.xml
  • Сеансы сбора - непосредственное описание режима сбора, подключенных к сеансу агентов и шаблонов сбора ТЖ.

Доступные режимы сбора ТЖ:

  • Запуск после создания - запуск сеанса сбора журнала сразу после создания элемента в веб панели. Необходимо указать длительность сбора данных в минутах.
  • Мониторинг - режим сбора, не имеющий временных границ сбора журнала. Предназначен для шаблонов постоянного мониторинга
  • Планирование - отложенный запуск сбора. Необходимо указать период начала и длительность в минутах

Режимы, имеющие временные границы будут автоматически завершены, ручных действий не требуется. Устаревшие каталоги сбора и файлы ТЖ так-же будут автоматически очищены системой.

Система поставляется с небольшим, предопределенным списком шаблонов сбора ТЖ

СУБД, доступные для экспорта:

  • ClickHouse
techlog

Экспорт журнала регистрации (используется новый режим работы 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

S
Description
No description provided
Readme 26 MiB
Languages
C# 71.1%
HTML 28.2%
TypeScript 0.5%
Shell 0.1%