Close

Automatyczne tworzenie zgłoszenia Jira Software na podstawie wykrytego problemu w systemie Dynatrace

Zdjęcie portretowe Phillipa Jonesa
Rob Jahn

Kierownik techniczny ds. partnerów i ewangelista DevOps w Dynatrace

W tym samouczku opisano procedurę automatycznego tworzenia zgłoszenia Jira w oparciu o problem wykryty przez system Dynatrace. Zachęcamy do zapoznania się z samouczkiem Integracja rozwiązań Dynatrace i Jira w celu zwiększenia przejrzystości, w którym opisano sposób konfiguracji narzędzia integracji rozwiązań Jira i Dynatrace.

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?

Szczegółowe informacje na temat pracy ze sprintami w systemie Jira zawiera samouczek dotyczący sprintów.

Masz pytania? Zadaj pytanie społeczności Atlassian.

Informacje ogólne

Ten samouczek opiera się na kilku komponentach, które są od siebie zależne. W tym samouczku:

1. Skonfigurujesz narzędzie Jira Automation do tworzenia na kartach problemów w Dynatrace komentarzy zawierających adres URL przekierowujący z powrotem do zgłoszenia Jira.

2. Skonfigurujesz aplikację Dynatrace do wypychania problemów do systemu Jira.

3. Wyzwolisz problem w aplikacji próbnej i sprawdzisz, jak platforma Dynatrace wykrywa problem i automatycznie tworzy zgłoszenie w systemie Jira.

4. Skonfigurujesz zapytania o zgłoszenia Jira na stronie wydań na platformie Dynatrace.

5. Wyczyścisz swoje środowisko.

Poniższy schemat przedstawia komponenty wykorzystane w tym samouczku oraz podstawowe interakcje między nimi.

Schemat wykorzystania połączenia rozwiązań Dynatrace i Jira

1. Monitorowanie aplikacji za pomocą platformy Dynatrace — na potrzeby tego samouczka platforma Dynatrace będzie gromadzić wskaźniki z agenta Dynatrace zainstalowanego na hoście, na którym uruchomiona jest przykładowa aplikacja. Wszystkie dane są przesyłane do centralnej dzierżawy Dynatrace, która udostępnia również interfejs sieciowy do administrowania i wykrywania problemów wspomaganego sztuczną inteligencją.

2. Powiadomienie o problemie z uwzględnieniem szczegółowego kontekstu — silnik AI Dynatrace, Davis, wykorzystuje wskaźniki o wysokim stopniu wierności, ślady, dzienniki oraz rzeczywiste dane użytkowników odwzorowane w ujednoliconym modelu obiektu. Zastosowanie deterministycznej sztucznej inteligencji silnika Davis pozwala precyzyjnie ujawnić główną przyczynę problemów. Silnik Davis nie tylko lokalizuje dokładną przyczynę, ale także natychmiast dostarcza cenny kontekst. Będziesz wiedzieć, czy problem jest wynikiem wąskiego gardła w zasobach, czy zmiany wdrożeniowej, a nawet dowiesz się, kto za niego odpowiada. Możesz odtworzyć problemy, aby dokładnie zrozumieć mechanizm ich powstawania i opracować rozwiązania.

3. Automatyczne utworzenie zgłoszenia Jira — integracja rozwiązań Dynatrace i Jira automatycznie tworzy zgłoszenia dotyczące wszystkich nowych problemów wykrytych automatycznie w Twoich środowiskach Dynatrace.

4. Aktualizacja platformy Dynatrace za pomocą funkcji Jira Automation — Jira Automation to funkcja pozwalająca z łatwością tworzyć reguły zaledwie kilkoma kliknięciami, bez pisania kodu. Żądanie sieciowe wysyłane do interfejsu API Dynatrace wykorzystuje identyfikator problemu na platformie Dynatrace do aktualizacji komentarzy na karcie problemu w Dynatrace.

5. Rozwiązanie problemu i zamknięcie zgłoszenia w systemie Jira.

Krok 1: Zatrzymanie przykładowej aplikacji i odczekanie, aż Dynatrace wykryje problem z dostępnością

Na hoście z systemem Linux, na którym uruchomiono próbną aplikację, przejdź do katalogu zawierającego plik docker-compose.yaml i uruchom następujące polecenie, aby zatrzymać usługę:

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


