Close

Автоматическое создание задачи Jira Software из проблемы, обнаруженной в Dynatrace

Фотография Филлипа Джонса
Роб Джен

Технический директор по работе с партнерами и специалист по пропаганде DevOps, Dynatrace

В этом учебном руководстве подробно описывается, как автоматически создать задачу Jira на основе проблемы, обнаруженной в Dynatrace. О том, как настроить интеграцию Jira и Dynatrace, см. в другом нашем учебном руководстве «Как интегрировать Dynatrace и Jira для улучшения наблюдаемости».

For this use case, the “customer” backend service will be shut down, which will cause errors in the “frontend” service. These errors will then be detected by Dynatrace and Jira issues will automatically be created.

Time

15-minute read. Complete over 2-3 hours.

Audience

You have administrator projects permission for all projects. See Managing project permissions for more information.

You have administration permission for your Dynatrace environment. See Get started with Dynatrace for more information.

You have a basic knowledge of Linux commands.

Prerequisites

You have a Dynatrace environment -- Get a 15-day trial of Dynatrace.

A Linux host is required to run a Dynatrace provided sample application. Follow the installation instructions found in this README for requirements and instructions to install on a virtual machine.

This same Linux host needs to have the Dynatrace OneAgent installed.

You have a Jira Software account. Get started with Jira here.

Want to learn more?

Подробнее о работе со спринтами в Jira см. в руководстве по спринтам.

Есть вопросы? Задайте вопрос в сообществе Atlassian.

Обзор

Это учебное руководство опирается на несколько компонентов, которые взаимодействуют друг с другом. В этом учебном руководстве вы научитесь следующему.

1. Настраивать автоматизацию Jira, чтобы создать комментарий к карточке проблемы Dynatrace с URL-ссылкой на задачу Jira.

2. Настраивать Dynatrace для отправки проблем в Jira.

3. Вызывать проблему в образце приложения, чтобы посмотреть, как Dynatrace обнаруживает проблему и автоматически создает задачу в Jira.

4. Настраивать запросы на создание задач Jira на странице релизов Dynatrace.

5. Очищать среду.

На этой диаграмме показаны компоненты данного учебного руководства и основное взаимодействие между ними.

Диаграмма с использованием Dynatrace и Jira

1. Мониторинг приложения с помощью Dynatrace. В этом учебном руководстве Dynatrace будет получать показатели от агента Dynatrace, установленного на хосте, где выполняется образец приложения. Все данные централизованы у одного центрального держателя Dynatrace, который также предоставляет веб-интерфейс для администрирования и обнаружения проблем с помощью искусственного интеллекта.

2. Уведомление о проблемах с подробным контекстом. Davis — система искусственного интеллекта Dynatrace — использует высокоточные показатели, трассировки, журналы и реальные пользовательские данные, на основе которых создается единая сущностная модель. Детерминированный ИИ Davis используется для точного выявления первопричины проблемы. Davis не только обнаруживает точную причину, но и мгновенно предоставляет важный контекст. Вы узнаете, является ли причиной недостаток ресурсов или изменения в развертывании и даже кто за этим стоит. Вы можете воспроизводить проблемы, чтобы полностью уяснить, почему они возникли и как их исправить.

3. Автоматическое создание задачи Jira. Интеграция Dynatrace и Jira позволяет автоматически создавать задачи для всех новых проблем, которые автоматически обнаруживаются в средах Dynatrace.

4. Обновление Dynatrace с помощью автоматизации Jira. Автоматизация Jira не требует написания кода и позволяет с легкостью создавать правила несколькими щелчками мыши. В веб-запросе к API Dynatrace используется идентификатор проблемы Dynatrace для обновления комментариев в карточке проблемы Dynatrace.

5. Устранение проблемы и закрытие задачи Jira

Шаг 1. Остановите образец приложения, чтобы с помощью Dynatrace можно было обнаружить проблему доступности

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

sudo docker-compose -f docker-compose-services.yaml scale customer-service=0


Для проверки того, что он не выполняется, можно использовать следующую команду:

sudo docker ps


Шаг 2. Посмотрите на карточку проблемы Dynatrace

Через несколько минут проблема обнаружится, и Dynatrace создаст проблему. Отличие Dynatrace состоит в том, что это не оповещение. В Dynatrace используется детерминированный ИИ, который выполняет автоматический анализ дерева ошибок с учетом показателей, журналов, реальных пользовательских данных и событий. В результате создается карточка проблемы, в которой указывается влияние на бизнес, затронутые приложения и компоненты инфраструктуры, а также воспроизводимая история события и первопричина проблемы.

Окно проблем

Шаг 3. Изучите автоматически созданную задачу Jira

В Jira появится новая задача с информацией о проблеме и точной URL-ссылкой на карточку проблемы Dynatrace.

Задача для проблемы

Шаг 4. Просмотрите комментарий Dynatrace

После создания задачи Jira нажмите URL-адрес проблемы Dynatrace, чтобы открыть карточку проблемы Dynatrace. Прокрутите вниз, и вы увидите комментарий, в котором указана URL-ссылка на задачу Jira. Это стало возможным благодаря добавлению интеллектуальных тегов Jira Automation в вызов API Dynatrace, выполненный правилом автоматизации Jira.

Прокрутка вниз карточки проблемы до комментария

** Профессиональный совет. Этот же принцип можно использовать для добавления любых новых комментариев Jira в качестве комментариев Dynatrace. Для этого вы должны создать новое правило автоматизации, выбрать триггер When: Issue commented (Когда: задача прокомментирована) и использовать в качестве тела веб-хука выражение:

