아티클
튜토리얼
대화형 가이드
Dynatrace에서 감지한 문제에서 자동으로 Jira Software 이슈 만들기
Rob Jahn
Dynatrace의 기술 파트너 관리자 및 DevOps 에반젤리스트
이 자습서에서는 Dynatrace에서 감지한 문제를 기반으로 Jira 이슈를 자동으로 만드는 방법을 자세히 설명합니다. 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.
개요
이 자습서는 서로 상호 작용하는 여러 구성 요소에 따라 다릅니다. 이 자습서에서는 다음을 수행합니다.
1. Jira 이슈에 대한 URL이 포함된 Dynatrace 문제 카드 댓글을 만들도록 Jira Automation을 구성합니다.
2. Jira에 문제를 푸시하도록 Dynatrace를 구성합니다.
3. 샘플 애플리케이션에서 문제를 트리거하고, Dynatrace가 문제를 감지하고 자동으로 Jira 이슈를 만드는 방법을 검토합니다.
4. Dynatrace 릴리스 페이지 내에서 Jira 이슈 쿼리를 구성합니다.
5. 환경을 정리합니다.
이 다이어그램은 이 자습서의 구성 요소와 이들 간의 기본적인 상호 작용을 보여줍니다.
1. Dynatrace로 애플리케이션 모니터링 – 이 자습서에서는 샘플 애플리케이션을 실행하는 호스트에 설치된 Dynatrace 에이전트에서 메트릭을 수집합니다. 모든 데이터는 중앙의 Dynatrace 테넌트에 중앙 집중화되며 관리 및 AI 기반 문제 감지를 위한 웹 인터페이스도 제공합니다.
2. 자세한 컨텍스트를 통한 문제 알림 – Dynatrace의 AI 엔진 Davis는 통합 엔터티 모델에 매핑된 충실도가 높은 메트릭, 추적, 로그 및 실제 사용자 데이터를 사용합니다. Davis의 결정론적 AI를 사용하여 문제의 정확한 근본 원인을 찾아냅니다. Davis는 정확한 근본 원인을 찾아낼 뿐만 아니라 가치 있는 컨텍스트를 즉시 제공합니다. 리소스 병목 현상 또는 배포 변경으로 인한 문제인지 및 누구로 인한 것인지도 알 수 있습니다. 문제를 재현하여 문제가 발생한 이유와 해결 방법을 완전히 이해할 수 있습니다.
3. Jira 이슈를 자동으로 만들기 – Dynatrace와 Jira 통합은 Dynatrace 환경에서 자동 감지된 모든 새로운 문제에 대해 이슈를 자동으로 만듭니다.
4. Jira Automation이 Dynatrace를 업데이트 – Jira Automation은 몇 번의 클릭만으로 손쉽게 규칙을 빌드할 수 있는 “코드가 필요하지 않은” 기능입니다. Dynatrace API에 대한 웹 요청은 Dynatrace 문제 ID를 사용하여 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는 메트릭, 로그, 실제 사용자 데이터 및 이벤트를 고려하는 자동 오류 트리 분석을 수행하는 결정론적 AI를 사용합니다. 그러면 비즈니스에 미치는 영향, 영향을 받는 애플리케이션 및 인프라 구성 요소, 다시 실행 가능한 이벤트 내역과 이슈의 근본 원인을 보여주는 문제 카드를 얻을 수 있습니다.
3단계: 자동으로 생성된 Jira 이슈 검토
Jira에서는 문제의 세부 정보가 포함된 새 이슈와 Dynatrace 문제 카드로 돌아가는 딥 URL 링크를 표시합니다.
4단계: Dynatrace 댓글 보기
Jira 이슈를 만들었으면 Dynatrace 문제 URL을 클릭하여 Dynatrace 문제 카드를 엽니다. Jira 이슈로 돌아가는 URL이 포함된 댓글을 보려면 아래로 스크롤합니다. 이것은 Jira Automation 규칙에 의해 만들어진 Dynatrace API 호출에 추가된 Jira Automation 스마트 태그를 통해 가능합니다.
** 전문가 팁 -- 같은 개념을 사용하여 새 Jira 댓글을 Dynatrace 댓글로 추가할 수 있습니다. 이 작업을 수행하려면 “언제: 이슈에 댓글이 달림” 트리거를 사용하여 새 자동화 규칙을 만들고 다음을 웹후크 본문으로 사용합니다.
{
"comment": "{{issue.comments.last.body}} - Jira Issue: [{{issue.key}}]({{issue.url}})",
"user": "{{issue.comments.last.author.displayName}}",
"context": "Jira"
}
** 전문가 팁 -- 문제 상태, 영향을 받은 엔터티 및 태그를 포함하여 Dynatrace에서 Jira로 추가 정보를 전달하도록 Dynatrace 문제 알림을 구성할 수 있습니다. 이 데이터는 이슈 할당, 우선 순위 지정, 구성 요소 연결 및 사용자 지정 Jira 필드 채우기와 같은 더 정교한 자동화에 추가로 사용할 수 있습니다. 예를 들어 Jira Automation “if block”은 Dynatrace 태그를 구문 분석 및 일치시킬 수 있습니다.
5단계: 샘플 애플리케이션 서비스를 다시 시작하여 이슈 해결
샘플 애플리케이션을 실행하는 Linux 호스트에서 docker-compose.yaml 파일이 있는 디렉토리로 이동한 후 다음 명령을 실행하여 서비스를 다시 시작합니다.
sudo docker-compose -f docker-compose-services.yaml scale customer-service=1
다음 명령을 사용하여 실행 중이라는 것을 확인할 수 있습니다.
sudo docker ps
6단계: Dynatrace에서 애플리케이션을 다시 검토
프런트 엔드 서비스 페이지를 검토하면 오류가 어떻게 사라졌는지 알 수 있습니다.
Dynatrace 문제 카드도 자동으로 종료되었습니다.
몇 가지 다른 문제를 시도해 보세요
Dynatrace Orders 애플리케이션에는 사전 구축된 문제가 서로 다른 버전으로 프로그래밍되어 있습니다. 애플리케이션은 버전 및 애플리케이션의 동작을 변경하는 데 사용할 수 있는 기능 플래그 URL로 프로그래밍되었습니다. 주문 및 고객 서비스를 위한 버전 1은 "정상" 동작을 가지며 버전을 2로 설정하면 문제가 사용 설정됩니다.
이 작업을 시도해 보려면 Dynatrace Orders 개요 페이지를 참조하세요.
Dynatrace 릴리스 페이지 내에서 Jira 이슈 쿼리 구성
릴리스 페이지에서 Dynatrace는 실시간 인벤토리에서 모니터링되는 엔터티와 관련된 이슈 통계를 포함하여 이슈 트래커 쿼리를 표시합니다.
1단계: JQL 정의
Jira의 이슈 검색에서 아래와 같은 Jira 쿼리 언어(JQL) 표현식을 구성합니다.
project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC
2단계: 릴리스 이슈 트래커 쿼리 만들기
1. Dynatrace 내에서 왼쪽 메뉴를 사용하여 릴리스 페이지로 이동합니다.
2. 릴리스 페이지에서 구성 버튼을 클릭합니다.
3. 릴리스 이슈 트래커 쿼리 설정 페이지에서 새 이슈 트래커 쿼리 추가 버튼을 클릭합니다.
4. 새 쿼리 양식에서 다음과 같이 값을 입력합니다.
- 이슈 레이블: dt-orders 프런트 엔드 이슈
- 이슈 쿼리: project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC
- 이슈 테마: 오류
- 이슈 트래커 시스템: Jira
- URL 대상: https://YOUR-COMPANY.atlassian.net
- 사용자 이름: 이메일과 같은 Jira 사용자 ID
- 비밀번호: 비워둡니다
- 토큰: 이 가이드의 앞부분에서 만든 Jira 사용자 토큰
5. 쿼리를 저장합니다.
3단계: 검토
1. 왼쪽 메뉴를 사용하여 릴리스 페이지로 돌아갑니다.
2. 이제 미해결 이슈에 대한 이슈 개수가 포함된 새 쿼리가 표시됩니다.
3. 이슈 행을 클릭하면 Jira가 열리고 이 큐를 검토합니다.
정리
1. 샘플 애플리케이션에 대해 온디맨드 호스트를 실행 중인 경우 종료합니다.
2. 샘플 애플리케이션을 중지하려면 샘플 애플리케이션을 실행하는 Linux 호스트로 이동하여 docker-compose.yaml 파일이 있는 디렉토리로 이동한 후 다음 명령을 실행하여 애플리케이션을 중지합니다.
sudo docker-compose -f docker-compose-services.yaml down
다음 명령으로 실행 중인 컨테이너가 없는지 확인합니다
sudo docker ps
3. Jira에서 이 자습서에 대해 만든 프로젝트를 삭제합니다.
4. Dynatrace에서 추가한 API 토큰 및 문제 알림 규칙을 삭제합니다.
자세히 알아보기
Atlassian Marketplace에서 Dynatrace Problem Integration for Jira 플러그인을 받으세요.
Dynatrace 커뮤니티에 질문하고 조언을 제공하세요.
여기에서 Dynatrace + Atlassian 기능에 대해 자세히 알아보세요.
Dynatrace + Atlassian에 대한 자세한 내용과 더 스마트하게 작업하는 방법은 여기에서 확인하세요.
이 Dynatrace Performance Clinic에서 Atlassian, Dynatrace 및 Keptn이 실제로 어떻게 사용되는지 확인해 보세요.
Atlassian Open DevOps에 대한 통합을 자세히 알아보세요
Jira 및 Dynatrace 통합을 설정하는 방법을 알아보려면 다른 자습서 Dynatrace와 Jira를 통합하여 가시성을 높이는 방법을 참조하세요.
이 기사 공유
다음 주제
여러분께 도움을 드릴 자료를 추천합니다.
이러한 리소스에 책갈피를 지정하여 DevOps 팀의 유형에 대해 알아보거나 Atlassian에서 DevOps에 대한 지속적인 업데이트를 확인하세요.