지속성 작업 스케줄러 대시보드를 사용하면 실행 중인 오케스트레이션을 관찰하고, 실행 기록 및 작업 입력/출력을 검사하고, 오케스트레이션 수명 주기(일시 중지, 다시 시작, 종료)를 모두 브라우저에서 관리할 수 있습니다.
대시보드는 다음 두 가지 환경에서 사용할 수 있습니다.
| Environment | URL | Authentication |
|---|---|---|
| 로컬 에뮬레이터 | http://localhost:8082 |
필요한 항목 없음 |
| Azure | https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> |
지속성 작업 데이터 기여자 역할이 필요합니다. |
에뮬레이터에 대한 자세한 내용은 로컬 개발에 대한 에뮬레이터를 참조하세요.
이 문서에서는 다음 방법을 알아봅니다.
- 로컬 또는 Azure 대시보드에 액세스합니다.
- 지속성 작업 데이터 기여자 역할을 개발자 ID에 할당합니다.
- 오케스트레이션 상태를 모니터링하고, 인스턴스를 필터링하고, 실행 기록을 검사합니다.
- 오케스트레이션을 관리합니다(일시 중지, 다시 시작, 종료, 이벤트 발생).
사전 요구 사항
시작하기 전에 다음을 수행하십시오.
로컬로 대시보드 액세스
지속성 작업 스케줄러 에뮬레이터를 사용하는 경우 대시보드는 다음 위치에서 사용할 수 있습니다.
http://localhost:8082
로컬 개발에는 인증 또는 역할 할당이 필요하지 않습니다.
대시보드 액세스 역할 할당(Azure)
Azure 호스팅 스케줄러에 대한 대시보드에 액세스하려면 구성 가능한 작업 데이터 기여자 역할을 개발자 ID(이메일)에 할당합니다.
개발자 ID로 담당자를 설정합니다.
assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)범위를 설정합니다. 스케줄러 범위에 대한 액세스 권한을 부여하면 해당 스케줄러의 모든 작업 허브에 액세스할 수 있습니다.
작업 허브
scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASK_HUB_NAME"Scheduler
scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"액세스 권한을 부여합니다. 다음 명령을 실행하여 역할 할당을 만들고 액세스 권한을 부여합니다.
az role assignment create \ --assignee "$assignee" \ --role "Durable Task Data Contributor" \ --scope "$scope"예상 출력
다음 출력 예제에서는 스케줄러 수준에서 지속성 작업 데이터 기여자 역할로 할당된 개발자 ID를 보여줍니다.
{ "condition": null, "conditionVersion": null, "createdBy": "YOUR_DEVELOPER_CREDENTIAL_ID", "createdOn": "2024-12-20T01:36:45.022356+00:00", "delegatedManagedIdentityResourceId": null, "description": null, "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME/providers/Microsoft.Authorization/roleAssignments/ROLE_ASSIGNMENT_ID", "name": "ROLE_ASSIGNMENT_ID", "principalId": "YOUR_DEVELOPER_CREDENTIAL_ID", "principalName": "YOUR_EMAIL", "principalType": "User", "resourceGroup": "YOUR_RESOURCE_GROUP", "roleDefinitionId": "/subscriptions/YOUR_SUBSCRIPTION/providers/Microsoft.Authorization/roleDefinitions/ROLE_DEFINITION_ID", "roleDefinitionName": "Durable Task Data Contributor", "scope": "/subscriptions/YOUR_SUBSCRIPTION/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME", "type": "Microsoft.Authorization/roleAssignments", "updatedBy": "YOUR_DEVELOPER_CREDENTIAL_ID", "updatedOn": "2024-12-20T01:36:45.022356+00:00" }액세스 권한을 부여한 후 다음 위치에서 대시보드를 엽니다.
https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME>스케줄러의 엔드포인트(
<SCHEDULER_ENDPOINT>)와 작업 허브의 이름(<TASK_HUB_NAME>)을https://myscheduler.westus2.durabletask.io와 바꾸십시오.또는
https://dashboard.durabletask.io/로 이동하여 연결 양식에 스케줄러 엔드포인트와 작업 허브 이름을 입력하세요.
메모
다음 명령은 특정 작업 허브로 범위가 지정된 역할 할당을 보여 줍니다. 스케줄러의 모든 작업 허브에 액세스해야 하는 경우 스케줄러 수준에서 할당을 수행합니다.
포털에서 지속성 작업 스케줄러 리소스로 이동합니다.
작업 허브 이름을 클릭합니다.
왼쪽 메뉴에서 액세스 제어(IAM)를 선택합니다.
추가를 클릭하여 역할 할당을 추가합니다.
내구성 있는 작업 데이터 기여자를 검색하여 선택합니다. 다음을 클릭합니다.
멤버 탭의 액세스 할당에서 사용자, 그룹 또는 서비스 주체를 선택합니다.
구성원의 경우 + 구성원 선택을 클릭합니다.
구성원 선택 창에서 이름 또는 전자 메일을 검색합니다.
전자 메일을 선택하고 선택 단추를 클릭합니다.
검토 + 할당을 클릭하여 역할 할당을 완료합니다.
역할이 할당되면 작업 허브 리소스의 왼쪽 메뉴에서 개요 를 클릭하고 최상위 Essentials 섹션에 있는 대시보드 URL로 이동합니다.
오케스트레이션 진행률 및 실행 기록 모니터링
대시보드를 사용하면 오케스트레이션 진행률을 모니터링하고 실행 기록을 검토할 수 있습니다. 다음 조건을 사용하여 오케스트레이션 목록을 필터링할 수 있습니다.
- 인스턴스 ID - 고유 ID로 특정 오케스트레이션을 검색합니다.
- 오케스트레이션 이름 - 오케스트레이션 형식 이름으로 필터링합니다.
- 상태 - 런타임 상태(실행 중, 완료됨, 실패, 종료됨, 보류 중, 일시 중단됨)로 필터링합니다.
- 만든 시간 범위 - 결과 범위를 시간 창으로 좁힐 수 있습니다.
오케스트레이션 입력 및 출력 보기:
오케스트레이션 실행에 대한 자세한 보기
오케스트레이션 인스턴스를 드릴다운하여 실행 세부 정보 및 작업 진행률을 볼 수 있습니다. 이 보기를 사용하면 문제를 진단하거나 오케스트레이션의 상태를 파악할 수 있습니다.
다음 이미지에서 오케스트레이션 실행의 타임라인 보기입니다. 이 "ProcessDocument" 오케스트레이션에서 "WriteDoc" 작업은 5초의 간격을 두고 세 번 재시도했지만 모두 실패했습니다.
오케스트레이션에서 활동의 입력 및 출력을 볼 수도 있습니다.
오케스트레이션 실행 시퀀스의 다른 보기
기록 보기에는 자세한 이벤트 시퀀스, 타임스탬프 및 페이로드가 표시됩니다.
시퀀스 뷰는 이벤트 시퀀스를 시각화하는 또 다른 방법을 제공합니다.
오케스트레이션 관리
대시보드에는 주문형 오케스트레이션 수명 주기를 관리하기 위한 기능이 포함되어 있습니다. 사용 가능한 작업은 다음과 같습니다.
- 일시 중단 - 실행 중인 오케스트레이션을 일시 중지합니다. 메모리에 남아 있지만 다시 시작될 때까지 이벤트 처리를 중지합니다.
- 다시 시작 - 이전에 일시 중단된 오케스트레이션을 계속합니다.
- 종료 - 선택적 이유 문자열을 사용하여 오케스트레이션을 즉시 중지합니다.
- 이벤트 발생 - 실행 중이거나 일시 중단된 오케스트레이션에 명명된 외부 이벤트(선택적 JSON 페이로드 포함)를 보냅니다.
다음 단계
Durable Functions를 위한 지속형 작업 스케줄러의 경우:
지속형 작업 SDK용 지속형 작업 스케줄러의 경우: