Элементы диагностики
В этом разделе будут рассмотрены следующие вопросы:
Настройка уровней логирования.
Цепочка событий.
Просмотр данных очередей.
Настройка уровней логирования
Есть возможность настроить уровни логирования для всех сервисов.
Есть три конфига логирования для каждого сервиса:
Глобальный - устанавливается в конфигурации сервиса (действует всегда).
Локальный - устанавливается/удаляется в swagger узла в разделе Settings. По умолчанию у сервисов нет локального конфига.
Итоговый - конфиг, который фактически работает в Платформе. Определяется сравнением глобального конфига с локальным. Выбираются более подробные(точные) настройки из двух.
Внимание
В конце итоговый конфиг сервиса сравнивается с итоговым конфигом кластера. Финальная настройка определяется также - выбирается более точные настройки из двух. То есть, если итоговый конфиг в кластере с уровнем Debug, то у всех его сервисов будет уровень логирования не ниже Debug, но если у узла, например, уровень выше - Verbose, то будет у узла работать Verbose как более подробный. При принятии решения о логировании также учитывается переданная функциональность (по умолчанию ALL). Если уровень логирования ниже минимального, но итоговая конфигурация содержит переданную фичу, то лог будет записан. Список фич итоговой конфигурации формируется как объединение локальных, глобальных и фич кластера.
Уровни логирования следующие - Verbose, Debug, Info, Warning, Error, Fatal.
Разделение логов по функциональности(фичи):
All - все подряд = значение по умолчанию;
NodeStorage - работа с сообщениями и бд на узле;
ProcessBalancing - Балансировка процессов;
Coordinator - всякие пинги координатора и прочее;
Connections - логи от tcp\pipe;
Diagnostic - про диагностику;
Apply - логи про apply;
Custom - логи пользователя.
Пример использования:
На кластере установлен уровень логирования Info (Глобальный конфиг кластера). Локальный не установлен для кластера.
На адаптере установлен уровень логирования Warning (Глобальный конфиг системы). Локальный не установлен для адаптера.
Нам понадобилось отладить адаптер и нужны более подробные логи на время:
Устанавливаем уровень логирования Verbose в локальном конфиге адаптера и применяем конфигурацию: post/api/settings/systems/{EntityId}/local
Получаем логи у адаптера с уровнем Verbose.
Закончив работу, удаляем локальный конфиг адаптера: delete/api/settings/systems/{EntityId}/local
Цепочка событий
Для графического представления пути передачи и обработки сообщения в Платформу автоматически строится Цепочка событий. Цепочка событий представляет собой блок-схему этапов передачи сообщения с возможностью просмотра подробной информации о событии. На вертикальной оси блок-схемы отображается время события, на горизонтальной оси отображены модули Платформы, участвующие в событии:
Просмотр Цепочки событий доступен в Центре мониторинга из журнала События. По нажатии на событии, относящемуся к рассматриваемому сообщению, открывается подробная информация о событии. В окне подробной информации справа вверху есть значок графа. По нажатии на значок графа откроется Цепочка событий конкретного сообщения:
В некоторых блоках в левом верхнем углу активен значок информации. После наведения на значок информации всплывает краткая информация о событии:
Для Цепочки информации работает фильтр по уровню логирования:
События регистрируемые в банке данных
Тип события Write для Банка данных
Если процесс содержит шаг запись объекта, то в цепочке событий будет отображено событие типа Write.
Пример:
Тип события Read
Если процесс содержит шаги Поиск, получение объекта, получение Объектов, то в цепочке событий будет отображено событие типа Read.
Пример:
Тип события Delete
Если процесс содержит шаг Удаление, то в цепочке событий будет отображено событие типа Delete.
Пример:
Тип события Query
Если процесс содержит шаги запрос, запрос значений, запрос объекта, то в цепочке событий будет отображено событие типа Query.
Пример:
Просмотр данных очередей
Просмотр данных очередей Платформы возможен с помощью следующих инструментов:
Центр мониторинга и диагностики.
Сервисная утилита DatareonQueueViewer.
Центр мониторинга и диагностики
Сайт публикуется автоматически на узле-координаторе. По умолчанию используется порт 7201. Со всех остальных узлов выполняется автоматический редирект. Просмотр данных очередей возможен непосредственно при работе системы. Для очереди формируется snapshot и возвращается пользователю. Соответственно на момент просмотра пользователем snapshot данные в очередях могут меняться.
Сервисная утилита DatareonQueueViewer
Сервисная утилита используется для просмотра данных очередей в каталоге узла при выключенной системе.
Утилита DatareonQueueViewer.exe устанавливается вместе с дистрибутивом и размещается в установочном каталоге Платформы. Запись лога выполняется в каталог %appdata%\local\Datareon\Platform\Logs\DatareonQueueViewer.
Функция сжатия очередей
Команда compress для DatareonPlatformService.exe. Без опций сжимает весь каталог с очередями.
Опции:
id <ид_очереди> - сжимает конкретную очередь.
backup true/false - создает или не создает бекап исходных каталогов. По умолчанию true.
rootPath - опциональный каталог с данными Platform для случая, когда нужно сжать файлы в каталоге, отличном от дефолтного C:\ProgramData\Datareon\Platform. В случае указания не производится проверка, запущена ли служба. При включенной службе будет ошибка о том, что служба платформы активна. Исходные очереди сохраняются в каталог с наименованием old.
Логи дублируются в каталог:
C:\ProgramData\Datareon\Platform\Logs\DatareonPlatformService\CmdDebug