Копать с утра и до обеда.. или разбираем внутренний протокол 1С службы RAS (Часть первая)

25.08.21

Разработка - Инструментарий разработчика

Для тех, кто любопытен, или есть потребность администрировать много серверов 1С.

Для чего это нужно?

Потребность автоматизации процессов администрирования и мониторинга серверов 1С, а именно:

  • Мониторинг (снятие счетчиков, доступности и блокировки ИБ)
  • Добавление/удаление ИБ
  • Перемещение ИБ
  • Добавление рабочих серверов (настройка их по шаблону)
  • Блокировка и отключение сеансов/зависших соединений
  • Подсчет количества лицензий
  • И прочие рутинные действия

Как это сейчас работает?

Сейчас для автоматизации процессов администрирования серверов 1С используется следующие схемы работы:

  1. Служба `ras`  и клиент `rac`, а так же библиотеки обертки, которые парсят выхлоп клиента `rac` 
    • Пакеты для oscript:
      • v8rac - реализация части функционала для управления серверами 1С
      • irac - полноценная реализация управления серверами 1С
      • hirac - HTTP интерфейс основанный на oscript.Web и пакете irac
    • Различные реализации от 1С  в типовых конфигурациях
  2. Com подключение - и различные обертки для него

Все эти инструменты требуют установленной 1С, что является их существенным недостатком.

В различных проектах используется “зоопарк” из этих решений и его поддержка занимает уже много времени, а переход на один из инструментов требует существенной доработки уже существующих механизмов и доработки самих инструментов, а самое главное не будет масштабируемым из-за общего недостатка всех этих решений, а именно требуется установленная 1С.

Что будем делать?

План решения задачи

  • Для начала предлагается сделать описание всех данных, которые необходимы для работы с серверами 1С. 
  • Научиться их сериализовать в формат RAS и читать из него, для прямого общения с 1С минуя прослойку в виде клиента `rac`, чем мы устраняем основной недостаток - установленная 1С. 
  • Реализовать единый интерфейс для всех автоматизаций по протоколу HTTP/gRPC с автоматической генерацией клиентов под любой язык программирования.

Например, для веб-сайта необходимо реализовать клиента на JS, для какой-то другой программы, возможно, потребуется требуется клиент на golang или C#, и все должно быть единообразно, клиенты под любой язык программирования должны создаваться с помощью кодогенерации на основе описания протокола RAS

  • Создать масштабируемый микросервис для решения задач администрирования и его быстрого развертывания в docker и kubernetes 

Как будем описывать формат данных

Для описания данных клиентов и серверов, а также данных получаемых от RAS предлагается использовать protobuf , как единый формат описания

Это позволит нам создавать клиентов (к RAS и/или нашему единому интерфейсу по протоколам HTTP/gRPC) под любые языки разработки с минимальными трудозатратами. C помощью плагина для генерации кодирования/декодирования в формат RAS все описанные форматы данных можно будет легко кодировать и декодировать для прямого общения с RAS. 

Немного специфики:

  • Сообщение (message) - в формате protobuf - это класс/структура в других языках. 
  • Для определения специфичности формата RAS мы будет использовать расширение данных сообщений, эти данные указаны как option или выделены в [ … ] 

Описание формата данных RAS

На прямую формат данных описываться не будет, но будут указаны порядок сериализации и кодек который надо применить к тому или иному полю.

Эти данные можно использовать для кодирования в формат RAS в языках разработки.

Здесь будет приведены примеры для языка golang. (для java - можно взять из предоставленной 1С либы)

За основу разработки формата данных взята Java - либа от 1С, и переработана в Golang/protobuf.
 

Схема работы клиента RAS

В статье будет рассмотрена следующая общая схема работы клиента RAS

Подготовка данных для сериализации в формат RAS

Для начала необходимо понять, что все сообщения к RAS и при получении ответа упакованы в специальный пакет данных. Для его описания мы создадим сообщение `packet`

Для декодирования нам необходимо ввести две дополнительные опции:

  • type_field - указание на номер поля в котором содержится тип данных

  • size_field - поле в котором указан размер данных для поля с типом bytes
     

Packet


Структура данных:

Название

Тип

Порядок
(order)

Кодек
(encode)

Описание

type

PacketType

1

byte

Определяет тип посылаемого пакета, задается в виде перечисления PacketType

size

int32

2

size

Задает размер получаемых и передаваемых данных в пакете

data

bytes

3

bytes

Данные передаваемые в пакете

Получившееся описание

 
Packet