Za pomocą następującego polecenia można potwierdzić, że usługa nie działa:

sudo docker ps


Krok 2: Przeglądanie karty problemu w systemie Dynatrace

Po kilku minutach problem zostanie zamanifestowany, a system Dynatrace utworzy problem. Tym, co wyróżnia Dynatrace, jest fakt, że nie jest to alert. Dynatrace wykorzystuje deterministyczną sztuczną inteligencję, która przeprowadza automatyczną analizę drzewa błędów z uwzględnieniem wskaźników, dzienników, rzeczywistych danych użytkowników oraz zdarzeń. Rezultatem jest karta problemu zawierająca informacje o wpływie na działalność, aplikacjach i elementach infrastruktury, których dotyczy problem, możliwą do odtworzenia historię zdarzenia oraz główną przyczynę problemu.

Okno problemów

Krok 3: Wyświetlenie wygenerowanego automatycznie zgłoszenia Jira

W systemie Jira pojawi się nowe zgłoszenie zawierające informacje o problemie oraz łącze URL kierujące z powrotem na kartę problemu w serwisie Dynatrace.

Zgłoszenie problemu

Krok 4: Wyświetlanie komentarzy w Dynatrace

Po utworzeniu zgłoszenia Jira kliknij adres URL problemu w serwisie Dynatrace, aby otworzyć kartę problemu w aplikacji Dynatrace. Przewiń w dół, aby wyświetlić komentarz z adresem URL kierującym z powrotem do zgłoszenia Jira. Jest to możliwe dzięki funkcji Smart Tags w narzędziu Jira Automation dodanej do wywołania API Dynatrace, wykonanego przez regułę automatyzacji Jira.

Przewijanie w dół od karty problemu do komentarza

**Porada eksperta — według tej samej koncepcji można dodawać wszelkie nowe komentarze w systemie Jira jako komentarze Dynatrace. W tym celu ustaw nową regułę automatyzacji z wykorzystaniem wyzwalacza „When: Issue commented” („Kiedy: Dodano komentarz do zgłoszenia”) i następującego fragmentu kodu jako treści elementu webhook:

{

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

Ekran zwiększenia wskaźnika błędów

** Porada eksperta — powiadomienia o problemach w Dynatrace można skonfigurować tak, aby do Jira przekazywane były także dodatkowe informacje, takie jak stan problemu, obiekty, których dotyczy problem, oraz tagi. Dane te można następnie wykorzystać w celu opracowania bardziej zaawansowanej automatyzacji, na przykład przypisania zgłoszenia, ustawienia priorytetu, powiązania z komponentem czy uzupełnienia pól niestandardowych w systemie Jira. Na przykład polecenie „if block” w Jira Automation pozwala dopasować składnię tagu w Dynatrace.

Okno funkcji „if block”

Krok 5: Rozwiązanie problemu poprzez ponowne uruchomienie usługi aplikacji próbnej

Na hoście z systemem Linux, na którym uruchomiono próbną aplikację, przejdź do katalogu zawierającego plik docker-compose.yaml i uruchom następujące polecenie, aby ponownie uruchomić usługę:

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

Za pomocą następującego polecenia można teraz zweryfikować działanie:

sudo docker ps

Krok 6: Ponowne sprawdzenie aplikacji w Dynatrace

Sprawdź stronę usługi frontend. Zauważysz, że awarie zniknęły.

Okno wskaźnika błędów

Karta problemu w aplikacji Dynatrace również została automatycznie zamknięta.

Powiadomienie o wskaźniku błędów

Wypróbuj kilka innych problemów

Aplikacja Dynatrace Orders posiada wstępnie skompilowane problemy zaprogramowane jako różne wersje. Aplikację zaprogramowano z wykorzystaniem adresu URL flagi funkcji, za pomocą którego można zmienić wersję, a w konsekwencji zachowanie aplikacji. Wersja 1 jest przeznaczona do usług zleceń oraz obsługi klienta i cechuje ją „standardowe” zachowanie, a problem aktywuje się poprzez ustawienie wersji 2.

Aby wypróbować tę funkcję, przejdź na stronę omówienia aplikacji Dynatrace Orders.

Konfiguracja zapytań o zgłoszenia Jira na stronie wydań na platformie Dynatrace

Na stronie Releases (Wydania) na platformie Dynatrace wyświetlane są zapytania dotyczące śledzenia zgłoszeń, z uwzględnieniem statystyk powiązanych z monitorowanymi obiektami w zasobach w czasie rzeczywistym.

Wyniki zapytania z filtra

Krok 1: Zdefiniowanie zapytania JQL

W obszarze wyszukiwania zgłoszeń Jira utwórz wyrażenie w języku JQL (Jira Query Language), którego przykład znajduje się poniżej:

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

Zapytanie, które zwraca zgłoszenie

Krok 2: Utworzenie zapytań o śledzenie zgłoszeń dotyczących wydania

1. W aplikacji Dynatrace przejdź do strony Releases (Wydania), korzystając z menu po lewej stronie.

2. Na stronie Releases (Wydania) kliknij przycisk Configure (Konfiguruj).

Okno wydań w czasie rzeczywistym

3. Na stronie Release Issue Tracker Queries settings (Ustawienia zapytań w systemie śledzenia zgłoszeń dotyczących wydania) kliknij przycisk Add new issue tracker query (Dodaj nowe zapytanie w systemie śledzenia zgłoszeń).

Strzałka wskazująca na ustawienia w lewym panelu nawigacyjnym

4. W nowym formularzu zapytania uzupełnij wartości w następujący sposób:

  • Issue Label (Etykieta zgłoszenia): dt-orders frontend Issues
  • Issue query: project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC
  • Issue Theme (Motyw zgłoszenia): Error
  • Issue Tracker System (System śledzenia zgłoszeń): Jira
  • URL Target (Docelowy adres URL): https://YOUR-COMPANY.atlassian.net
  • User Name (Nazwa użytkownika): Twój identyfikator użytkownika Jira, na przykład adres e-mail
  • Password (Hasło): pozostaw puste
  • Token (Token): token użytkownika Jira utworzony wcześniej w tym przewodniku

5. Zapisz zapytanie.

Krok 3: Sprawdzenie

1. Przejdź do strony Releases (Wydania), korzystając z menu po lewej stronie.

2. Teraz powinno się pojawić nowe zapytanie wraz z liczbą zgłoszeń odpowiadającą wszystkim otwartym zgłoszeniom.

Informacje o wydaniach w czasie rzeczywistym

3. Kliknięcie wiersza zgłoszenia spowoduje otwarcie aplikacji Jira, umożliwiając sprawdzenie tych kolejek.

Wyczyść

1. Jeśli do uruchomienia aplikacji próbnej użyto hosta na żądanie, zatrzymaj go.

2. Aby zatrzymać aplikację próbną, przejdź do hosta z systemem Linux, na którym uruchomiono aplikację próbną, a następnie do katalogu zawierającego plik docker-compose.yaml, a następnie wykonaj poniższe polecenie, aby zatrzymać aplikację:

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

Za pomocą następującego polecenia upewnisz się, że żaden kontener nie jest uruchomiony:

sudo docker ps

3. W systemie Jira usuń projekt utworzony na potrzeby tego samouczka.

4. W systemie Dynatrace usuń token API i dodaną regułę powiadamiania o problemie.

Dowiedz się więcej

Pobierz wtyczkę Dynatrace Problem Integration for Jira ze sklepu Atlassian Marketplace.
Zadawaj pytania (i udzielaj porad) naszej społeczności Dynatrace.
Więcej informacji na temat możliwości, jakie daje połączenie rozwiązań Dynatrace + Atlassian, znajdziesz tutaj.
Poczytaj więcej na temat kombinacji Dynatrace + Atlassian (i dowiedz się, jak pracować sprytniej, a nie ciężej) tutaj.
Zobacz Atlassian, Dynatrace i Keptn w akcji w Dynatrace Performance Clinic.
Zobacz więcej integracji dla Atlassian Open DevOps.

Zachęcamy do zapoznania się z samouczkiem Integracja rozwiązań Dynatrace i Jira w celu zwiększenia przejrzystości, w którym opisano sposób konfiguracji integracji rozwiązań Jira i Dynatrace.

Rob Jahn
Rob Jahn

Udostępnij ten artykuł
Następny temat

Zalecane lektury

Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.

Ilustracja DevOps

Społeczność DevOps

Ilustracja DevOps

Warsztaty symulacyjne

Ilustracja przedstawiająca mapę

Zacznij korzystać za darmo

Zapisz się do newslettera DevOps

Thank you for signing up