Open Source SRE-пакет для (мега) кластеров серверов 1С на Linux

03.09.26

База данных - Администрирование СУБД

Пакетный запуск Конфигуратора 1С на Linux таит опасную ловушку: при критических ошибках утилита DESIGNER завершается с кодом возврата 0 - «всё хорошо». Дефект уходит на продуктив. Мы открываем проект 1C:SRE-Suite - набор проверенных инструментов для надёжной эксплуатации 1С на Linux: • пятислойный сборочный скрипт с защитой от False Success (BOM, кодировки, lock-файлы, diff с Git) • Мягкая ротация процессов "rphost" через RAS API без обрыва сеансов • EDT ; Конфигуратор: CLI-мост для CI/CD на Node.js • Готовые конфиги logcfg.xml и nethasp.ini для боевого сервера • systemd-шаблоны для фонового мониторинга кластера Проект в активной разработке, лицензия MIT. Ждём ваших тест-репортов и PR.

1C:SRE-Suite: переводим управление инфраструктурой 1С на Linux в декларативный формат. Приглашаем в Open Source проект

Декларативный подход Infrastructure as Code (IaC), превентивный Self-Healing, 5 рубежей обороны от False Success и старт разработки автономных ИИ-агентов для экосистемы «1С:Предприятие 8».

Публичный релиз стека инструментов: автоматизация сборки EDT V44; Конфигуратор, мягкая ротация rphost, безопасный logcfg.xml и запуск ИИ-дежурного на базе MCP

Сопровождение крупномасштабных систем на платформе «1С:Предприятие» в Linux-окружении традиционно страдает от реактивного подхода и ручного вмешательства. Администрирование через графические утилиты и проведение обновлений во внерабочее время приводят к неизбежному дрейфу конфигураций на серверах одного кластера. В результате среднее время локализации сбоев (MTTR) растет, делая недостижимой плановую доступность систем на уровне 99,9%.

Математика доступности (SLA 99,9%): При целевой доступности «три девятки» годовой бюджет ошибок (Error Budget) жестко лимитирует суммарный незапланированный простой информационной базы величиной не более 525 минут в год. Любой затянувшийся ручной траблшутинг или аварийное падение рабочего процесса rphost мгновенно сжигает квартальный запас надежности сервиса.

Для стабилизации показателей надежности необходим переход к концепции Infrastructure as Code (IaC), когда все настройки, сборочные скрипты и параметры сред описываются декларативно и хранятся в системе контроля версий.

С этой целью мы запустили открытый проект 1C:SRE-Suite (DevOps & Stability Enterprise Suite for 1C on Linux). Мы выложили в публичный доступ проверенный набор инструментов, призванный заменить интуитивную настройку строгими воспроизводимыми регламентами. Исходный код проекта доступен на GitHub: NickScherbakov/1c-sre-suite.

📂 Архитектурное наполнение SRE-пакета

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

Структура репозитория — NickScherbakov/1c-sre-suiteTree
1c-sre-suite/
|-- scripts/
|   |-- 1c-ci-linux-build-v4.sh          # Детерминированный сборочный конвейер с 5 рубежами защиты
|   \-- edt-to-configurator.js           # CLI-мост трансляции проектов EDT ↔ бинарный .cfe / .cf
|-- orchestrator/
|   |-- admincluster_run.sh              # Внешний менеджер мягкой ротации rphost через RAS API
|   |-- admincluster-monitor@.service    # systemd unit фоновой оркестрации
|   \-- admincluster-monitor@.timer      # Регламентные триггеры выявления процессов-перестарков
|-- config/
|   |-- logcfg.xml                       # Оптимизированный профиль ТЖ без деградации диска
|   \-- nethasp.ini                      # Конфигурация HASP без broadcast-задержек в сети
\-- docker/
    \-- Dockerfile                       # Headless-образ сборочного раннера (Ubuntu + Xvfb + Fonts)

1. Гарантированный синтаксический контроль: scripts/1c-ci-linux-build-v4.sh

