Инструменты администрирования и контроля

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

Здоровье и готовность к релизу

/admin/tsync_health — единая панель, проверяющая, что система настроена правильно: модули в согласованном состоянии, цепочки финансов/бухгалтерии связаны, миграции применены, нет ли пробелов в конфигурации. Она запускает те же проверки качества, что и при сборке релиза, но здесь в режиме только чтения, рекомендательно (предупреждения и инфо, никогда не блокирует). Открывайте после обновления или когда что-то кажется не так, чтобы быстро получить ответ «всё ли связано?».

Раздел «Готовность релиза» загружается через несколько секунд после остальной страницы. Так задумано: его подготовка запускает полный набор релизных проверок по всем файлам, и это занимает намного больше времени, чем вся остальная страница вместе взятая. Вместо того чтобы заставлять вас ждать всю страницу, TSync сразу показывает остальное и заполняет этот раздел, когда он готов — пока идёт работа вы видите короткую пометку «выполняется релизный контроль» и заполнитель. Если раздел получить не удалось, система об этом скажет, а не будет крутиться бесконечно.

Файлы, оставшиеся от старых версий

Обновление добавляет и заменяет файлы — но никогда не удаляет. Поэтому файл, убранный из продукта три версии назад, остаётся на вашем сервере навсегда. Им уже ничто не пользуется, но он там.

У этого было неожиданное следствие: эта страница иногда сообщала о проблемах, которых в продукте нет. Так и произошло — предупреждение безопасности указывало на файл, убранный из продукта тремя месяцами ранее. Его искали в коде и в архивах; его не было ни там, ни там. Он был только на том сервере.

Теперь раздел перечисляет файлы, которые есть на вашем сервере и которых не было в поставленном архиве. Оставшийся файл .php показывается как предупреждение, всё остальное — как информация.

TSync ничего не удаляет. Он говорит, что нашёл и где; удаляете вы, на сервере, когда убедитесь. Обновление, которое само удаляет файлы, — именно та операция, которую нельзя отменить.

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

Внешние интеграции — какие ещё отвечают

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

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

Три состояния, и смысл — в третьем:

Состояние Что означает
работает последний вызов ответил
не отвечает последний вызов не удался — число рядом показывает, сколько неудач подряд
не проверялась с этой установки её никто никогда не вызывал

«Не проверялась» — то, что нужно читать внимательно. Если никто не нажимает кнопку, отсутствие сбоев не является доказательством работоспособности — именно так у всех клиентов незаметно пережил смену API уже мёртвый поисковый endpoint. Строка, которая отвечала, но очень давно, тоже помечается.

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

Консоль безопасности

Центр конфигурации → Управление и аудит → Консоль безопасности (а также в меню «Настройки»). Один экран, который собирает то, что сообщают уже существующие механизмы безопасности: анти-скрейпинг, активные блокировки, аутентификация, сессии, права, публичные маршруты, доступ к данным, вызовы инструментов агентами и последние записи аудита.

Она ничего не запрещает. Страница только читает — она не блокирует пользователя, не закрывает сессию и не останавливает запрос. Она показывает, что происходит, чтобы решали вы.

Каждая карточка прямо говорит, что из четырёх верно:

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

Последнее важнее, чем кажется. «0 отклонений CSRF» и «никто не считает отклонения CSRF» выглядят на экране одинаково и означают противоположное — и успокаивающее из них ложное. Две карточки честно помечены не построено: отклонения CSRF и целостность файлов.

Общая картина считает выключено и не построено отдельно, потому что первое — ваше решение, а второе — наше.

Кто её видит: администраторы. Остальным выдаётся право Консоль безопасности → Просмотр.

Доступ в кабинеты

Кто может войти в клиентский портал — один список, поддерживаемый в актуальном виде, с действиями, которые его приводят в порядок. В боковом меню под Клиенты.

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

Три состояния, а не «есть доступ / нет»

  • Активен — контакт активен и имеет пароль. Он действительно может войти.
  • Заблокирован — войти не может, что бы ещё ни было верно.
  • Без пароля — активен, но пароля нет, поэтому войти всё равно не может.

Третье состояние — причина, по которой этот экран существует. «Разрешить доступ» тому, у кого нет пароля, не даёт ничего — поэтому система скажет вам, кому она не помогла, и предложит кнопку, которая действительно решает вопрос: Отправить письмо для установки пароля.

Действия

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

  • Заблокировать доступ — войти снова нельзя, пока вы не разрешите.
  • Разрешить доступ — с предупреждением выше для контактов без пароля.
  • Завершить сеансы — см. ниже.
  • Отправить письмо для установки пароля — только выбранным контактам без пароля.
  • Удалить пароль — контакт остаётся со всей своей историей; просто войти нельзя, пока не задан новый пароль.

