대시보드 구성
대시보드는 시작될 때 구성됩니다. 구성에는 프런트 엔드 및 OpenTelemetry 프로토콜(OTLP) 주소, 리소스 서비스 엔드포인트, 인증, 원격 분석 제한 등이 포함됩니다.
.NET .NET Aspire 앱 호스트 프로젝트로 대시보드가 시작되면 앱의 리소스 및 원격 분석을 표시하도록 자동으로 구성됩니다. 구성은 독립 실행형 모드대시보드를 시작할 때 제공됩니다.
구성을 제공하는 방법에는 여러 가지가 있습니다.
- 명령줄 인수입니다.
- 환경 변수.
:
구분 기호는 환경 변수 이름에서 이중 밑줄(__
)로 바꿔야 합니다. - 선택적 JSON 구성 파일입니다.
DOTNET_DASHBOARD_CONFIG_FILE_PATH
설정을 사용하여 JSON 구성 파일을 지정할 수 있습니다.
Docker 컨테이너에서 시작할 때 대시보드를 구성하는 방법을 보여주는 다음 예제를 살펴보겠습니다.
- Bash
-
PowerShell
docker run --rm -it -p 18888:18888 -p 4317:18889 -d --name aspire-dashboard \
-e DASHBOARD__TELEMETRYLIMITS__MAXLOGCOUNT='1000' \
-e DASHBOARD__TELEMETRYLIMITS__MAXTRACECOUNT='1000' \
-e DASHBOARD__TELEMETRYLIMITS__MAXMETRICSCOUNT='1000' \
mcr.microsoft.com/dotnet/aspire-dashboard:9.0
또는 DOTNET_DASHBOARD_CONFIG_FILE_PATH
사용하여 지정된 JSON 구성 파일을 사용하여 이러한 동일한 값을 구성할 수 있습니다.
{
"Dashboard": {
"TelemetryLimits": {
"MaxLogCount": 1000,
"MaxTraceCount": 1000,
"MaxMetricsCount": 1000
}
}
}
중요하다
대시보드에는 구성, 콘솔 로그 및 심층 원격 분석을 비롯한 리소스에 대한 정보가 표시됩니다.
대시보드에 표시되는 데이터는 중요할 수 있습니다. 예를 들어 환경 변수의 비밀 및 원격 분석의 중요한 런타임 데이터입니다. 액세스를 보호하도록 대시보드를 구성하려면 주의해야 합니다.
자세한 내용은 대시보드 보안
메모
이 페이지에 설명된 구성은 독립 실행형 대시보드용입니다. .NET .NET Aspire 앱 호스트 프로젝트를 구성하려면 앱 호스트 구성참조하세요.
일반 구성
선택 | 기본값 | 묘사 |
---|---|---|
ASPNETCORE_URLS |
http://localhost:18888 |
대시보드 프런트 엔드가 제공되는 하나 이상의 HTTP 엔드포인트입니다. 프런트 엔드 엔드포인트는 브라우저에서 대시보드를 보는 데 사용됩니다. .NET .NET Aspire 앱 호스트에서 대시보드를 시작하면 이 주소는 HTTPS로 보호됩니다. HTTPS를 사용하여 대시보드를 보호하는 것이 좋습니다. |
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL |
http://localhost:18889 |
OTLP/gRPC 엔드포인트입니다. 이 엔드포인트는 OTLP 서비스를 호스트하고 gRPC를 사용하여 원격 분석을 수신합니다. .NET .NET Aspire 앱 호스트에서 대시보드를 시작하면 이 주소는 HTTPS로 보호됩니다. HTTPS를 사용하여 대시보드를 보호하는 것이 좋습니다. |
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL |
http://localhost:18890 |
OTLP/HTTP 엔드포인트입니다. 이 엔드포인트는 OTLP 서비스를 호스트하고 HTTP를 통해 Protobuf를 사용하여 원격 분석을 수신합니다.
.NET
.NET Aspire 앱 호스트에서 대시보드를 시작하면 기본적으로 OTLP/HTTP 엔드포인트가 구성되지 않습니다. 앱 호스트를 사용하여 OTLP/HTTP 엔드포인트를 구성하려면 launchSettings에서 DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL env var 값을 설정합니다.json. HTTPS를 사용하여 대시보드를 보호하는 것이 좋습니다. |
DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS |
false |
인증을 사용하지 않도록 대시보드를 구성하고 익명 액세스를 허용합니다. 이 설정은 Dashboard:Frontend:AuthMode 구성하고 Unsecured Dashboard:Otlp:AuthMode 바로 가기입니다. |
DOTNET_DASHBOARD_CONFIG_FILE_PATH |
null |
JSON 구성 파일의 경로입니다. 대시보드가 Docker 컨테이너에서 실행되는 경우 탑재된 볼륨의 구성 파일 경로입니다. 이 값은 선택 사항입니다. |
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL |
null |
대시보드가 데이터에 연결하는 gRPC 엔드포인트입니다. 이 값을 지정하지 않으면 대시보드에 원격 분석 데이터가 표시되지만 리소스 목록이나 콘솔 로그는 표시되지 않습니다. 이 설정은 Dashboard:ResourceServiceClient:Url 바로 가기입니다. |
프런트 엔드 인증
대시보드 프런트 엔드 엔드포인트 인증은 Dashboard:Frontend:AuthMode
구성됩니다. 프런트 엔드는 OIDC(OpenID Connect) 또는 브라우저 토큰 인증을 사용하여 보호될 수 있습니다.
브라우저 토큰 인증은 토큰을 요청하는 프런트 엔드에서 작동합니다. 토큰은 UI에 입력하거나 로그인 페이지에 쿼리 문자열 값으로 제공할 수 있습니다. 예를 들어 https://localhost:1234/login?t=TheToken
. 토큰이 성공적으로 인증되면 인증 cookie 브라우저에 유지되고 브라우저가 앱으로 리디렉션됩니다.
선택 | 기본값 | 묘사 |
---|---|---|
Dashboard:Frontend:AuthMode |
BrowserToken |
BrowserToken , OpenIdConnect 또는 Unsecured 설정할 수 있습니다.
Unsecured 로컬 개발 중에만 사용해야 합니다. 대시보드를 공개적으로 호스팅하거나 다른 설정에서 호스트하는 경우에는 권장되지 않습니다. |
Dashboard:Frontend:BrowserToken |
null |
브라우저 토큰을 지정합니다. 브라우저 토큰을 지정하지 않으면 대시보드에서 토큰을 생성합니다. 브라우저 토큰 인증을 사용하여 로그인을 자동화하려는 도구는 토큰을 지정하고 쿼리 문자열에 토큰이 있는 브라우저를 열 수 있습니다. 대시보드가 시작될 때마다 새 토큰이 생성되어야 합니다. |
Dashboard:Frontend:OpenIdConnect:NameClaimType |
name |
인증된 사용자의 전체 이름을 표시하는 데 사용해야 하는 하나 이상의 클레임 유형을 지정합니다. 단일 클레임 유형 또는 쉼표로 구분된 클레임 형식 목록일 수 있습니다. |
Dashboard:Frontend:OpenIdConnect:UsernameClaimType |
preferred_username |
인증된 사용자의 사용자 이름을 표시하는 데 사용해야 하는 하나 이상의 클레임 유형을 지정합니다. 단일 클레임 유형 또는 쉼표로 구분된 클레임 형식 목록일 수 있습니다. |
Dashboard:Frontend:OpenIdConnect:RequiredClaimType |
null |
권한이 부여된 사용자에 대해 있어야 하는 클레임을 지정합니다. 이 클레임 없이 권한 부여가 실패합니다. 이 값은 선택 사항입니다. |
Dashboard:Frontend:OpenIdConnect:RequiredClaimValue |
null |
필요한 클레임의 값을 지정합니다.
Dashboard:Frontend:OpenIdConnect:RequireClaimType 지정한 경우에만 사용됩니다. 이 값은 선택 사항입니다. |
Authentication:Schemes:OpenIdConnect:Authority |
null |
ID 공급자(IdP)에 대한 URL입니다. |
Authentication:Schemes:OpenIdConnect:ClientId |
null |
RP(신뢰 당사자)의 ID입니다. |
Authentication:Schemes:OpenIdConnect:ClientSecret |
null |
실제 RP만 알 수 있는 비밀입니다. |
OpenIdConnectOptions 기타 속성 | null |
구성 섹션 Authentication:Schemes:OpenIdConnect:* 내의 값은 Scope 같은 OpenIdConnectOptions 바인딩됩니다. |
메모
SSL을 종료하는 역방향 프록시 뒤에 OpenIdConnect
인증 모드로 사용하는 경우 추가 구성이 필요할 수 있습니다.
true
ASPNETCORE_FORWARDEDHEADERS_ENABLED
설정해야 하는지 확인합니다.
자세한 내용은 프록시 서버 및 부하 분산 장치작동하도록 ASP.NET Core 구성을 참조하세요.
OTLP 인증
OTLP 엔드포인트 인증은 Dashboard:Otlp:AuthMode
구성됩니다. OTLP 엔드포인트는 API 키 또는 client 인증서 인증으로 보호될 수 있습니다.
API 키 인증은 각 OTLP 요청에 유효한 x-otlp-api-key
헤더 값이 있어야 합니다. 기본 키 또는 보조 키와 일치해야 합니다.
선택 | 기본값 | 묘사 |
---|---|---|
Dashboard:Otlp:AuthMode |
Unsecured |
ApiKey , Certificate 또는 Unsecured 설정할 수 있습니다.
Unsecured 로컬 개발 중에만 사용해야 합니다. 대시보드를 공개적으로 호스팅하거나 다른 설정에서 호스트하는 경우에는 권장되지 않습니다. |
Dashboard:Otlp:PrimaryApiKey |
null |
기본 API 키를 지정합니다. API 키는 모든 텍스트일 수 있지만 엔트로피가 128비트 이상인 값을 사용하는 것이 좋습니다. 인증 모드가 API 키인 경우 이 값이 필요합니다. |
Dashboard:Otlp:SecondaryApiKey |
null |
보조 API 키를 지정합니다. API 키는 모든 텍스트일 수 있지만 엔트로피가 128비트 이상인 값을 사용하는 것이 좋습니다. 이 값은 선택 사항입니다. 두 번째 API 키를 지정하면 들어오는 x-otlp-api-key 헤더 값이 기본 또는 보조 키와 일치할 수 있습니다. |
OTLP CORS
브라우저 앱이 대시보드에 원격 분석을 보낼 수 있도록 CORS(원본 간 리소스 공유)를 구성할 수 있습니다.
기본적으로 브라우저 앱은 도메인 간 API 호출을 할 수 없습니다. 대시보드와 브라우저 앱은 항상 서로 다른 도메인에 있기 때문에 이는 대시보드에 원격 분석을 보내는 데 영향을 줍니다. CORS를 구성하려면 Dashboard:Otlp:Cors
섹션을 사용하고 허용된 원본 및 헤더를 지정합니다.
{
"Dashboard": {
"Otlp": {
"Cors": {
"AllowedOrigins": "http://localhost:5000,https://localhost:5001"
}
}
}
}
다음 구성 옵션을 고려합니다.
선택 | 기본값 | 묘사 |
---|---|---|
Dashboard:Otlp:Cors:AllowedOrigins |
null |
CORS에 허용되는 원본을 지정합니다. 쉼표로 구분된 문자열이며 모든 도메인을 허용하는 * 와일드카드를 포함할 수 있습니다. 이 옵션은 선택 사항이며 DASHBOARD__OTLP__CORS__ALLOWEDORIGINS 환경 변수를 사용하여 설정할 수 있습니다. |
Dashboard:Otlp:Cors:AllowedHeaders |
null |
CORS에 허용되는 헤더를 나타내는 쉼표로 구분된 문자열입니다. 이 설정은 선택 사항이며 DASHBOARD__OTLP__CORS__ALLOWEDHEADERS 환경 변수를 사용하여 설정할 수 있습니다. |
메모
대시보드는 원격 분석을 보내기 위한 POST
메서드만 지원하며 CORS에 대해 허용되는 메서드(Access-Control-Allow-Methods
)의 구성을 허용하지 않습니다.
리소스
대시보드는 리소스 서비스에 연결하여 리소스 정보를 로드하고 표시합니다. client 서비스에 연결하는 방법에 대한 대시보드에 구성됩니다.
리소스 서비스 client 인증은 Dashboard:ResourceServiceClient:AuthMode
구성됩니다. API 키 또는 client 인증서 인증을 지원하도록 client 구성할 수 있습니다.
선택 | 기본값 | 묘사 |
---|---|---|
Dashboard:ResourceServiceClient:Url |
null |
대시보드가 데이터에 연결하는 gRPC 엔드포인트입니다. 이 값을 지정하지 않으면 대시보드에 원격 분석 데이터가 표시되지만 리소스 목록이나 콘솔 로그는 표시되지 않습니다. |
Dashboard:ResourceServiceClient:AuthMode |
null |
ApiKey , Certificate 또는 Unsecured 설정할 수 있습니다.
Unsecured 로컬 개발 중에만 사용해야 합니다. 대시보드를 공개적으로 호스팅하거나 다른 설정에서 호스트하는 경우에는 권장되지 않습니다. 리소스 서비스 URL을 지정하는 경우 이 값이 필요합니다. |
Dashboard:ResourceServiceClient:ApiKey |
null |
x-resource-service-api-key 헤더의 리소스 서비스로 보낼 API입니다. 인증 모드가 API 키인 경우 이 값이 필요합니다. |
Dashboard:ResourceServiceClient:ClientCertificate:Source |
null |
File 또는 KeyStore 설정할 수 있습니다. 인증 모드가 인증서를 client 경우 이 값이 필요합니다. |
Dashboard:ResourceServiceClient:ClientCertificate:FilePath |
null |
인증서 파일 경로입니다. 이 값은 원본이 File 경우에 필요합니다. |
Dashboard:ResourceServiceClient:ClientCertificate:Password |
null |
인증서 파일의 암호입니다. 이 값은 선택 사항입니다. |
Dashboard:ResourceServiceClient:ClientCertificate:Subject |
null |
인증서 주체입니다. 이 값은 원본이 KeyStore 경우에 필요합니다. |
Dashboard:ResourceServiceClient:ClientCertificate:Store |
My |
인증서 StoreName. |
Dashboard:ResourceServiceClient:ClientCertificate:Location |
CurrentUser |
인증서 StoreLocation. |
원격 분석 제한
원격 분석은 메모리에 저장됩니다. 과도한 메모리 사용을 방지하기 위해 대시보드에는 저장된 원격 분석의 수와 크기에 제한이 있습니다. 개수 제한에 도달하면 새 원격 분석이 추가되고 가장 오래된 원격 분석이 제거됩니다. 크기 제한에 도달하면 데이터가 제한으로 잘립니다.
원격 분석 제한은 원격 분석 유형에 따라 서로 다른 범위를 갖습니다.
-
MaxLogCount
및MaxTraceCount
리소스 간에 공유됩니다. 예를 들어 5,000의MaxLogCount
값은 모든 리소스에 대해 최대 5,000개의 총 로그 항목을 저장하도록 대시보드를 구성합니다. -
MaxMetricsCount
리소스당입니다. 예를 들어 10,000의MaxMetricsCount
값은 리소스당 최대 10,000개의 메트릭 데이터 요소를 저장하도록 대시보드를 구성합니다.
선택 | 기본값 | 묘사 |
---|---|---|
Dashboard:TelemetryLimits:MaxLogCount |
10,000 | 로그 항목의 최대 수입니다. 제한은 리소스 간에 공유됩니다. |
Dashboard:TelemetryLimits:MaxTraceCount |
10,000 | 로그 추적의 최대 수입니다. 제한은 리소스 간에 공유됩니다. |
Dashboard:TelemetryLimits:MaxMetricsCount |
50,000 | 메트릭 데이터 포인트의 최대 수입니다. 한도는 리소스당입니다. |
Dashboard:TelemetryLimits:MaxAttributeCount |
128 | 원격 분석의 최대 특성 수입니다. |
Dashboard:TelemetryLimits:MaxAttributeLength |
null |
특성의 최대 길이입니다. |
Dashboard:TelemetryLimits:MaxSpanEventCount |
null |
범위 특성의 최대 이벤트 수입니다. |
다른
선택 | 기본값 | 묘사 |
---|---|---|
Dashboard:ApplicationName |
Aspire |
UI에 표시할 애플리케이션 이름입니다. 이는 리소스 서비스 URL이 지정되지 않은 경우에만 적용됩니다. 리소스 서비스가 있는 경우 서비스는 애플리케이션 이름을 지정합니다. |
다음 단계
.NET Aspire