다음을 통해 공유


대시보드 구성

대시보드는 시작될 때 구성됩니다. 구성에는 프런트 엔드 및 OpenTelemetry 프로토콜(OTLP) 주소, 리소스 서비스 엔드포인트, 인증, 원격 분석 제한 등이 포함됩니다.

.NET .NET Aspire 앱 호스트 프로젝트로 대시보드가 시작되면 앱의 리소스 및 원격 분석을 표시하도록 자동으로 구성됩니다. 구성은 독립 실행형 모드대시보드를 시작할 때 제공됩니다.

구성을 제공하는 방법에는 여러 가지가 있습니다.

  • 명령줄 인수입니다.
  • 환경 변수. : 구분 기호는 환경 변수 이름에서 이중 밑줄(__)로 바꿔야 합니다.
  • 선택적 JSON 구성 파일입니다. DOTNET_DASHBOARD_CONFIG_FILE_PATH 설정을 사용하여 JSON 구성 파일을 지정할 수 있습니다.

Docker 컨테이너에서 시작할 때 대시보드를 구성하는 방법을 보여주는 다음 예제를 살펴보겠습니다.

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 구성하고 UnsecuredDashboard: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.

원격 분석 제한

원격 분석은 메모리에 저장됩니다. 과도한 메모리 사용을 방지하기 위해 대시보드에는 저장된 원격 분석의 수와 크기에 제한이 있습니다. 개수 제한에 도달하면 새 원격 분석이 추가되고 가장 오래된 원격 분석이 제거됩니다. 크기 제한에 도달하면 데이터가 제한으로 잘립니다.

원격 분석 제한은 원격 분석 유형에 따라 서로 다른 범위를 갖습니다.

  • MaxLogCountMaxTraceCount 리소스 간에 공유됩니다. 예를 들어 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이 지정되지 않은 경우에만 적용됩니다. 리소스 서비스가 있는 경우 서비스는 애플리케이션 이름을 지정합니다.

다음 단계

대시보드 실행하기 위한 보안 고려 사항