Как рассчитать процент доступности (SLA) системы 1С?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Определение процента доступности информационной системы — это критически важная задача для оценки эффективности работы IT-отдела и стабильности бизнеса. Когда руководство ставит задачу измерить доступность 1С (например, в интервале с 9:00 до 21:00, включая субботу), нам необходимо не просто фиксировать факт работы сервера, а понимать, может ли конечный пользователь полноценно выполнять свои функции. В этой статье мы подробно разберем различные методы мониторинга: от простых самописных скриптов до профессиональных инструментов анализа.

Определение критериев доступности (SLA)

Прежде чем приступать к технической реализации, проанализируем саму постановку задачи. Что именно мы считаем «доступностью»? Разберем три основных состояния системы:

  1. Система доступна: Пользователь может успешно авторизоваться, открыть необходимые формы и провести документы в рамках нормативного времени.
  2. Частичная доступность: База открывается, но определенные критические сервисы (например, интеграция с маркировкой, обмен с банком или веб-сервисы) не функционируют.
  3. Система недоступна: Возникают ошибки СУБД, ошибки связи с сервером 1С («Сеанс отсутствует или завершен») или блокировка новых подключений.

Для корректного отчета нам нужно заранее согласовать с бизнес-заказчиком, входят ли в расчет «технологические окна» (время на обновление конфигурации или обслуживание сервера). Обычно формула расчета SLA выглядит так: (Плановое время - Время простоя) / Плановое время * 100%.

Вариант 1. Использование конфигурации «Центр контроля качества» (ЦКК)

Рассмотрим наиболее профессиональный и рекомендуемый фирмой «1С» способ — использование специализированного инструмента 1С:Центр контроля качества (входит в состав КИП). Проанализируем, как работает эта контрольная процедура.

Система ЦКК позволяет оперативно обнаруживать проблемы с подключением. Каждые 10–30 секунд она пытается установить соединение с целевой базой данных. Разберем два основных механизма проверки:

  1. COM-коннектор: ЦКК создает внешнее соединение с базой. Если соединение успешно установлено — система считается доступной.
  2. Веб-сервис: Если база опубликована, ЦКК обращается к специально созданному веб-сервису. Это позволяет проверить не только работу сервера приложений, но и корректность работы веб-сервера (Apache/IIS).

Преимущество этого метода в том, что вся статистика собирается автоматически, и вы можете построить отчет о доступности за любой период (месяц, квартал) нажатием одной кнопки.

Вариант 2. Создание регламентного задания (простой метод)

Если бюджет на внедрение ЦКК отсутствует, рассмотрим более простой вариант, предложенный участниками форума. Выясним, как реализовать механизм записи «пульса» системы внутри самой базы. Суть метода заключается в создании регламентного задания, которое работает по расписанию (например, раз в минуту) и фиксирует текущее время.

Посмотрим на пример логики работы такого задания:


Процедура ФиксироватьДоступность() Экспорт
    НоваяЗапись = РегистрыСведений.ЛогДоступности.СоздатьМенеджерЗаписи();
    НоваяЗапись.Период = ТекущаяДата();
    НоваяЗапись.Состояние = Перечисления.СостоянияСистемы.Доступна;
    НоваяЗапись.Записать();
КонецПроцедуры

Проанализируем этот подход. Если в течение рабочего дня в журнале регистрации или в специальном регистре отсутствуют записи за определенные минуты, мы можем сделать вывод, что система была недоступна (например, из-за зависания рабочих процессов rphost или остановки службы rmngr). Однако помните, что этот метод не покажет проблему, если база «висит» только у пользователей, а регламентные задания при этом продолжают выполняться в фоне.

Вариант 3. Использование внешних систем мониторинга (Zabbix, Prometheus)

Для системного администратора более надежным будет использование внешних инструментов. Разберем, как настроить проверку «снаружи» 1С. Мы можем использовать Zabbix или Prometheus для опроса ключевых показателей:

Вариант 4. Анализ технологического журнала и RAS/RAC

Рассмотрим подробнее инструменты администрирования платформы. Утилита RAC (Remote Administration Console) позволяет получать данные о состоянии кластера без захода в саму 1С. С ее помощью можно собирать статистику о количестве активных сеансов и заблокированных соединений.

Также проанализируем роль Технологического журнала (ТЖ). В нем фиксируются события EXCP (исключительные ситуации) и PROC (запуск и остановка процессов). Если мы видим в логах массовые ошибки Connection reset или аварийные завершения rphost, эти интервалы времени должны быть автоматически вычтены из времени доступности системы.

Вариант 5. Оценка производительности (APDEX)

Выясним причину, по которой система может считаться недоступной, даже если она открыта. Это крайне низкая производительность. В 1С существует встроенный механизм «Оценка производительности». Если ключевые операции (например, «Проведение заказа») выполняются в 10 раз дольше норматива, пользователи фактически не могут работать.

Рекомендуем настроить сбор показателей APDEX. Если индекс падает ниже установленного порога (например, 0.5), это можно интерпретировать как состояние частичной недоступности, что также должно отражаться в отчетах для руководства.

Методика расчета итогового процента

Разберем по шагам, как подготовить финальный отчет:

  1. Сбор данных: Объединяем логи регламентных заданий, данные из Zabbix и записи о технологических окнах.
  2. Фильтрация: Исключаем время вне графика (до 9-00 и после 21-00, а также воскресенья).
  3. Классификация: Разделяем простои на «вину 1С» (падение сервера) и «внешние причины» (отсутствие электричества в офисе, падение интернета).
  4. Расчет: Применяем формулу SLA. Например, если в месяце 300 рабочих часов, а база суммарно не работала 3 часа, доступность составит (300 - 3) / 300 * 100 = 99%.

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

← На главную