Azure Container Apps(미리 보기)에서 .NET Aspire 대시보드를 사용하여 실시간 앱 데이터 읽기
.NET Aspire 대시보드는 환경 내에서 애플리케이션 및 기타 리소스가 어떻게 실행되는지에 대한 실시간 데이터를 표시합니다.
다음 이미지는 .NET Aspire Dashboard에서 생성된 추적 시각화의 스크린샷입니다.
대시보드에 표시되는 정보는 두 가지 원본에서 제공됩니다.
OTel(OpenTelemetry)은 애플리케이션의 추적, 메트릭, 로그를 추적하는 오픈 소스 라이브러리입니다. 이 설명서에서는 Aspire 대시보드가 OTel과 통합되는 방법에 대한 자세한 정보를 제공합니다.
- 추적은 요청의 수명 주기를 추적합니다. 즉, 요청이 애플리케이션의 여러 부분 사이를 이동할 때 어떻게 수신되고 처리되는지를 추적합니다. 이 정보는 병목 현상과 기타 문제를 식별하는 데 유용합니다.
- 메트릭은 인프라의 전반적인 상태와 성능을 실시간으로 측정한 것입니다. 예를 들어, CPU 리소스가 얼마나 소모되었는지, 애플리케이션이 초당 처리하는 트랜잭션 수가 얼마인지 등을 측정합니다. 이 정보는 앱의 반응성을 이해하거나 성능 문제의 조기 경고 신호를 식별하는 데 유용합니다.
- 로그는 애플리케이션 실행 중에 발생하는 모든 이벤트와 오류를 기록합니다. 이 정보는 문제가 발생한 시점과 관련된 이벤트를 찾는 데 유용합니다.
Kubernetes API는 애플리케이션이 실행되는 기본 Kubernetes Pod와 해당 로그에 대한 정보를 제공합니다.
대시보드는 무단 액세스 및 수정으로부터 보호됩니다. 대시보드를 사용하려면 사용자에게 '쓰기' 권한 이상이 있어야 합니다. 즉, 해당 환경에서 기여자 또는 소유자여야 합니다.
대시보드 활성화
팁
포털을 선택적으로 사용할 수 있지만 대시보드를 사용하도록 설정하는 데 권장되는 방식은 azd를 사용하는 것입니다. 포털을 사용하면서 문제가 발생하면 Container Apps GitHub 리포지토리에서 문제를 만듭니다.
다음 단계에서 기존 컨테이너 앱에서 .NET Aspire 대시보드를 사용하도록 설정할 수 있습니다.
Azure Portal로 이동합니다.
컨테이너 앱으로 이동합니다.
개요 페이지에서 .NET Aspire 대시보드 레이블을 찾아 사용을 선택합니다. 이 작업을 수행하면 .NET Aspire 대시보드 설정 페이지가 열립니다.
설정 페이지의 .NET Aspire 대시보드 레이블 옆에 있는 사용 확인란을 선택합니다. .NET Aspire 대시보드가 아닌 로깅과 관련되므로 이 페이지의 다른 설정을 무시할 수 있습니다.
컨테이너 앱의 개요 페이지에서 .NET Aspire 대시보드 레이블을 찾습니다. 사용 링크가 Open 대시보드 링크로 대체되었습니다. 해당 링크를 선택합니다. 링크를 표시하려면 개요 페이지를 다시 로드해야 할 수 있습니다.
Container Apps 환경으로 이동하고 모니터링>로깅 옵션을 선택하여 .NET Aspire 대시보드 설정을 찾을 수도 있습니다.
다음 명령을 사용하여 기존 컨테이너 앱 환경에서 .NET Aspire 대시보드를 사용하도록 설정할 수 있습니다. 값을 <PLACEHOLDERS>
대체합니다.
az containerapp env dotnet-component create \
--environment <ENVIRONMENT_NAME> \
--name aspire-dashboard \
--resource-group <RESOURCE_GROUP_NAME>
create
명령은 브라우저에서 열 수 있는 대시보드 URL을 반환합니다.
다음 단계에서 기존 컨테이너 앱에서 .NET Aspire 대시보드를 사용하도록 설정할 수 있습니다.
dotnet new aspire-starter
azd init --location westus2
azd config set aspire.dashboard on
azd up
up
명령은 브라우저에서 열 수 있는 대시보드 URL을 반환합니다.
문제 해결
대시보드를 사용하도록 설정하는 데 문제가 있는 경우 다음 항목을 참조하세요.
포털이 대시보드를 활성화하는 데 최대 2분이 걸릴 수 있습니다. 준비되기 전에 대시보드로 이동하려고 하면 서버가
404
또는421
오류를 반환합니다.421
"잘못된 요청" 오류가 발생하는 경우 브라우저 창을 닫고 몇 분 정도 기다린 후 다시 시도합니다.대시보드에 액세스할 때 "요청된 리소스로 사용자를 인증할 수 없음"이라는 인증 오류가 표시될 수 있습니다.
이 문제는 보안 그룹 권한이 컨테이너 앱 환경으로 전파되지 않기 때문에 발생합니다. 이 문제를 해결하려면 Container Apps 환경에서 참가자 또는 소유자 역할을 명시적으로 지정해야 합니다. 이 작업은 다음 단계를 통해 수행할 수 있습니다.
-
리소스로 이동합니다.
- Azure Portal을 열고 컨테이너 앱 환경을 검색합니다.
-
액세스 제어(IAM) 블레이드에 액세스합니다.
- 컨테이너 앱 환경에 대한 액세스 제어(IAM) 를 클릭합니다.
-
기존 역할 할당 확인:
- 사용자(또는 계정)에게 역할이 할당되었는지 확인합니다. 권한은 현재 보안 그룹을 통해 전파되지 않습니다.
- 그렇지 않은 경우 나머지 단계에 따라 역할을 할당합니다.
- 명시적 역할 할당: - 역할 할당 추가 > 를 클릭합니다. - 역할 선택: 필요한 액세스 수준에 적합한 기여자 또는 소유자 중 하나를 선택합니다. - 사용자 계정에 역할을 명시적으로 할당합니다(예: youremail@domain.com).
-
저장 및 확인:
- 변경 내용을 저장합니다. 역할이 역할 할당 섹션 아래에 표시되는지 확인합니다.
-
대시보드 액세스 확인:
- Aspire 대시보드에 액세스하여 테스트합니다. 오류가 계속 발생하면 팀에 문의하세요.
-
리소스로 이동합니다.