message Packet {

  PacketType type = 1 [(ras.encoding.field) = {
      encoder: "byte",
      order: 1,
    }
  ];


  int32 size = 2 [(ras.encoding.field) = {
      encoder: "size",
      order: 2,
    }];

  bytes data = 3 [(ras.encoding.field) = {
      encoder: "bytes",
      order: 3,
      type_field: 1,
      size_field: 2,
    }];

}

PacketType

Содержит и определяет возможное типы передаваемых пакетов. Для простоты загоняем все возможные типы в перечисление и даем им более понятные названия, часть типов пакетов мы реализовывать не будет, по этому зарезервируем их номера и имена.
для быстрого получения связанного с типом сообщения используем расширение значение перечисления "type_url".

Получившееся описание типов

 
 PacketType

enum PacketType {

  PACKET_TYPE_NEGOTIATE = 0 [(ras.encoding.type_url) = "ras.protocol.v1.NegotiateMessage"];
  PACKET_TYPE_CONNECT = 1 [(ras.encoding.type_url) = "ras.protocol.v1.ConnectMessage"];
  PACKET_TYPE_CONNECT_ACK = 2 [(ras.encoding.type_url) = "ras.protocol.v1.ConnectMessageAck"];
  PACKET_TYPE_DISCONNECT = 4 [(ras.encoding.type_url) = "ras.protocol.v1.DisconnectMessage"];
  reserved 3, 5 to 10;
  reserved "PACKET_TYPE_START_TLS", "PACKET_TYPE_SASL_NEGOTIATE", "PACKET_TYPE_SASL_AUTH", "PACKET_TYPE_SASL_CHALLENGE";
  reserved "PACKET_TYPE_SASL_SUCCESS", "PACKET_TYPE_SASL_FAILURE", "PACKET_TYPE_SASL_ABORT";
  PACKET_TYPE_ENDPOINT_OPEN = 11 [(ras.encoding.type_url) = "ras.protocol.v1.EndpointOpen"];
  PACKET_TYPE_ENDPOINT_OPEN_ACK = 12 [(ras.encoding.type_url) = "ras.protocol.v1.EndpointOpenAck"];
  PACKET_TYPE_ENDPOINT_CLOSE = 13 [(ras.encoding.type_url) = "ras.protocol.v1.EndpointOClose"];
  PACKET_TYPE_ENDPOINT_MESSAGE = 14 [(ras.encoding.type_url) = "ras.protocol.v1.EndpointMessage"];
  PACKET_TYPE_ENDPOINT_FAILURE = 15 [(ras.encoding.type_url) = "ras.protocol.v1.EndpointFailure"];
  PACKET_TYPE_KEEP_ALIVE = 16;

}

Используемые кодеки

  • byte - кодирует/декодирует 1 байт
  • size - кодирует/декодирует размер в формат int32, сложный кодек с последовательным чтение байтов и применением к ним бинарных операций. 
  • bytes - кодирует/считывает массив байтов нужного размера или до окончания сообщения, если размер не задан.

На этом подготовка данных для сериализации закончена и можно приступить к установке соединения с RAS
 

Установка соединения с RAS

Для работы на прямую с RAS необходимо установить соединение по tcp, для каждого языка это свои стандартные пакеты и тут описывать их смысла нет, поэтому я думаю каждый программист в состоянии установить подключение tcp для своего языка. 

После подключения по tcp к RAS, служба ожидает магическое сообщение NegotiateMessage.

Особенности этого сообщения в том, что оно единственное не требует упаковки в сообщение packet

Структура данных NegotiateMessage :

Название

Тип

Порядок
(order)

Кодек
(encode)

Описание

magic 

int32

1

int32

Магическое число, которые всегда равно 475223888

protocol 

int32

2

short

Всегда равно 256

version 

int32

3

short

По идеи это указание версии кодека, но мне известен только значение 256

 

Получившее описание сообщения:

 
NegotiateMessage

message NegotiateMessage {
  option (packet_type) = PACKET_TYPE_NEGOTIATE;
 

  int32 magic = 1 [(ras.encoding.field) = {
    order: 1,
    encoder: "int32",
  }];      // Use only one value `475223888`

  int32 protocol = 2 [(ras.encoding.field) = {
    order: 2,
    encoder: "short",
  }];

  int32 version = 3 [(ras.encoding.field) = {
    order: 3,
    encoder: "short",
  }];

}

Тут появилась специальная опция `packet_type` которая связывает с типом (PacketType)  который будет установлен или прочитан в сообщении `packet`, это поле используется для сериализации в RAS

