ProjectDB Service Manager: как читать статус и журналы

3 мин чтения

Что означают цвета карточки, чем Last activity отличается от полного журнала и как связать запущенный процесс с ошибкой приложения.

ProjectDB Service Manager: карточка приложения DEMO, управление службой и локальной библиотекой

Служба запущена, но пользователь всё ещё видит ошибку. Или наоборот: карточка на время стала жёлтой, хотя приложение просто проходит инициализацию. В ProjectDB Service Manager состояние процесса, последнее событие и полный журнал помогают ответить на разные вопросы. Если читать их вместе, случайных перезапусков будет меньше.

Что говорит цвет карточки

По руководству зелёный индикатор означает, что приложение работает и инициализировано. Жёлтый сопровождает запуск, остановку или ожидание инициализации. Красный показывает остановку, серый — недоступное либо неизвестное состояние.

Жёлтый цвет сам по себе не объясняет причину ожидания. Посмотрите, изменяется ли последнее событие, и откройте журнал. Для работающего приложения карточка также может показывать PID и сведения об источнике или версии ProjectDB. Они помогают убедиться, что вы смотрите на нужный экземпляр, особенно если на машине зарегистрировано несколько приложений.

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

Last activity — начало поиска, а не весь журнал

В Last activity выводится последняя структурированная запись. Сообщения с признаками предупреждения или ошибки дополнительно подсвечиваются. Это удобно для быстрой оценки, но последняя строка не всегда содержит первое сообщение о сбое: более раннюю причину можно найти только в полном журнале.

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

В исходном коде есть отдельная обёртка projectdb-log-wrapper.cs. Она запускает ProjectDB без консольного окна, читает стандартный вывод и поток ошибок, убирает ANSI-последовательности оформления и часть управляющих символов. Поэтому вывод, привычный для цветного терминала, подготавливается для службы и журнала.

Как собрать полезные сведения о сбое

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

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

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

Документация и исходный код

Иллюстрация: скриншот из репозитория ProjectDB Service Manager.