{

"comment": "{{issue.comments.last.body}} - Jira Issue: [{{issue.key}}]({{issue.url}})", "user": "{{issue.comments.last.author.displayName}}", "context": "Jira"
}

Экран об увеличении частоты сбоев

** Профессиональный совет. Уведомления о проблемах Dynatrace можно настроить так, чтобы передавать из Dynatrace в Jira дополнительную информацию, включая состояние проблемы, теги и затронутые объекты. Эти данные можно затем использовать для более сложной автоматизации, такой как назначение задачи, установка приоритета, связывание с компонентом или заполнение пользовательских полей в Jira. Например, автоматизация Jira «if block» (блок условия if [если]) может искать совпадение с тегом Dynatrace.

Окно If block (Блок условия if [если])

Шаг 5. Устраните проблему, перезапустив сервис образца приложения

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

sudo docker-compose -f docker-compose-services.yaml scale customer-service=1

Чтобы убедиться, что он выполняется, можно использовать следующую команду:

sudo docker ps

Шаг 6. Еще раз просмотрите приложение в Dynatrace

Просмотрите страницу сервиса frontend, и вы заметите, что сбои исчезли.

Окно частоты сбоев

Карточка проблемы Dynatrace также автоматически закроется.

Уведомление о частоте сбоев

Попробуйте создать еще несколько проблем

В приложении Dynatrace Orders есть заранее подготовленные проблемы, запрограммированные как разные версии. При программировании приложения был добавлен URL-адрес флажка возможности, который можно использовать для изменения версии, а следовательно, и поведения приложения. Версия 1 сервисов «order» и «customer» работает нормально, а при выборе версии 2 возникает проблема.

Чтобы попробовать работу этих версий, изучите страницу Обзор приложения Dynatrace Orders.

Настройка запросов для задач Jira на странице релизов Dynatrace

На странице релизов Dynatrace отображаются запросы на отслеживание задач, включая статистику задач, связанную с объектами, отслеживаемыми в системе учета в режиме реального времени.

Результаты запроса с фильтрацией

Шаг 1. Определите запрос JQL

В интерфейсе поиска задач Jira создайте выражение Jira Query Language (JQL), подобное показанному ниже.

project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

Запрос задачи

Шаг 2. Создайте запросы на отслеживание задач в релизе

1. В Dynatrace перейдите на страницу Releases (Релизы) с помощью левого меню.

2. На странице Releases (Релизы) нажмите кнопку Configure (Настроить).

Окно релизов в режиме реального времени

3. В настройках, на странице Release Issue Tracker Queries (Запросы на отслеживание задач в релизе), нажмите кнопку Add new issue tracker query (Добавить новый запрос на отслеживание задачи).

Стрелка, указывающая на Settings (Настройки) на левой навигационной панели

4. Введите следующие значения в полях формы нового запроса.

  • Issue Label (Метка задачи): dt-orders frontend Issues
  • Issue query (Запрос для задачи): project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC
  • Issue Theme (Тема задачи): Error (Ошибка)
  • Issue Tracker System (Система отслеживания задач): Jira
  • URL Target (Целевой URL-адрес): https://ВАША-КОМПАНИЯ.atlassian.net
  • User Name (Имя пользователя): идентификатор пользователя Jira в виде адреса электронной почты
  • Password (Пароль): оставьте пустым
  • Token (Токен): токен пользователя Jira, созданный вами ранее в ходе изучения руководства

5. Сохраните запрос.

Шаг 3. Выполните проверку

1. Вернитесь на страницу Releases (Релизы) с помощью левого меню.

2. Вы должны увидеть новый запрос с количеством открытых задач.

Realtime release information (Информация о релизе в режиме реального времени)

3. Если нажать строку задач, откроется Jira для просмотра этих очередей.

Очистить

1. Если для образца приложения используется хост по требованию, остановите его.

2. Чтобы остановить образец приложения, перейдите в каталог с файлом docker-compose.yaml на хосте Linux, где выполняется образец приложения, и выполните следующую команду для остановки приложения:

sudo docker-compose -f docker-compose-services.yaml down

Убедитесь, что контейнеры не запущены, с помощью команды

sudo docker ps

3. В Jira удалите проект, созданный вами для изучения этого руководства.

4. В Dynatrace удалите добавленные вами токен API и правило уведомления о проблеме.

Подробнее

Загрузите плагин Dynatrace Problem Integration for Jira из Atlassian Marketplace.
Задавайте вопросы (и давайте советы) в нашем сообществе Dynatrace.
Подробнее о возможностях интеграции Dynatrace и Atlassian см. здесь.
Подробнее об интеграции Dynatrace и Atlassian (и о том, как работать не интенсивнее, но эффективнее) см. здесь.
Посмотрите, как работают решения Atlassian, Dynatrace и Keptn, на этом семинаре по производительности Dynatrace.
См. другие интеграции для Atlassian Open DevOps

О том, как настроить интеграцию Jira и Dynatrace, см. в другом нашем учебном руководстве «Как интегрировать Dynatrace и Jira для улучшения наблюдаемости».

Rob Jahn
Rob Jahn

Поделитесь этой статьей
Следующая тема

Рекомендуемые статьи

Добавьте эти ресурсы в закладки, чтобы изучить типы команд DevOps или получать регулярные обновления по DevOps в Atlassian.

Рисунок: DevOps

Сообщество DevOps

Рисунок: DevOps

Образовательные программы DevOps

Рисунок схемы

Начните работу бесплатно

Подпишитесь на информационную рассылку по DevOps

Thank you for signing up