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

Ping подтверждает доступность узла по сети. Он ничего не говорит о состоянии кластера 1С, СУБД, ОС и внешних сервисов. На это ограничение указывает разбор инцидентов 1С от Infostart.

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

Ваша задача — не вернуть систему в строй ещё один раз. Нужно понять, где начался сбой, доказать причину владельцу системы и изменить условие его повторения.

Чем расследование отличается от устранения симптома

Перезапуск rphost восстанавливает работу процесса. Но сам по себе он не объясняет, почему процесс завершился и повторится ли авария.

Root Cause Analysis, или RCA, ищет условие, без которого происшествие не случилось бы. В методическом руководстве OneUptime готовое расследование отвечает на три вопроса:

Последний вопрос отделяет расследование от обычной диагностики. Если итог сводится к «перезапустили службу», причина осталась в системе.

Не смешивайте корневую причину с сопутствующим фактором. OneUptime называет сопутствующим условие, которое усилило происшествие или повысило его вероятность, но не запустило основную цепочку.

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

Сначала сохраните хронологию

До изменения настроек зафиксируйте состояние системы. Иначе вы сами измените часть свидетельств, по которым предстоит восстановить ход происшествия.

Запишите время первого обращения пользователя и время восстановления. Уточните, какие сеансы, базы и операции пострадали. Отдельно отметьте действия администратора после обращения.

Затем соберите события компонентов в одну временную линию. SimpleOne относит логи, метрики и хронологию к данным, на которых должны строиться выводы RCA.

Для 1С понадобятся сведения из нескольких мест. Стороннее руководство 1C Expert описывает их так:

Снимайте показания с часов каждого узла. Если время сервера СУБД отстаёт от сервера 1С, события могут поменяться местами и дать ложную причинную цепочку.

НаблюдениеГде подтвердитьЧто оно доказываетЧего пока не доказывает
Закрылся один клиентЖурнал ОС клиента, журнал базы, время обращенияСбой затронул конкретный сеанс или рабочее местоЧто сервер 1С работал без ошибок
Оборвались несколько сеансовЖурнал кластера, обращения пользователей, состояние процессовГраница сбоя шире одного клиентаЧто причиной стал кластер
Завершился rphost.exeЖурнал событий Windows и журнал кластераРабочий процесс завершился аварийноПочему он завершился
Операция ждала блокировкуЖурнал базы, пользователь и сеанс блокировкиОжидание связано с конкретной транзакциейЧто блокировка стала корневой причиной всего инцидента
Остановился внешний обменЖурналы интеграции, ОС и сетевого узлаНарушился определённый участок обменаЧто ошибка находится внутри 1С

Один сигнал задаёт направление проверки. Корневую причину он ещё не доказывает.

Если клиенты закрылись без сообщения, сначала отделите одиночный вылет от общего отказа. Масштаб происшествия сократит число рабочих гипотез.

Не включайте подробную регистрацию всех событий бессрочно. Руководство 1C Expert предупреждает о нагрузке на сервер и быстром росте занятого места при таком режиме.

Проведите границу сбоя

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

После этого пройдите путь запроса: клиент, кластер 1С, СУБД, ОС, сеть, внешний сервис. Разбор Infostart подчёркивает, что причина может находиться на любом связанном слое.

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

Если не открывается только одна база, общий отказ сети тоже выглядит слабой версией. Ищите отличие этой базы: СУБД, фоновые задания, расширения или интеграции.

Граница сбояРабочая гипотезаПроверяемое свидетельствоСледующий шаг
Один клиентОшибка клиентского процесса или рабочего местаСобытие ОС совпало со временем вылета, остальные сеансы продолжили работуПроверить клиент и повторить ту же операцию с другого места
Несколько сеансов одного процессаАвария rphostВ Windows записано завершение процесса, журнал кластера показывает потерянные сеансыСопоставить событие с ресурсами ОС и действиями пользователей
Одна базаБлокировка, регламентное задание или ошибка на стороне СУБДСобытия относятся к одной информационной базеПроверить транзакции, обслуживание СУБД и задания этой базы
Все базы сервераСбой кластера, ОС или общего ресурсаОдновременно пострадали независимые базыПроверить процессы сервера, память, диск и общие службы
Только внешний обменОшибка связности или стороннего сервисаПользователи работают, но API, HTTP-сервис или очередь недоступныПроверить маршрут, порт, протокол и журнал второй стороны
Виртуальные серверы на одном хостеНехватка ресурса за пределами гостевой ОСПроблемы совпали по времени у нескольких виртуальных машинСопоставить события гостевых ОС с показателями гипервизора

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

При общей медленной работе используйте разделение задержки по сеансу, базе и серверу. Для виртуальной среды продолжите проверку за пределами гостевой ОС.

Записывайте гипотезы так, чтобы их можно было опровергнуть

Фраза «наверное, кончилась память» плохо подходит для расследования. Она не задаёт признак, который подтвердит или отвергнет версию.

Рабочая гипотеза выглядит иначе: «rphost завершился из-за ограничения ресурса ОС; перед аварией ресурс достиг предела». Теперь понятно, какие данные искать и с чем сопоставлять время события.

Для каждой версии нужны три совпадения:

  1. Она объясняет наблюдаемый симптом и его масштаб.
  2. Временная линия подтверждает нужную последовательность событий.
  3. После целевого исправления проверяемый признак исчезает.

Первые два совпадения доказывают связь с происшествием. Третье проверяет, что вы изменили причину, а не замаскировали её.

Не останавливайтесь на первой правдоподобной версии. SimpleOne относит поспешный вывод без достаточных доказательств к типовым ошибкам RCA.

Не заканчивайте расследование формулировкой «ошибся оператор». Она называет участника, но не объясняет, почему система приняла опасное действие и не остановила его.

Ищите недостающий контроль, неясный порядок или техническое ограничение. SimpleOne рекомендует исследовать систему и процессы, а не искать виновного сотрудника.

Пример: Too many open files

Сообщение Too many open files означает, что процесс исчерпал доступные файловые дескрипторы. Такой пример приводит Infostart в разборе инцидентов 1С на Linux.

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

В статье Infostart корневое условие связано с настройками Linux по умолчанию. Под промышленной нагрузкой сервер 1С может упереться в лимит открытых файлов.

Цепочка расследования может выглядеть так:

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

Лимит меняют через ulimit либо конфигурацию systemd. Способ зависит от того, как запускается служба, поэтому проверяйте итоговое значение у работающего процесса.

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

«Пять почему» не требует ровно пяти ответов

Метод «пять почему» помогает пройти от события к условию, которое его породило. OneUptime уточняет: итераций может потребоваться меньше или больше пяти.

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

Для Too many open files цепочка может закончиться на отсутствии проверки лимитов при вводе сервера. Дополнительные вопросы после этого уже уйдут в общие рассуждения.

Если версии расходятся, линейной цепочки мало. Диаграмма Исикавы группирует параллельные факторы, а дерево отказов связывает события операторами «И» и «ИЛИ».

Эти методы полезны при сложном отказе нескольких компонентов. Для одного подтверждённого ограничения ОС схема на полстраницы только затруднит отчёт.

Отделите причину от условий, которые усилили сбой

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

Предположим, процесс завершился при вечернем обмене. Одновременно выросла нагрузка, накопилась устаревшая статистика СУБД и сработало ограничение ОС.

Корневой причиной станет условие, устранение которого предотвратило бы происшествие. Так определяет её руководство OneUptime.

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

Разделение влияет и на приоритет работ. Сначала устраните условие повторения, затем снижайте тяжесть и вероятность сопутствующих сценариев.

Исправление должно менять условие повторения

Мера следует из доказанного факта. При лимите файлов меняют лимит службы; при устаревшей статистике восстанавливают обслуживание СУБД.

Для ошибки связности исправляют маршрут, порт или протокол на найденном участке. При конфликте расширения меняют порядок эксплуатации копии либо само расширение.

Формулировка «усилить мониторинг» слишком широкая. Запишите конкретный признак, порог реакции, канал уведомления и владельца.

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

МераКакой факт её обосновываетКак проверить результатКто отвечаетСрок контроля
Изменить лимит открытых файлов службыПроцесс достиг действующего ограничения перед авариейПроверить лимит работающего процесса и его запас под нагрузкойАдминистратор LinuxПосле перезапуска и в следующий рабочий пик
Восстановить обслуживание статистики СУБДОжидания запросов совпали с устаревшей статистикойСопоставить обслуживание, планы запросов и повтор проблемной операцииАдминистратор СУБДПосле обслуживания и по расписанию
Исправить сетевую связностьОшибка обмена совпала с недоступностью нужного портаПовторить обмен и проверить журнал обеих сторонСетевой администраторСразу после изменения и после плановой смены правил
Изменить эксплуатацию расширенияСбой воспроизводится только при подключении копии или сложном отчётеПовторить сценарий без конфликтаАдминистратор 1СДо следующего запуска операции
Добавить наблюдение за доказанным признакомДо аварии ресурс достиг предела без уведомленияВызвать тестовое событие и проверить доставку сигналаВладелец мониторингаПри настройке и по регламенту

Расследование заканчивается проверяемым изменением. Сам отчёт не уменьшает вероятность нового сбоя.

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

Как оформить результат для следующего администратора

Отчёт должен пережить передачу системы. Через полгода его прочитает человек, который не участвовал в созвонах и не знает ваших сокращений.

Уложите вывод на один экран:

Что произошло → где началось → чем доказано → почему защита не сработала → что меняем → как проверим.

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

Приложите временную линию и ссылки на сохранённые журналы. Отдельно перечислите отброшенные версии и факты, которые им противоречат.

Так следующий специалист не начнёт расследование с нуля. Он увидит, что уже проверили, какое условие изменили и когда нужно оценить результат.

Когда инцидент можно закрыть

Работающая после перезапуска 1С ещё не означает, что расследование закончено. Перед закрытием проверьте пять условий:

Если один пункт отсутствует, оставьте расследование открытым. Иначе следующий сбой снова начнётся с ping и перезапуска.

root cause analysis диагностика 1с журналы 1с мониторинг сервер 1с