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

Autor: Rob Jahn, Dynatrace Menedżer ds. partnerów technicznych i propagator DevOps
W tym samouczku opisano procedurę automatycznego tworzenia zgłoszenia Jira w oparciu o problem wykryty przez system Dynatrace. Zachęcamy do zapoznania się z samouczkiemIntegracja rozwiązań Dynatrace i Jira w celu zwiększenia przejrzystości, w którym opisano sposób konfiguracji integracji rozwiązań Jira i Dynatrace.
Na potrzeby tego przykładu backendowa usługa „kliencka” zostanie wyłączona, co spowoduje błędy w usłudze „frontendowej”. Błędy te zostaną wykryte przez system Dynatrace, co spowoduje automatyczne utworzenie zgłoszeń Jira.
Czas
15 minut czytania. Realizacja w ciągu 2–3 godzin.
Publiczność
Osoby posiadające uprawnienia administratora do wszystkich projektów. Więcej informacji zawiera temat dotyczący zarządzania uprawnieniami do projektów.
Osoby posiadające uprawnienia administracyjne do środowiska Dynatrace. Więcej informacji zawiera temat Rozpoczynanie pracy z platformą Dynatrace.
Osoby posiadające podstawową wiedzę na temat poleceń w systemach Linux.
WARUNEK WSTĘPNY
Masz środowisko Dynatrace — skorzystaj z 15-dniowej wersji próbnej Dynatrace.
Do uruchomienia udostępnionej przykładowej platformy Dynatrace potrzebny jest host z systemem Linux. Wymagania oraz instrukcje dotyczące instalacji na maszynie wirtualnej znajdziesz w tym pliku README.
Na tym samym hoście z systemem Linux trzeba zainstalować narzędzie Dynatrace OneAgent.
Masz konto Jira Software. Przejdź tutaj, aby rozpocząć korzystanie z Jiry.
Chcesz dowiedzieć się więcej?
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.
Przegląd
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.

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.

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.

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.

**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"
}

** 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.

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.

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

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.

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

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).

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ń).

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.

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ć mądrzej, 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 samouczkiemIntegracja rozwiązań Dynatrace i Jira w celu zwiększenia przejrzystości, w którym opisano sposób konfigurowania integracji rozwiązań Jira i Dynatrace.