«Заблокировать» и «завершить сеансы» — разные вещи

Блокировка останавливает следующий вход. Тот, кто уже вошёл, остаётся внутри, пока не истечёт его сеанс. Завершить сеансы закрывает открытые в этот момент сеансы.

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

На некоторых установках сеансы хранятся так, что этот экран до них не дотягивается. Тогда он прямо об этом скажет, а не заявит, что кого-то отключил, — блокировка при этом работает.

Кто это видит

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

Всё, что делают эти действия, записывается в журнал аудита — кто сделал и на скольких контактах.

Журнал аудита

/admin/tsync_audit — запись только на добавление важных изменений: кто изменил настройку, кто провёл или сторнировал бухгалтерскую проводку, кто запустил восстановление и т. д., со старыми и новыми значениями. Это место, где вы узнаёте «кто это изменил и когда?». Записи никогда не редактируются и не удаляются.

Контроль дизайна

/admin/tsync_design_governance — поддерживает единообразие интерфейса. Он измеряет «дрейф» UI относительно принятого базового уровня (случайные inline-стили, отступы вне шкалы, «сырые» цвета вместо токенов бренда), показывает его по файлам и позволяет администратору задать новый базовый уровень после очистки. Это инструмент сопровождения для единообразия вида — на ваши данные он не влияет.

Безопасность агентов (основа)

/admin/tsync_agent_security — задел для безопасной автоматизации/ИИ. Содержит политику только для чтения, шлюз инструментов с запретом по умолчанию (любое автоматическое действие логируется и должно быть разрешено) и правило, что весь внешний контент — веб-страницы, письма, загруженные файлы, банковские выписки — считается недоверенными данными, а не инструкциями. По умолчанию инертен (автоматические действия не выполняются); он существует, чтобы при включении автоматизации она управлялась с первого дня. См. также Уровень Intelligence.

Качество операционных данных

/admin/tsync_data_quality — что продукт знает о состоянии ваших собственных данных: способы оплаты, за которыми нет финансового счёта, метрика, переставшая обновляться, записи, противоречащие друг другу. Каждая находка несёт важность — критично, предупреждение или информация — и относится к одному из четырёх компонентов: Целостность данных (DIS), Операционная согласованность (OCS), Надёжность источника (SRI) и Отсутствующие данные (MDI).

Страница теперь на вашем языке, включая важность. До v11.2.1 важность печаталась «сырой», по-английски, внутри цветной плашки, которую вы читаете одним взглядом, — а это ровно то место, где переводить некогда. Названия компонентов теперь идут первыми, а сокращение остаётся в скобках: аббревиатура что-то говорит только тому, кто и так знает.

Находка отсюда часто оказывается причиной симптома, который вы ищете в другом месте. «Способы оплаты без финансового счёта» — это, например, причина, по которой платежи не двигают казначейство.

Инспектор событий

/admin/tsync_event_inspector — журнал межмодульных событий: что было поднято, когда, с какими данными и какие слушатели ответили. Используйте его, когда автоматизация не сработала и нужно понять, случилось ли событие вообще.

Повторный запуск события теперь требует настоящего подтверждения и выполняется через POST. Повтор заново поднимает событие на шине и запускает всех его слушателей — он может создавать записи, отправлять сообщения и проводить проводки. До v11.2.0 это была обычная ссылка, поэтому любая страница, случайно открытая администратором, могла запустить повтор под его сеансом — без клика и без чего-либо на экране. Подтверждение теперь говорит, что произойдёт, а не спрашивает «вы уверены».

Очередь неудавшихся заданий

/admin/tsync_dead_jobs — фоновые задания, сдавшиеся после последней попытки. Эту страницу открывают, когда что-то перестало происходить в фоне.

Два действия, и их подтверждения теперь говорят, что делает каждое: вернуть в очередь («они снова встанут в очередь и выполнятся при следующем проходе cron») и удалить навсегда («они будут удалены безвозвратно, отменить нельзя»). Счётчик пишет неудавшихся заданий: 1, а не форму множественного числа, верную только по-английски.

Эти консоли — на вашем языке

Здоровье модулей, Инспектор событий, Качество операционных данных, Безопасность агентов и очередь неудавшихся заданий поставлялись на английском в продукте, в котором в остальном работают по-румынски и по-русски. Теперь они переведены, включая слова состояния: green / amber / red выводились как есть, и страница требовала от оператора знать, что «amber» значит «требует внимания», — название цвета, по-английски, среди в остальном переведённых подписей.

Эти консоли — для владельцев/администраторов. Кто может открыть каждую, определяется правами; в режиме хаба к ним переходят из Центра конфигурации.