Настройка обнаружения ошибок для веб-приложений
Настройка обнаружения ошибок для веб-приложений
Чтобы настроить способ регистрации ошибок, отредактируйте приложение и разверните раздел Ошибки. Выберите необходимый тип ошибки, а затем настройте ошибку, которая будет регистрироваться, включаться в расчеты Apdex или учитываться при обнаружении и анализе проблем с помощью ИИ.
Типы ошибок
Ключ-АСТРОМ классифицирует ошибки по следующим типам.
- Ошибки запросов обнаруживаются браузером и ЕдинымАгентом на ваших серверах.
- Пользовательские ошибки генерируются непосредственно в вашем приложении через RUM JavaScript API.
- Ошибки JavaScript — это исключения JavaScript, генерируемые браузером.
Настройка ошибок запроса
По умолчанию Ключ-АСТРОМ рассматривает все коды состояния HTTP 4xx и 5xx как ошибки запроса. Нарушения CSP и ошибки, связанные с неудачными запросами изображений, также фиксируются как ошибки запроса. Кроме того, RUM JavaScript может использовать пользовательские коды состояния для информирования о проблемах фреймворка.
Вы можете изменить настройки по умолчанию, задав правила обработки ошибок запросов.
Добавить правило обработки ошибок запроса
Чтобы добавить правило обработки ошибок запроса:
- Перейдите в Веб.
- Выберите приложение, которое хотите настроить.
- В правом верхнем углу страницы обзора приложения выберите Дополнительно (…) > Редактировать.
- В настройках приложения выберите Ошибки > Ошибки запросов.
- Выберите Добавить правило обработки ошибок запроса.
- Воспользуйтесь хотя бы одним из следующих вариантов:
- Сопоставление по коду ошибки: Укажите либо отдельный код ошибки HTTP, например
404, либо весь диапазон кодов ошибок, например400-499. - Сопоставление по ошибкам, связанным с неудачными запросами изображений.
- Сопоставление по ошибкам, имеющим нарушения CSP.
- Сопоставление по коду ошибки: Укажите либо отдельный код ошибки HTTP, например
- Необязательно: Чтобы применять правило обработки ошибок запросов только к определенным URL-адресам, измените параметры в разделе Настройки фильтра.
- Укажите, хотите ли вы зафиксировать эту ошибку. Также вы можете включить ошибку в расчеты Apdex и включить ошибку в обнаружение и анализ проблем ИИ.
Если вы решите включить ошибку в анализ ИИ, ИИ может сообщить об этой ошибке как о новой открытой проблеме.
Правила обработки ошибок запроса выполняются в порядке их появления в списке ошибок. Выделите и удерживайте строку Рукоятка перетаскивания рядом с именем правила, перетащите правило вверх или вниз в списке, чтобы изменить его приоритет.
Вы также можете включить параметр Игнорировать ошибки запросов в расчетах Apdex, чтобы переопределить настройки Apdex для отдельных правил обработки ошибок запросов.
Управление пользовательскими кодами состояния
Помимо перехвата стандартных кодов ошибок HTTP, RUM JavaScript может также использовать пользовательские коды состояния, чтобы сигнализировать об обнаружении проблемы в фреймворке.
Для приложений, созданных с использованием Ключ-АСТРОМ версии 1.238 и выше, RUM JavaScript сообщает о некоторых ошибках запросов, используя пользовательские коды состояния 970—979, когда невозможно получить реальный код состояния HTTP. Обратите внимание, что эти пользовательские коды состояния не являются реальными кодами состояния HTTP; они просто означают, что RUM JavaScript обнаружил ошибку, вызванную используемой вами средой разработки.
Влияние подобных ошибок запросов на пользователей зависит от вашего приложения. Например, если вы отправляете запрос в службу отслеживания, и запрос отменяется, такая ошибка вряд ли сильно повлияет на пользователей вашего приложения. Однако неудачный запрос на оплату, безусловно, доставит им неудобства.
В RUM JavaScript используются следующие пользовательские коды состояния:
| Код | Имя | Объяснение |
|---|---|---|
| 970 | Error | В используемой среде произошла неуказанная ошибка. |
| 971 | Aborted | Запрос был отменен. |
| 972 | Timeout | Запрос не удался из-за превышения времени ожидания. |
| 973 | Parse | Ошибка при разборе ответа. Сообщили модули XMLHttpRequest, jQuery и MooTools. |
| 974 | Setup | Произошла ошибка во время настройки запроса. Сообщение об ошибке поступило только от модуля MooTools. |
| 979 | Unknown | Произошла неизвестная ошибка фреймворка. Сообщение об ошибке поступило только от модулей jQuery и MooTools. |
Приложения, созданные начиная с версии Ключ-АСТРОМ 1.238
Для приложений, созданных начиная с версии Ключ-АСТРОМ 1.238, эти пользовательские коды состояния определяются автоматически. Они учитываются в расчетах Apdex, но не принимаются во внимание при анализе ИИ.
Если вы хотите игнорировать эти пользовательские коды состояния, удалите или отключите правило обработки ошибок HTTP-запросов 970-979.
Чтобы удалить или отключить правило обработки ошибок HTTP-запросов 970-979:
- Перейдите в Веб.
- Выберите приложение, которое хотите настроить.
- В правом верхнем углу страницы обзора приложения выберите Дополнительно (…) > Редактировать.
- В настройках приложения выберите Ошибки > Ошибки запросов.
- Найдите правило ошибки HTTP 970-979 и выполните одно из следующих действий:
- Выберите Удалить строку (Удалять), чтобы полностью удалить это правило обработки ошибок запроса.
- Разверните правило и отключите параметр Перехватывать эту ошибку.
Приложения, созданные до версии Ключ-АСТРОМ 1.238
Для приложений, созданных с использованием версий Ключ-АСТРОМ младше 1.238, пользовательские коды состояния не используются. Если вы хотите перехватывать эти коды, добавьте правило обработки ошибок запроса со следующими настройками:
- Совпадение по коду ошибки:
970-979 - Зафиксируйте эту ошибку: Включено
- Укажите погрешность в расчетах Apdex: Включено или Выключено в зависимости от ваших потребностей.
- Укажите ошибку в алгоритме обнаружения и анализа проблем ИИ: Включено или Выключено в зависимости от ваших потребностей.
Настройка пользовательских ошибок
Пользовательские ошибки позволяют обнаруживать собственные ошибки. Например, это может быть ошибка, возникающая во время проверки поля формы.
Для настройки пользовательской ошибки укажите, как Ключ-АСТРОМ должен обрабатывать ошибку, а затем вызовите обработку ошибки в своем приложении, используя RUM JavaScript API.
Добавить пользовательское правило обработки ошибок
Чтобы добавить пользовательское правило обработки ошибок:
- Перейдите в Веб.
- Выберите приложение, которое хотите настроить.
- В правом верхнем углу страницы обзора приложения выберите Дополнительно (…) > Редактировать.
- В настройках приложения выберите Ошибки > Пользовательские ошибки.
- Выберите Добавить пользовательское правило обработки ошибок.
- Укажите условия, которые Ключ-АСТРОМ должен использовать для идентификации пользовательской ошибки.
- Для создания пользовательской ошибки используйте ключ соответствия и шаблон ключа
key. - Для создания пользовательской ошибки используйте параметры Соответствие значению и Шаблон значения
value. - Пользовательские правила обработки ошибок нечувствительны к регистру. Например, значения, такие как
mykeyиMyKeY, обрабатываются одинаково.
- Для создания пользовательской ошибки используйте ключ соответствия и шаблон ключа
- Укажите, хотите ли вы зафиксировать эту ошибку. Также вы можете включить ошибку в расчеты Apdex и включить ошибку в обнаружение и анализ проблем ИИ.
Если вы решите включить ошибку в анализ ИИ, ИИ может сообщить об этой ошибке как о новой открытой проблеме.
Пользовательские правила обработки ошибок выполняются в порядке их появления в списке ошибок. Выделите и удерживайте строку Рукоятка перетаскивания рядом с именем правила, перетащите правило вверх или вниз в списке, чтобы изменить его приоритет.
Вы также можете включить параметр Игнорировать пользовательские ошибки в вычислениях Apdex, чтобы переопределить настройки Apdex для отдельных правил обработки пользовательских ошибок.
После добавления или исключения пользовательской ошибки в Ключ-АСТРОМ необходимо инициировать эту ошибку в вашем приложении, используя метод dtrum.reportCustomError() RUM JavaScript API.
Например, для обработки ошибки в поле формы потребуются следующие параметры метода JavaScript:
| Параметр | Объяснение | Пример |
|---|---|---|
| key | Название поля формы. | custom_buying_form_number_of_travelers_field
|
| value | Ошибка проверки, выявленная валидатором. | availability exceeded - e3434
|
| hint | Фактический ввод данных пользователем. | 1000
|
key и value используются для группировки и анализа пользовательских ошибок; hint является необязательной информацией.
Для получения дополнительной информации о том, как сообщать о пользовательских ошибках, см. RUM JavaScript API - reportCustomError.
Настройка ошибок JavaScript
Браузеры автоматически обнаруживают ошибки JavaScript, поэтому вам не нужно добавлять эти ошибки вручную. Если вы настроите сбор ошибок JavaScript, они будут автоматически учитываться в расчетах Apdex и анализе ИИ.
Чтобы игнорировать ошибки JavaScript на индивидуальном уровне, выберите Игнорировать эту ошибку JavaScript на соответствующей странице с подробными сведениями об ошибке JavaScript.
Чтобы игнорировать все ошибки JavaScript при вычислениях Apdex:
- Перейдите в Веб.
- Выберите приложение, которое хотите настроить.
- В правом верхнем углу страницы обзора приложения выберите Дополнительно (…) > Редактировать.
- В настройках приложения выберите Ошибки > Ошибки JavaScript.
- Включите параметр Игнорировать ошибки JavaScript при расчете Apdex.
Создать дополнительные оповещения об ошибках для ИИ
Если стандартные оповещения об ошибках запросов, пользовательских ошибках и ошибках JavaScript вам недостаточно информативны, или если вы хотите сосредоточиться на конкретной ошибке, вы можете создать дополнительные оповещения об ошибках.
Для создания дополнительных оповещений об ошибках:
- Перейдите в раздел Веб и выберите приложение, чтобы отобразить страницу с обзором приложения.
- В инфографике выберите Ошибки.
- В разделе Ошибки по типу выберите Анализ по типу.
- В разделе Подробный анализ за выбранный период времени установите фильтры в поле Фильтровать по…. Доступные фильтры в категории Ошибки:
Custom error name,Custom error type,Error type,Errors,Request error code,Request error resource, иRequest error type. - Выберите Создать метрику.
- В открывшемся окне настройте параметры метрики и выберите Создать метрику. Подробную информацию о создании и построении графиков вычисляемых метрик см. в разделе «Создание вычисляемых метрик для веб-приложений».
- Выберите Создать оповещение.
- Настройте параметры оповещений. После завершения выберите Создать пользовательское событие для оповещений. Подробную информацию о создании оповещения см. в разделе «События метрик».
Используйте статический пороговый уровень 1, если хотите, чтобы ИИ всегда сообщал о проблеме при возникновении определенной ошибки. Если вас интересуют только аномалии, связанные с этой ошибкой, используйте автоматическое определение базового уровня.