Используемые кодеки

  • int32 - кодирует/декодирует полученное число в 4 байта в формате BigEndian 
  • short - кодирует/декодирует полученное число в 2 байта в формате BigEndian 

ВАЖНО! Этот сообщение надо сериализовать (кодировать) в байты и записать на прямую в подключение и он не требует чтения ответа от RAS. В случае любой ошибки в этом сообщении RAS просто закрывает соединение. 

Инициализируем подключение отослав сообщение ConnectMessage

Структура данных ConnectMessage:

Название

Тип

Порядок
(order)

Кодек
(encode)

Описание

params 

map<string, Param>

1

map

Передаются параметры подключения на текущий момент известны  "connect.timeout" = 2000

 

Структура данных Param:

Название

Тип

Порядок
(order)

Кодек
(encode)

Описание

type 

ParamType 

1

byte

Тип передаваемого параметра

value

bytes

2

bytes

Сериализованные данные параметра

 

Получившее описание сообщений:

 
ConnectMessage

message ConnectMessage {

  option (packet_type) = PACKET_TYPE_CONNECT;

  // Известные параметры
  // "connect.timeout" = 2000
  map<string, Param> params = 2 [(ras.encoding.field).order = 1];

}

 
Param 
 
ParamType

Тут важно отметить, что передача параметров подключения необязательно.

После отправки данного сообщения необходимо дождаться ответного сообщения от RAS ConnectMessageAck

Структура данных ConnectMessageAck:

Название

Тип

Порядок
(order)

Кодек
(encode)

Описание

params 

map<string, Param>

1

map

Параметры подключения 

 

Получившее описание сообщения:

 
ConnectMessageAck

Собственно на этом первая часть закончена, мы описание подготовку и сообщения необходимые для подключения и начала работы с RAS на прямую

 

Используемые кодеки

  • map - кодирует/декодирует структуру. Если она пустая то обязательно необходимо закодировать размер 0 с помощью кодека `size`

В следующей части

  • Открытие точки обмена (endpoint)
  • Формирование запросов и их типы (GetClustersRequest)
  • Общие описания данных (ClusterInfo)

Материалы, где можно посмотреть и "пощупать" результат

  1. https://github.com/v8platform/protos/extra/encoding/rasbinary - кодер и декодер в формат ras
  2. https://github.com/v8platform/protos/rasapis/ras/protocol - описание сообщений протокола ras
  3. https://github.com/v8platform/protos/example/ras-client - простейший клиент ras разработанный на основе описанного материала
  4. https://github.com/v8platform/protos/example/grpc-server - сервер grpc для клиента ras, с использованием rest-gateway (формирование запросов по http)
  5. Protobuf - используется для генерации кода (общие структуру, клиент и сервер grpc)

Вступайте в нашу телеграмм-группу Инфостарт

ras golang исследование

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

10000 руб.

02.09.2020    267601    1491    421    

1179

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    74754    377    170    

322

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    40012    112    54    

126

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    63115    130    36    

136

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    8668    37    46    

51

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    26331    98    46    

104

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4754    16    1    

20

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2531    6    0    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 3294 25.08.21 13:51 Сейчас в теме
2. Yashazz 4930 25.08.21 14:49 Сейчас в теме
Послушайте опытного человека - не связывайтесь с RAS. Это крайне нестабильно работающий механизм, любит беспричинно останавливаться, а порой падать, увлекая за собой запущенные процессы, которые неосторожно к нему обратились. Иногда вешает менеджер кластера, пару раз, запускаясь, умудрился даже угробить агент сервера и посбивать все настройки портов, до каких дотянулся.
Редкая дрянь.
Yakud3a; v.a.t; user790708; +3 1 Ответить
3. khorevaa 114 25.08.21 14:56 Сейчас в теме
(2) Да мне эти проблемы известны. И они имеют решение. )
Есть заготовка для этого решения
Микросервис который будет контролировать работы ras перезапускать и прочее.
30. user790708 26.08.21 14:19 Сейчас в теме
(3) Это не решение, это костыль. Как и многое в 1с.
kandellaster; Yashazz; v.a.t; +3 Ответить
4. ktb 701 25.08.21 14:59 Сейчас в теме
(2) Опыт использования не подтверждает ваши показания.
MegaKent; Sedaiko; +2 Ответить
5. Yashazz 4930 25.08.21 15:01 Сейчас в теме
(4) Значит, вам просто повезло. Это временно, грабли ещё впереди)))