Пакетный запуск Конфигуратора 1С на Linux имеет крайне опасную особенность: при возникновении критических ошибок или проблем с сетевыми лицензиями утилита DESIGNER способна завершить выполнение с успешным кодом возврата операционной системы 0. Механизм динамической компиляции скрывает дефекты вплоть до выполнения кода реальными пользователями.

Наш сборочный скрипт исключает попадание дефектного кода в рабочую среду с помощью пяти оборонительных слоев:

Рубеж защиты Скрытая угроза в Linux Инженерное решение SRE-Suite
Слой 1: Нормализация логов и BOM Платформа пишет лог в UTF-16LE или UTF-8 с BOM. Стандартный grep в Linux UTF-8 окружении пропускает строки ошибок. Определение MIME-кодировки утилитой file, конвертация через iconv в UTF-8 и удаление байтов BOM: sed -i '1s/^\xEF\xBB\xBF//'.
Слой 2: Проверка целостности отчета «Тихое» падение ядра платформы на старте создает пустой файл отчета, который парсеры трактуют как «ошибок нет». Физическая проверка заполнения лога [[ -s "$LOG_FILE" ]] перед парсингом. Пустой лог немедленно валит пайплайн.
Слой 3: Мультиязычный POSIX-парсер В зависимости от локали контейнера сообщения выводятся на русском или английском (Error, Undefined, Expected). Универсальный расширенный regex-шаблон, охватывающий терминологию ошибок компилятора обеих локалей платформы.
Слой 4: Изоляция процессов и lock-файлов Предыдущий прерванный запуск оставляет брошенные файлы блокировок (*.1cLck, 1Cv8.lk), блокируя последующие сборки. Генерация уникального RUN_ID, проверка активных процессов через pgrep и автоматическая зачистка зависших lock-файлов.
Слой 5: Сверка метаданных с Git Синтаксический контроль пройден, но структура метаданных в собранной БД отличается от исходников в коммите. Обратная выгрузка метаданных из СУБД (/DumpConfigToFiles) и побайтовое сравнение diff -r с каталогом Git.

2. Бесшовный импорт проектов: scripts/edt-to-configurator.js

Современная среда разработки 1C:Enterprise Development Tools (EDT) оперирует структурированным деревом XML-файлов и модулей Eclipse, тогда как боевой сервер исполняет исключительно скомпилированные бинарные контейнеры конфигураций (.cf) и расширений (.cfe).

При попытке автоматизировать трансляцию инженеры упираются в ограничения встроенных инструментов: утилита ring только транслирует схему метаданных, а автономный сервер ibcmd требует физического развертывания локальной базы данных.

Решение SRE-Suite: Утилита edt-to-configurator.js на базе Node.js берет эту двухэтапную рутину на себя: парсит проект, вычисляет совместимые версии EDT и платформы в системе, инициализирует временную базу данных на быстром диске, импортирует метаданные и отдает готовый бинарный артефакт в CI/CD пайплайн.

3. Превентивная ротация и Self-Healing: папка orchestrator

Утечки оперативной памяти в рабочих процессах rphost на Linux обусловлены их нативной природой (скомпилированные бинарные сборки C++). В среде Linux ядро рассчитывает общий объем потребляемой памяти процесса как сумму физических резидентных страниц (vmRSS) и вытесненного дискового свопа (vmSwap). Игнорирование Swap в мониторинге создает иллюзию «освобождения» памяти, пока система не уходит в глубокий I/O-ступор.

На лицензиях уровня ПРОФ встроенные механизмы ограничения памяти платформы игнорируются, а жесткий лимит cgroups в Docker приводит к мгновенному обрыву сотен сеансов по SIGKILL от OOM-killer.

Концепция внешней оркестрации «Перестарков»

Наш оркестратор на базе RAS API непрерывно анализирует состояние кластера и выявляет процессы-«перестарки»:

  • Время жизни процесса превысило регламентный лимит (например, более 24 часов непрерывной работы);
  • Количество активных соединений пользователей опустилось до нуля: Connections == 0;
  • Процесс плавно выводится из эксплуатации и перезапускается без обрыва активных транзакций и сеансов пользователей.

Модуль укомплектован production-ready шаблонами служб admincluster-monitor@.service и периодическими таймерами admincluster-monitor@.timer для демона systemd.

4. Безопасные настройки среды: папка config

В состав пакета включены выверенные конфигурационные файлы, исключающие деградацию продуктивных серверов:

Компонент Назначение артефакта Инженерный эффект
config/logcfg.xml Профиль технологического журнала для точечной фиксации аномалий. Фиксирует события CALL/SCALL от 100 МБ памяти, запросы к СУБД DBPOSTGRS свыше 50 МБ или более 5 секунд, и системные исключения EXCP. Защищает диск от переполнения гигабайтами логов.
config/nethasp.ini Точная сетевая маршрутизация к HASP License Manager. Прямое указание IP-адреса сервера лицензий (порт UDP 475) и полное отключение широковещательного broadcast-поиска (NH_USE_BROADCAST = Disabled), устраняющее сетевые таймауты при старте сессий.
docker/Dockerfile Базовый образ сборочного агента на Ubuntu 22.04 LTS. Преднастроенные локали ru_RU.UTF-8, системные шрифты MS Core Fonts, виртуальный фреймбуфер Xvfb и запуск под непривилегированным пользователем для безопасной headless-компиляции.

🤖 Наш главный вектор: разработка автономных ИИ-SRE агентов

Автоматизация сборок и ротация процессов по жестким статическим правилам — это лишь первая фаза развития проекта. Мы официально объявляем о начале проектирования и разработки специализированных ИИ-агентских систем для обслуживания инфраструктуры 1С.

В рамках проекта 1C:SRE-Suite мы приступаем к созданию интеллектуальных агентов нового поколения:

  • Интеграция по стандарту MCP (Model Context Protocol): Мы разрабатываем собственный MCP-сервер для 1С, который позволит большим языковым моделям безопасно и напрямую взаимодействовать со структурой метаданных, конфигурационными файлами, кластером серверов и журналом регистрации.
  • Интеллектуальный дежурный инженер (AI On-Call): ИИ-агент подключается к контуру мониторинга, в реальном времени считывает и кластеризует аномалии в технологическом журнале, автоматически сопоставляя пики потребления памяти в процессах rphost с конкретными вызовами и строками кода на BSL.
  • Self-Healing на уровне прикладного кода: Обнаружив утечку памяти, мутабельную коллекцию в кэшируемом модуле или неоптимальную транзакцию, агент самостоятельно генерирует патч исправления кода BSL и создает Pull Request в репозиторий проекта с детальным отчетом.
Мы планируем сделать эти ИИ-инструменты доступными для всего сообщества. Участие в проекте — это реальная возможность встать у истоков технологий AIOps в мире «1С:Предприятия».

🤝 Как принять участие в проекте?

Мы стремимся объединить практическую экспертизу архитекторов, разработчиков и SRE/DevOps-инженеров, чтобы создать признанный открытый отраслевой стандарт надежной эксплуатации 1С на Linux.

Приоритетные направления для совместной работы прямо сейчас:

Направление Задачи и технологический стек
Разработка ИИ-компонентов Проектирование навыков для ИИ-агентов (Agent Skills), реализация MCP-инструментов для анализа логов и BSL-кода.
Инфраструктурные плейбуки Разработка сценариев Ansible для автоматической сборки отказоустойчивых кластеров PostgreSQL под управлением Patroni, etcd и vip-manager.
Расширение CI/CD-контуров Адаптация и тестирование пайплайнов под GitHub Actions, GitLab CI, Jenkins и TeamCity.
Автоматизация тестирования Интеграция headless-прогонов сценарных тестов через Vanessa-Automation и модульных тестов YAxUnit в Docker-раннерах.

Проект поставляется под открытой коммерческой лицензией MIT: вы можете свободно использовать его, дорабатывать и внедрять в инфраструктуру своего бизнеса.

Перейти в репозиторий NickScherbakov/1c-sre-suite на GitHub →

Присоединяйтесь к проекту, тестируйте на своих стендах, делитесь идеями в Issue и присылайте Pull Request'ы!


Материал подготовлен для сообщества DevOps-инженеров, системных администраторов и архитекторов «1С:Предприятия».

Нинель и Николай Щербаковы — декларативная инфраструктура, SRE и интеллектуальная автоматизация экосистемы 1С на Linux.

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

AiOps Linux CI/CD SRE DevOps GitLab CI rphost Docker

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

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

См. также

DevOps и автоматизация разработки Тестирование QA Групповая разработка (Git, хранилище) Программист 1С:Предприятие 8 Бесплатно (free)

Четыре года в интеграторе я работал с git и EDT. Git после хранилища полюбил сразу: видно, кто и что менял. С EDT сложнее: тормозит, ошибки при обновлении ERP, автономный сервер внутри него работает только с файловой базой. На новой работе команда захотела перейти на git, я развернул EDT, и оно на второй день разрушило проект при загрузке расширения. Тогда я решил дать команде git с привычным Конфигуратором и инструмент, который за минуту доносит коммит до базы через ibcmd, вместо получасовой загрузки из файлов. На новой работе разрешили ИИ, и я написал это приложение с его помощью: от чтения документации и первого ТЗ до идей в электричке. Впервые за годы снова почувствовал себя творцом, а не закрывателем задач. По дороге приросли выгрузка, объединение и проверка конфигурации по коммитам, YAxUnit и режим MCP-сервера. В статье: схемы, скриншоты, грабли и честный список ограничений. Ссылки пока нет: хочу понять, нужно ли это кому-то, кроме меня.

03.09.2026    9126    KatanaDragon511    28    

35

Администрирование СУБД Системный администратор Программист Бесплатно (free)

5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.

11.08.2026    2271    jul.dolganova    9    

23

Групповая разработка (Git, хранилище) EDT Программист 1С:Предприятие 8 Россия Бесплатно (free)

Синхронизируйте свой проект EDT с хранилищем конфигурации так же легко, как в git клиенте. По кнопке Pull в проект EDT подтягиваются изменения из хранилища, по кнопке Push ваш коммит из git репозитория проекта EDT улетает в хранилище конфигурации.

09.07.2026    6383    DmitryShehovtsev    14    

26

Администрирование СУБД Системный администратор Программист Бесплатно (free)

Статья рассказывает об опыте перевода больших баз с MSSQL на Postgres и годовой эксплуатации после перехода. Показано, с какими ограничениями утилиты ibcmd можно столкнуться при миграции больших баз и какие подходы помогают безопасно обходить эти проблемы. Приведены наиболее интересные кейсы, выявленные в эксплуатации: особенности настроек Postgres, поведение оптимизатора, тонкости работы логики и статистики, а также редкие, но критичные ситуации с производительностью. Материал будет полезен тем, кто планирует переход на Postgres и хочет заранее понимать реальные риски, подводные камни и проверенные практики их преодоления.

20.04.2026    9517    berserg    12    

27

Архивирование (backup) Групповая разработка (Git, хранилище) Системный администратор Программист Бесплатно (free)

Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).

15.12.2025    13163    nasonkin    19    

31

Администрирование СУБД Программист 1С:Предприятие 8 Россия Бесплатно (free)

Ошибка реструктуризации: "Запись не найдена в менеджере имен баз данных". Диагностика и решение проблемы.

22.08.2025    5176    a13k55    1    

19

EDT Групповая разработка (Git, хранилище) Программист 1С:Предприятие 8 Бесплатно (free)

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

04.08.2025    17466    ZigRinat85    54    

54

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Абонемент ($m)

Позволяет проектировать и выполнять сценарии, состоящие из команд 1С, Git и CMD, а также решать конфликты слияния напрямую из 1С с помощью KDiff3. Предустановлен набор команд для автоматизации сборки CFE-файлов.

1 стартмани

29.07.2025    6094    9    gorsheninsn    6    

29
Для отправки сообщения требуется регистрация/авторизация