Jaeger
Платформа SimpleOne позволяет использовать инструмент трассировки запросов Jaeger для анализа работы приложения и выявления проблем, связанных с производительностью. Jaeger работает на основе стандарта распределенного трейсинга и мониторинга OpenTelemetry.
Трассировка состоит из спанов – отдельных действий в системе, которые могут быть вложены друг в друга. Спаны могут содержать:
- Последовательность выполнения запросов.
- Время выполнения запросов.
- Метаинформацию о выполняемом действии: входные параметры, текущую запись, запросы к хранилищам.
При анализе данных учитывайте, что трассируемый запрос выполняется в два раза дольше обычного.
Активация Jaeger на экземпляре
Для On-premise экземпляров, задайте данные для входа в Jaeger предварительно на этапе разворачивания приложения в переменных jaeger_web_login и jaeger_web_password. По умолчанию используются данные, указанные в файле inventory /group_vars/all/vars.yaml
. Если вам необходимы данные для входа на Cloud экземпляр и настройка трассировки воркеров, обратитесь в сервис поддержки клиентов SimpleOne.
Чтобы активировать Jaeger на вашем экземпляре, выполните следующие шаги:
- Убедитесь, что браузер поддерживает базовую аутентификацию.
- Установите расширение браузера для настройки Cookie, например, Cookie-Editor.
- Создайте Cookie с названием APM_ENABLED и значением 1. Рекомендуется включать заголовок для выполнения одного запроса на краткий срок и выключать после, чтобы трассировка не влияла на скорость отклика.
- Откройте Jaeger по ссылке
https://{your_instance_url}/tools/jaeger-ui
. - Введите данные для входа в Jaeger.
Отслеживаемые запросы
С помощью интеграции Jaeger вы можете получить информацию о выполнении запросов:
- Backend API – запросы на сервер из клиентского приложения. Эти запросы отправляются при использовании агентского интерфейса и пользовательского портала. При включенном Cookie, трассировка этих действий будет сохраняться в Jaeger.
- Rest API.
Отслеживаемые спаны
- db – выполнение запроса к базе данных.
- redis – выполнение запроса к Redis.
- grpc_request – выполнение запроса по протоколу gRPC.
- run_engines – запуск механизмов в соответствии с порядком выполнения бизнес-правил, рабочих процессов, уведомлений, механизмов.
- run_business_rules – выполнение блока бизнес-правил.
- run_async_business_rules – запуск асинхронных бизнес-правил.
- run_approval_rules – запуск правил согласования.
- run_workflows – запуск рабочих процессов.
- run_notifications – запуск уведомлений.
- run_business_rule – выполнение определенного бизнес-правила (вы сможете посмотреть его sys_id в мета-информации).
- trigger_event – запуск платформенных событий.
- run_handler – запуск обработчика событий платформы.
- save_entity – сохранение записи.
- delete_entity – удаление записи.
- delete_multiple_entities – множественное удаление записей.
- batch_insert_entities – множественное добавление записей.
- run_script – общий блок выполнения скрипта, который включает в себя экспорт и импорт переменных и классов, логирование, запуск скрипта.
- run_script_internal – запуск скрипта и импорт переменных результата.
- worker_entrypoint – выполнение запросов к очередям в RabbitMQ, из которых воркеры забирают работу.