Это я говорю как человек, в течение полугода пытавшийся добиться от RAS разных релизов, чтобы он хотя бы не падал самопроизвольно и запускался бы, не вешая сервер.
Кончилось тем, что я плюнул и спокойно работаю средствами СОМ-доступа. Функционал тот же, только надёжнее в разы.
6. ktb 701 25.08.21 15:02 Сейчас в теме
(5) Стабильно работает на 4-х клиентах в режиме постоянного мониторинга кластера.
7. khorevaa 114 25.08.21 15:12 Сейчас в теме
(5) у меня 32 сервера и проблемы наблюдаются только на 3-4...
10. Yashazz 4930 26.08.21 11:20 Сейчас в теме
(7) Чтобы заказчик послал вас по известному адресу, предварительно затребовав неустойку, хватит и 1-2 серверов с проблемами.
user790708; +1 Ответить
11. khorevaa 114 26.08.21 11:25 Сейчас в теме
(10) Думается ваш негативный опыт мешает вам найти нужное решение.
К примеру ras - может быть на отдельной виртуальной машине или в docker. И да он не будет ничего вешать тогда...

Да и у всех разные заказчики и разные проблемы.. их надо просто уметь решать, а не убегать от них....
12. Yashazz 4930 26.08.21 12:04 Сейчас в теме
(11) Там не было виртуальных машин. Там был простой сервер, простой парень админ и не менее простой заказчик. И просто тупо глючащая утилита.
Если вы умеете решать такие проблемы, как утилита, вдруг перестающая работать - то респект. Декомпилировать, хекс-редактором поискать, да? Сделать за жопоруких 1С-авторов их работу? Да?

А насчёт "убегать" - знаете, когда вам недовольный руководитель напрямую приказывает "бросить эту херню" и сделать любым способом, чтобы работало, так вы бросите и сделаете. И все громкие слова про убегание от проблемы будут лишь тем, чем были изначально - пустопорожним пафосом. Главное, когда работает и есть результат, и это не адски криво и ресурсоёмко. Запомните на будущее, пригодится в жизни)
13. Sedaiko 603 26.08.21 12:06 Сейчас в теме
(12) Ну заказчик скажет хочу "свободное ПО" и придется RAS юзать, так как COM уже не судьба.
14. Yashazz 4930 26.08.21 12:09 Сейчас в теме
(13) Вот когда скажет, тогда и будем фантазировать. А реальность была именно такова. Несколько разных релизов платформы. Два сервера (а кто ж ещё даст-то, и один с трудом разрешили взять для опытов). И что?

Вот вы говорите, "на 3-4 есть проблемы" - какие проблемы, как решаете? Конкретику в студию, пожалуйста.
39. Yashazz 4930 26.08.21 19:54 Сейчас в теме
(7) так что за проблемы наблюдаются и как решаете?
Думаю, никто из читателей не хочет ведь с ними столкнуться, а если уж доведётся, то хочет знать, как решать? Так ведь?
Раз уж вы предлагаете задействовать инструмент, расскажите.
8. Sedaiko 603 26.08.21 09:53 Сейчас в теме
(2) в CentOS 7(8) через systemd никогда проблем не было.
9. Yashazz 4930 26.08.21 11:17 Сейчас в теме
(8) Мне "хватило" двух серверов с Windows Server 19 Standard, х64
Примерно полгода различных попыток и мучений, итогом которых каждый раз было одно и то же, неработающий и глючащий RAS. При запуске он вешал сервер. А коллеги, полагаю, хорошо знают, что такое боевой сервер СУБД+приложения, который повесился в рабочее время.
Так что - не, не-не-не. Ни в коем случае.
user790708; +1 Ответить
15. Sedaiko 603 26.08.21 12:10 Сейчас в теме
(9) не, у меня с виндовыми серверам малых компаний другая беда - приходит мальчик-эникей или "чей-то сын" и начинает на том-же сервере Hyper-V или контроллер домена поднимать, а тебе потом - "Сделайте чего-нибудь, ваша 1С хреного работает".
ktb; Yashazz; +2 Ответить
16. Yashazz 4930 26.08.21 12:15 Сейчас в теме
Я смотрю, все такие или умные, или везучие... Ну-ка скажите мне, умные везучие коллеги, что бы вы делали, если простейшая команда запуска RAS напрочь вешает сервер? В журнале регистрации винды - ничего. Просто, ррраз - и насмерть.
Ваши предложения, а?
user790708; +1 Ответить
17. Infactum 319 26.08.21 12:20 Сейчас в теме
(16) Посмотреть техжурнал, снять дамп памяти и на v8 баг отправить.
19. Yashazz 4930 26.08.21 12:30 Сейчас в теме
(17) Вы что подразумеваете под "техжурналом"? ТЖ 1С? И как это можно снять дамп памяти, если машина висит и ни на какие действия rdp не реагирует?
22. Infactum 319 26.08.21 12:42 Сейчас в теме
(19) Обычный техжурнал платформы. RAS ничем не отличается от других компонент и ровно так же генерирует логи.
Приложение из userspace вам всю ОС намертво повесить не сможет - это не драйвер какой-то.
Предположим, что вы реально потеряли доступ по RDP. Но физический доступ к машине то куда делся? Зайти под другим юзером и снять дамп.
Организационные нюансы предлагаю опустить. Я в целом описал подход к расследованию подобных проблем.
ZhdanovR; ktb; khorevaa; Sedaiko; +4 1 Ответить
23. Yashazz 4930 26.08.21 12:51 Сейчас в теме
(22) У вас есть конкретика по настройкам ТЖ именно для RAS? Если на сервере множество баз и процессов, общий ТЖ "обо всём" мгновенно сдохнет, поэтому нужен точный тюнинг.

Физический доступ - ехать в другой город? Не смешно. А под другим юзером зайти тоже не получалось, проверено.

Организационные нюансы предлагаю опустить. Я в целом описал подход к расследованию подобных проблем

Нетушки. "В целом" это мы все умные. Посоветовать ТЖ в двух словах я и сам умею. "Подход", ага.
Дьявол - в деталях. И потом, если RAS, обсуждаемый в теме, просто ваще не запускается и гробит сервер, то тут уж любые нюансы важны.
Иначе это рассуждизм, оторванный от грубой практики.
user790708; +1 3 Ответить
63. Cyberhawk 136 05.09.21 10:07 Сейчас в теме
(23)
конкретика по настройкам ТЖ именно для RAS? Если на сервере множество баз и процессов, общий ТЖ "обо всём" мгновенно сдохнет, поэтому нужен точный тюнинг
Запускать RAS от имени выделенного пользователя ОС, в профиль которого подсунуть файл настройки ТЖ (можно и полный). Он будет иметь приоритет над общим файлом настроек ТЖ и поэтому будет применяться только для процесса RAS: https://its.1c.ru/db/v8315doc#bookmark:adm:TI000000362.
Не сработает только если на хосте используется файл настроек ТЖ в bin конкретного релиза платформы (у него наивысший приоритет), но и в этом случае кажется, что на время можно отказаться от такого расположения, заменив его на общую папку conf.
sashocq; Yashazz; +2 Ответить
24. Yashazz 4930 26.08.21 12:54 Сейчас в теме
(17)
v8 баг отправить
А заказчику вы что скажете? Мол, отправили, ждём у моря погоды? Да он разорвёт контракт и прав будет. Ему работать надо, а не ждать, пока 1С почешется багтрекер почитать и тем более оргвыводы сделать.
25. Infactum 319 26.08.21 13:16 Сейчас в теме
(24) Вы только о сиюминутной выгоде думаете? Если вендора не уведомлять о проблемах, которые, судя даже по этой теме, испытывают далеко не все, их скорее всего никогда и не исправят.
Вот как столкнулись, так и собрали детали и отправили баг репорт. Как поступать дальше решаете в зависимости от проекта и договоренностей с заказчиком. Если подходит вариант "не использовать эту фичу и админить через COM" - ваше право и ничего криминального тут не вижу.
JohnyDeath; Xershi; khorevaa; Sedaiko; +4 Ответить
27. Yashazz 4930 26.08.21 13:25 Сейчас в теме
(25) У вас есть конкретика по настройке ТЖ для RAS?
40. Yashazz 4930 27.08.21 13:29 Сейчас в теме
(27) Интересный народ какой нынче. Спросишь конкретику - ответа нету, зато минусуют. Что, где-то в руководствах чётко прописано, как выглядят события RAS, и один я тупой, этого не знаю?

Или все такие на понтах, что отделываются общей фразой "запусти ТЖ", а вдаваться в детали типа ниже достоинства?
44. Yashazz 4930 27.08.21 13:34 Сейчас в теме
(24) Опять же забавно. Есть, выходит, на ИС люди, которым начхать, что заказчик контракт разорвёт и неустойку стребует))) Минусуют такую реплику, стало быть, не согласны))) Ну ничего, ничего. Как в реальности столкнётесь - так вас жизнь живо вразумит мордой об стол))
55. Xershi 1558 28.08.21 00:38 Сейчас в теме
(44) 1с тоже глючит и что тогда?
Всё правильно написали. Если клиент не хочет использовать значит не нужен ему инструмент. Тем более его всегда можно удалить.
Холи вар устроили. Настроек не знаю. Напишите в 1с они пришлют инструкции.
18. Sedaiko 603 26.08.21 12:28 Сейчас в теме
(16)
я в случае винды юзаю сначала этот скрипт:
https://its.1c.ru/db/freshex2#content:331:hdoc
А потом, при изменении платформы меняю путь в реестре. Хотя при последней настройки заюзал mklink
20. Yashazz 4930 26.08.21 12:31 Сейчас в теме
(18) "Спасибо", добрый человек, но не у всех есть полный доступ на ИТС.
21. Sedaiko 603 26.08.21 12:33 Сейчас в теме
(20) обычная ПРОФ подписка, даже не франч
Bukaska; ktb; +2 Ответить
41. пользователь 27.08.21 13:30
Сообщение было скрыто модератором.
...
47. пользователь 27.08.21 14:34
Сообщение было скрыто модератором.
...
49. пользователь 27.08.21 14:35
Сообщение было скрыто модератором.
...
51. ZhdanovR 104 27.08.21 14:40 Сейчас в теме
(49) Причем тут новичок или нет? Если я не размещаю здесь статьи это что-то меняет? Если кто то ворует статью, то и нужно всем так делать? На пиратство Вы всегда можете пожаловаться - это решается всегда быстро.
artbear; ktb; +2 Ответить
52. пользователь 27.08.21 14:42
Сообщение было скрыто модератором.
...
58. Darklight 37 30.08.21 11:28 Сейчас в теме
(16)Что же Вы такой невезучий... (не в обиду будет). Года два юзаю RAS - ни одной проблемы не наблюдаю... но инфраструктура не большая - всего то 8 виндовых серверов 1С на виртуализации. Конечно мой опыт использования RAS мизерный - и да - может просто ещё не до рос до больших проблем...

А что касается надёжности - ну с продуктами 1С увы тут всегда стоило желать лучшего! А RAS - вообще относительно молодая технология...

У COM тоже полно недостатков и своих проблем. И своих костылей - особенно, когда надо работать с серверами разных версий платформы.

