ダッシュボードの構成
ダッシュボードは起動時に構成されます。 構成には、フロントエンドと 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
}
}
}
大事な
ダッシュボードには、構成、コンソール ログ、詳細なテレメトリなど、リソースに関する情報が表示されます。
ダッシュボードに表示されるデータは機密性の高い場合があります。 たとえば、環境変数のシークレットや、テレメトリ内の機密性の高いランタイム データなどです。 アクセスをセキュリティで保護するようにダッシュボードを構成するには、注意が必要です。
詳細については、ダッシュボードのセキュリティ
手記
このページで説明する構成は、スタンドアロン ダッシュボード用です。
一般的な構成
オプション | 既定値 | 形容 |
---|---|---|
ASPNETCORE_URLS |
http://localhost:18888 |
ダッシュボード フロントエンドが提供される 1 つ以上の 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 サービスをホストし、Protobuf over HTTP を使用してテレメトリを受信します。
.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 と Dashboard:Otlp:AuthMode を Unsecured に構成するためのショートカットです。 |
DOTNET_DASHBOARD_CONFIG_FILE_PATH |
null |
JSON 構成ファイルのパス。 ダッシュボードが Docker コンテナーで実行されている場合、これはマウントされたボリューム内の構成ファイルへのパスです。 この値は省略可能です。 |
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL |
null |
ダッシュボードがデータに接続する gRPC エンドポイント。 この値が指定されていない場合、ダッシュボードにはテレメトリ データが表示されますが、リソース一覧やコンソール ログは表示されません。 この設定は、Dashboard:ResourceServiceClient:Url へのショートカットです。 |
フロントエンド認証
ダッシュボード フロントエンド エンドポイント認証は、Dashboard:Frontend:AuthMode
で構成されます。 フロントエンドは、OpenID Connect (OIDC) またはブラウザー トークン認証で保護できます。
ブラウザー トークン認証は、フロントエンドがトークンを要求することで機能します。 トークンは 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 |
認証されたユーザーのフル ネームを表示するために使用する必要がある 1 つ以上の要求の種類を指定します。 1 つの要求の種類または要求の種類のコンマ区切りのリストを指定できます。 |
Dashboard:Frontend:OpenIdConnect:UsernameClaimType |
preferred_username |
認証されたユーザーのユーザー名を表示するために使用する必要がある 1 つ以上の要求の種類を指定します。 1 つの要求の種類または要求の種類のコンマ区切りのリストを指定できます。 |
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
を使用する場合は、追加の構成が必要になる場合があります。
ASPNETCORE_FORWARDEDHEADERS_ENABLED
を true
に設定する必要があるかどうかを確認します。
詳細については、「プロキシ サーバーとロード バランサーを操作するように ASP.NET Core を構成する」を参照してください。
OTLP 認証
OTLP エンドポイント認証は、Dashboard:Otlp:AuthMode
で構成されます。 OTLP エンドポイントは、API キーまたは認証
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 ビットのエントロピを持つ値をお勧めします。 この値は省略可能です。 2 つ目の 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 環境変数を使用して設定できます。 |
手記
ダッシュボードでは、テレメトリを送信するための
リソース
ダッシュボードはリソース サービスに接続して、リソース情報を読み込んで表示します。 client は、サービスに接続する方法をダッシュボードで構成します。
リソース サービス client 認証は、Dashboard:ResourceServiceClient:AuthMode
で構成されます。
client は、API キーまたは 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
は、リソース間で共有されます。 たとえば、MaxLogCount
値が 5,000 の場合、すべてのリソースに対して最大 5,000 個のログ エントリを格納するようにダッシュボードが構成されます。 -
MaxMetricsCount
はリソース単位です。 たとえば、MaxMetricsCount
値が 10,000 の場合、リソースあたり最大 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 .NET Aspire ダッシュボード を実行するためのセキュリティに関する考慮事項
.NET Aspire