А то что службу (или даже просто запустить как приложение) RAS можно вообще вынести на отдельный компьютер, и манипулировать ей отдельно от платформы агента сервера 1С Предприятие - это бесценно.
Как бесценно и то, что можно относительно легко работать через WEB протоколы, в т.ч. с мобильной платформы.
59. Yashazz 4930 30.08.21 13:12 Сейчас в теме
(58)
Что же Вы такой невезучий... (не в обиду будет).
А чёрт его знает. Возможно, пресловутый закон подлости сработал. Причём я ещё, помню, обрадовался, что наконец обернули в язык 1С, можно по-русски писать... А оно вот как (((
26. user1534961 26.08.21 13:19 Сейчас в теме
(25) Сожалею, народ как всегда беспокоится, что костыли для одной убогой старушки снижают качество жизни для всех.. Ничего нового. Просто вам не повезло, что эта старушка - именно ваш клиент.
А повлиять на мотивацию/квалификацию разработчиков, делать/не делать костыли и насколько ухудшится ситуация в целом - вы не в состоянии.
28. Yashazz 4930 26.08.21 13:28 Сейчас в теме
(26) Проблема в том, что я совершенно не уверен в уникальности и единичности старушки. И, думаю, никто не будет уверен.

Поэтому я вижу свою задачу как уведомить коллег о потенциальной проблеме. Рассказать о своём опыте. Предупредить, что возможны грабли. Потому что автор исходной публикации, обсуждая такую серьёзную и критичную для бизнеса тематику, как администрирование многих серверов с помощью одной утилиты, как-то обошёл вниманием надёжность этой утилиты. А она отнюдь не 100% и даже не 90.
29. Infactum 319 26.08.21 13:33 Сейчас в теме
(23) "Физический" доступ - это не всегда значит ехать в другой город. Для таких случаев есть либо местный админ, либо при более серьезном подходе - отдельные устройства для администрирования, зачастую даже с резервным каналом связи.
Про "совсем угробил сервер" я уже выше сказал - уж извините, но опираясь на свои познания ОС, поверить не могу. Тут бессмысленно спорить.
ТЖ по RAS (фильтруем по процессу) можно полный собрать - логи он генерирует не активно. Тем более вам интервал ротации нужен достаточно не большой, раз проблему ловили исключительно при старте.
ZhdanovR; ktb; Sedaiko; khorevaa; +4 Ответить
31. Yashazz 4930 26.08.21 15:18 Сейчас в теме
(29) В случаях, когда "местный админ" совершенно не горит желанием активно помогать - это проблематично.

Полный ТЖ, уж извините, это бред. Это значит просто всё завалить логами. Потому что "ТЖ по RAS" не бывает, ТЖ - он единый, вообще-то. Для фильтра по процессу надо точно знать, как указывать этот фильтр. Я спросил - ответа пока не получил.

Проблема не только в старте. RAS ещё и падает тихо и самопроизвольно. Был - и нету. Ловить такое - нужен период примерно в сутки.
32. khorevaa 114 26.08.21 15:28 Сейчас в теме
(31)
Проблема не только в старте. RAS ещё и падает тихо и самопроизвольно. Был - и нету. Ловить такое - нужен период примерно в сутки.


С падение RAS решается обычным healthcheck... Вообще как бы не проблема...
35. Yashazz 4930 26.08.21 15:52 Сейчас в теме
(32) Подробнее, пожалуйста. Это сервис, который пинает процесс и сообщает, если процесса нет? Или что-то другое?
42. Yashazz 4930 27.08.21 13:31 Сейчас в теме
(32) Автор, эффектно поумничать у вас уже получилось. Теперь давайте конкретно и чётко.

С падение RAS решается обычным healthcheck... Вообще как бы не проблема...

Распишите, как решается. Можно - ссылкой. Можно - прямо тут.
Вы советуете утилиту. Напишите, как контролировать её работоспособность.
33. Infactum 319 26.08.21 15:32 Сейчас в теме
(31) ТЖ можно фильтровать по процессу - все же в документации есть.
<?xml version="1.0"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
    <log location="C:\Logs\" history="6">
        <event>
            <eq property="process" value="ras"/>
        </event>
        <property name="all"/>
    </log>
</config>
Показать
34. Yashazz 4930 26.08.21 15:50 Сейчас в теме
(33) В документации есть, что value должно быть "ras" и условие именно на равенство?
36. Infactum 319 26.08.21 15:57 Сейчас в теме
(34) Вам просто докопаться хочется или что?
В документации прекрасно написано, как работают отборы ТЖ. Выбираете подходящее поле и условие, получаете профит.
Какое поле за что отвечает (в том числе process), там тоже написано. Даже если есть сомнения - это все проверяется за несколько минут локально.
Andreyyy; ovcharenko.di; JohnyDeath; artbear; Sedaiko; ktb; +6 Ответить
37. Yashazz 4930 26.08.21 16:00 Сейчас в теме
(36) Мне надо решить проблему, про которую некоторые утверждают, что "это легкотня", не вдаваясь в подробности.

Укажите, пожалуйста, название книги, а также название раздела (и по возможности, страницу) руководства, где "прекрасно написано" не вообще про ТЖ, а конкретно про RAS.

И заодно объясните, как я могу "проверить локально" работу утилиты, с которой имею дело на чужом сервере через rdp?

Я совершенно серьёзно.
43. Yashazz 4930 27.08.21 13:32 Сейчас в теме
(36) Так что, все поумничали "в общем", а конкретно никто ничего ответить не может? А, господа?
45. Infactum 319 27.08.21 13:46 Сейчас в теме
(43) Я вам рабочий пример ТЖ скинул с фильтром по процессу дал. Никакого иного источника, кроме документации по платформе, для его составления не нужно.

"Проверить локально" подразумевает возможность убедиться, что ТЖ с указанными настройками собирается и корректно фильтруется. Для этого нужен только дистрибутив платформы. Даже лицензии не потребуются.

В остальном, судя по уровню вопросов, вам либо скучно и вы тут в роли троля местного, либо.. как-бы выразится корректнее, у вас проблемы с профессиональными навыками, и не мешало бы по работать над своей квалификацией.
Разжевывать еще сильнее и без того очевидные вещи я вам больше не буду.
Andreyyy; ovcharenko.di; olegtymko; artbear; +4 1 Ответить
46. Yashazz 4930 27.08.21 13:51 Сейчас в теме
(45) Я задал конкретные вопросы - например, про значение поля Value и про вид сравнения в фильтре (всегда ли eq). Вы не смогли на них ответить. Следовательно - проблемы с профессиональными навыками у вас. Советую впредь не встревать в дискуссию, если вы кроме общих слов, которых где-то нахватались, ничего реально дельного сказать не можете.
53. artbear 1589 27.08.21 14:42 Сейчас в теме
(46) Предлагаю уже остановиться и не переключаться на оскорбления и наезды на профессиональные навыки. хейтерство должно идти мимо.

Коллеги пытаются помочь и рассказать, что проблемы можно решать, показали способ, как решать, с небольшими примерами.
Они, вообще-то, не обязаны ничего доказывать, если не обещали этого сделать.
sashocq; ktb; +2 Ответить
54. Yashazz 4930 27.08.21 14:44 Сейчас в теме
(53) Артур, один неточный пример в духе "ну, надо как-то так" - это мало для серьёзного разговора. Вот про стабильность упомянул автор - и никаких подробностей.

То, что любые проблемы можно решать, трюизм)

Я вообще не понимаю, почему в ответ на вопросы по предмету публикации я получил переход на личности. Считаю правильным для модераторов обратить внимание на реплику пользователя Infactum и потребовать извинения за оскорбительную фразу.
38. sdf1979 212 26.08.21 16:22 Сейчас в теме
Копируете каталог платформы в удобное место и из этого каталога запускаете ras. В этом же каталоге в папку conf кладёте logcfg. xml для сбора полного журнала и дампов. Вот и все логирование только по ras. На винде ещё можно настроить сбор wer дампов.
JohnyDeath; CSiER; ktb; Yashazz; +4 Ответить
50. Yashazz 4930 27.08.21 14:38 Сейчас в теме
(38) Дельно, попробую, спасибо.
48. Yashazz 4930 27.08.21 14:34 Сейчас в теме
В общем, я так понял, автор либо не знает, как решать проблемы с RAS, либо не хочет рассказывать.

Это на заметку всем, кто собирается всем предложенным пользоваться. Задумайтесь, нужны ли вам такие грабли.

И заметьте, коллеги, как "слились" все те, кого я спрашивал о конкретике. Ничего ровным счётом, кроме общих слов, сказано не было.

и да, давайте, навешайте сюда минусиков за ваше незнание и неумение внятно и точно ответить за ваши же "общие" голословные утверждения)))
56. user612295_death4321 28.08.21 12:50 Сейчас в теме
Вот читаю весь этот диалог и прямо пугаюсь.

Использую RAS на куче серверов своего локального контура, причем использую очень интенсивно, постоянный опрос сессий / баз / кластеров / рабочих серверов начиная от 8.3.3 заканчивая 8.3.18, в том числе и на высоконагруженных контурах.

Единственный глюк который пока ловил с RAS иногда служба самого RAS'a кладется, тьфу-тьфу-тьфу зависаний самого кластера 1С пока не ловил, эксплуатирую его довольно длительное время.

p.s: Всегда следую правилу, чтоб служба RAS, клиент RAC по версии была идентичной службе кластера 1С, в противном случае действительно наблюдались какие то странные глюки.
57. Yashazz 4930 29.08.21 09:32 Сейчас в теме
(56)
иногда служба самого RAS'a кладется
Вот я и попытался разузнать, поборол ли кто эту проблему, и если да, то как; или хотя бы в чём она состоит. Молчание и хамство были мне ответом...
60. Sloth 402 30.08.21 15:50 Сейчас в теме
У меня вопрос, а зачем вообще эта "нашлепка" в виде RAS, к которому подключаемся клиентом (rac)? Почему нельзя сразу к серверу 1С обращаться за необходимыми данными (как это делает RAS по запросу RAC)?
Может кто-то прокомментирует с точки зрения архитектурной схемы? Какие здесь "подводные камни"?
Почему не сто'ит разбирать/реализовывать в подобном ключе протокол взаимодействия ras <-> 1c server?
61. sdf1979 212 01.09.21 18:31 Сейчас в теме
(60)
Если посмотреть пакеты от ras к кластеру на 1540, то увидим там хеш в base64 зашифрованный RSA и ключик где-то внутри платформы. И судя по тому, что хеш меняется, то там есть временная метка.
62. Sloth 402 01.09.21 23:13 Сейчас в теме
(61) ну, а зачем так? Т.е. это типа защита сервера 1С от возможности его "завалить" левыми запросами? Если уж падать, то пусть падает прослойка в виде RAS?
64. KovAlexey 13.10.22 02:59 Сейчас в теме
Так следующей части и не наступило..
megatrend; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация