FinOps ツールキットの一般的なエラーのトラブルシューティング
この記事では、FinOps ツールキットの一般的なエラーについて説明し、ソリューションに関する情報を提供します。 理解できない、または解決できない FinOps ツールキット ソリューションを使用しているときにエラーが発生した場合は、次の対応するエラー コードと軽減手順を見つけて問題を解決してください。
軽減情報を含む一般的なエラー コードの一覧を次に示します。
提供された情報で問題が解決しない場合は、 トラブルシューティング ガイドを試してください。
BadHubVersion
重大度: Critical
FinOps Hubs 0.2 は動作していません。 バージョン 0.3 以降にアップグレードします。
軽減策: 最新バージョンの FinOps ハブにアップグレードします。
InvalidExportContainer
重大度: Critical
このファイルは Cost Management からエクスポートされる可能性がありますが、正しいコンテナー内にありません。
軽減策: "msexports" ストレージ コンテナーをポイントするように Cost Management エクスポートを更新します。 "インジェスト" コンテナーは、取り込まれたコスト データのクエリにのみ使用されます。
InvalidExportVersion
重大度: Critical
FinOps ハブにはフォーカス コストのエクスポートが必要ですが、このファイルは従来の Cost Management エクスポートのようになります。
軽減策: FOCUS コスト用の新しい Cost Management エクスポートを作成し、現在のエクスポートを停止するか、別のストレージ コンテナーにエクスポートするように変更します。
InvalidHubVersion
重大度: Critical
FinOps Hubs 0.1.1 以前は、 Data インジェスト Power BI レポートでは機能しません。
軽減策: FinOps ハブの最新バージョンにアップグレードするか リリース 0.1.1 から Power BI レポートをダウンロード。
InvalidScopeId
重大度: 情報
エクスポート パスが有効なスコープ ID ではありません。 FinOps ハブでは、エクスポート パスが、管理を簡略化するためにエクスポートが作成されたスコープの Azure リソース ID であることが想定されています。 エラーが発生することはありませんが、スコープ関連のレポートの結果が混乱する可能性があります。
軽減策: Cost Management エクスポートのストレージ パスを更新して、スコープに完全な Azure リソース ID を使用します。
ExportDataNotFound
重大度: Critical
指定したストレージ パスにエクスポートが見つかりませんでした。
軽減策: Cost Management エクスポート が作成され、適切なストレージ アカウント、コンテナー、およびストレージ パスで構成されたことを確認します。 作成後、[今すぐ実行] を選択してエクスポート プロセスを開始します。 エクスポートの完了には、アカウントのサイズに応じて 15 ~ 30 分かかる場合があります。 FinOps ハブを使用する場合は、"インジェスト" コンテナーを指すようにストレージ URL を修正します。 完全な URL については、FinOps ハブデプロイからの storageUrlForPowerBI
出力を参照してください。
HubDataNotFound
重大度: Critical
FinOps ハブのデータが、指定されたストレージ アカウントに見つかりませんでした。
軽減策: このエラーは、FinOps ハブのデプロイに接続していることを前提としています。 生のエクスポートを使用する場合は、 ingestion
コンテナーを参照しないようにストレージ パスを修正します。 次の情報を確認します。
- ストレージ URL は、FinOps ハブデプロイの
StorageUrlForPowerBI
出力と一致している必要があります。 - Cost Management エクスポートは、
msexports
コンテナーを使用して同じストレージ アカウントをポイントするように構成する必要があります。 - Cost Management のエクスポートでは、実行履歴に正常なエクスポートが表示されます。
- FinOps ハブ データ ファクトリのトリガーはすべて開始する必要があります。
- FinOps ハブ のデータ ファクトリ パイプラインが正常に実行されるはずです。
詳細とデバッグ手順については、「 FinOps ハブのデプロイを検証するを参照してください。
MissingContractedCost
重大度: 情報
このエラー コードは、ContractedCost
が null または 0 で、EffectiveCost
が 0 より大きい場合に、x_DatasetChanges
列に表示されます。 このエラーは、Microsoft Cost Management に指定された行の ContractedCost
が含まれていないことを示しています。これは、節約を計算できないことを意味します。
軽減策: 不足しているデータの回避策として、FinOps ツールキットレポートは、このエラー コードでフラグが設定された行のContractedCost
列にEffectiveCost
をコピーします。 これらのレコードでは、節約は使用できません。
完全な節約額を計算するために、コストと使用状況データを価格と結合できます。 詳細については、「 issue #873」を参照してください。
MissingContractedUnitPrice
重大度: 情報
このエラー コードは、ContractedUnitPrice
が null または 0 で、EffectiveUnitPrice
が 0 より大きい場合に、x_DatasetChanges
列に表示されます。 このエラーは、Microsoft Cost Management に指定された行の ContractedUnitPrice
が含まれていないことを示しています。これは、節約を計算できないことを意味します。
軽減策: 不足しているデータの回避策として、FinOps ツールキットレポートは、このエラー コードでフラグが設定された行のContractedUnitPrice
列にEffectiveUnitPrice
をコピーします。 これらのレコードでは、節約は使用できません。
完全な節約額を計算するために、コストと使用状況データを価格と結合できます。 詳細については、「 issue #873」を参照してください。
MissingListCost
重大度: 情報
このエラー コードは、ListCost
が null または 0 で、ContractedCost
が 0 より大きい場合に、x_DatasetChanges
列に表示されます。 このエラーは、Microsoft Cost Management に指定された行の ListCost
が含まれていないことを示しています。これは、節約を計算できないことを意味します。
軽減策: 不足しているデータの回避策として、FinOps ツールキットレポートは、このエラー コードでフラグが設定された行のListCost
列にContractedCost
をコピーします。 これらのレコードでは、節約は使用できません。
完全な節約額を計算するために、コストと使用状況データを価格と結合できます。 詳細については、「 issue #873」を参照してください。
MissingListUnitPrice
重大度: 情報
このエラー コードは、ListUnitPrice
が null または 0 で、ContractedUnitPrice
が 0 より大きい場合に、x_DatasetChanges
列に表示されます。 このエラーは、Microsoft Cost Management に指定された行の ListUnitPrice
が含まれていないことを示しています。これは、節約を計算できないことを意味します。
軽減策: 不足しているデータの回避策として、FinOps ツールキットレポートは、このエラー コードでフラグが設定された行のListUnitPrice
列にContractedUnitPrice
をコピーします。 これらのレコードでは、節約は使用できません。
完全な節約額を計算するために、コストと使用状況データを価格と結合できます。 詳細については、「 issue #873」を参照してください。
ManifestReadFailed
重大度: Critical
パイプライン msexports_ExecuteETL FinOps ハブが Cost Management マニフェスト ファイルを読み取れませんでした。
対応策:
- ハブまたはエクスポートに変更が加えられたときに作業ハブ インスタンスでエラーが発生した場合、Cost Management によって既存の API バージョンのマニフェスト スキーマが変更された可能性があります。
- 新規の作成または既存のエクスポートの変更後にエラーが発生した場合、エクスポート API のバージョンでは、サポートされていない新しいマニフェスト スキーマが使用される可能性があります。
- ハブのデプロイ (初期インストールまたはアップグレード) の後にエラーが発生した場合、デプロイが失敗したか、パイプラインにバグがある可能性があります。
マニフェスト スキーマ (#1) または API バージョン (#2) を確認するには、
- Azure portal またはストレージ エクスプローラーでハブ ストレージ アカウントを開きます。
- Azure portal の場合は、メニューの Storage ブラウザー に移動します。
- msexports コンテナーを選択します。
- 問題があるエクスポートのファイル階層を下に移動します (エラー メッセージのマニフェストの場所を参照してください)。
- manifest.json ファイルを見つけてメニュー (⋯) を選択し、表示/編集を選択します。
- 次のプロパティを特定します。
{ "exportConfig": { "resourceId": "<scope-id>/providers/Microsoft.CostManagement/exports/<export-name>", "dataVersion": "<dataset-version>", "apiVersion": "2023-07-01-preview", "type": "<dataset-type>", ... }, ... }
- 次のサポートされている値に設定されていることを確認します。
- resourceId には任意のスコープ ID とエクスポート名を指定できますが、"Microsoft.CostManagement/exports" リソースの種類と共に存在する必要があります。 大文字と小文字は区別されません。
- type は存在する必要がありますが、null 以外の値の場合は、このエラーで失敗しないでください。
- dataVersion は存在する必要がありますが、null 以外の値の場合は、このエラーで失敗しないでください。
- apiVersion は明示的には使用されませんが、マニフェスト スキーマの変更を示すことができます。 詳細については、 サポートされている API のバージョン を参照してください。
- 新しい API バージョンを使用している場合:
- 新しい API バージョンのサポートの追加を追跡するには、GitHub で変更要求の問題を作成。
- Cost Management でエクスポートを削除します。
- サポートされている API バージョンを使用して、 New-FinOpsCostExport PowerShell コマンド を使用してエクスポートを作成します。
ヒント
自分をパワー ユーザーと考える場合は、迅速な解決のために自分でパイプラインを更新してみてください。 これを行うには、Data Factory を開き、[ > Pipelines > msexports_ExecuteETLの作成] に移動し、該当する "Set" アクティビティを選択し、必要に応じて Settings>Value プロパティを更新します。 これを行う場合は、以前のバージョンでエクスポートを再作成する必要はありません。 引き続き問題を報告し、パイプライン designer._の右上にある
{}
アイコンから新しい JSON を共有することを検討してください
- サポートされている API バージョンのプロパティが変更されている場合:
- 破壊的変更を追跡するには、GitHub で変更要求の問題を作成。 manifest.json ファイルから、 type、 dataVersion、および apiVersion を含めます。
- FinOps ハブやその他のカスタム ソリューションを使用して全員が中断されるため、変更を元に戻すように要求するには、Cost Management でサポート 要求を提出します。 Cost Management サポート チームがシステム内の問題を特定するのに役立つ次の詳細を含めます。 Cost Management には FinOps ハブに関するコンテキストがないため、詳細は Cost Management の機能に重点を置いておく必要があります。 以下に例を示します:
コスト管理のエクスポートを使用して、コスト データを ADLS にプルしています。 マニフェスト ファイルが書き込まれるときにデータを処理する ADF パイプラインがあります。 パイプラインは、
exportConfig.resourceId
、exportConfig.type
、およびexportConfig.dataVersion
のプロパティが一貫して配信されることを期待する API バージョン<your-supported-api-version>
に基づいて構築されました。 これらのファイルは、<your-export-date>
で実行されたエクスポート用のこの API バージョンのマニフェスト ファイルに含まれていないことに気付きました。 私の期待は、マニフェスト ファイルが既存の API バージョンに対して変更されることは決してないことです。 これらの変更を元に戻すことができますか?トラブルシューティングを支援するために、マニフェスト ファイル {your-manifest-json} を次に示します。
マニフェストのプロパティが適切で、新しいまたはアップグレードされた FinOps ハブ インスタンスであった場合は、デプロイを確認します。
- Azure portal でハブ リソース グループを開きます。
- 左側のメニューで Settings>Deployments を選択します。
- すべてのデプロイが成功したことを確認します。 具体的には、次のデプロイ名を探します。
- main
- hub
- dataFactoryResources
- storage
- keyVault
- デプロイに失敗した場合は、エラー メッセージを確認して、自分で解決できるかどうかを判断します (名前の競合、修正可能なポリシー違反など)。
- エラーが一時的と思われる場合は、もう一度デプロイしてみてください。
- エラーが解決しない場合は、 discussion を作成して 問題が発生した場合や考えられる回避策 (特にポリシーの問題) を知っている他のユーザーがいるかどうかを確認します。
- エラーが明らかにバグまたは機能のギャップである場合は、GitHub でバグまたは機能要求の問題を作成。
2営業日以内に問題や議論に対応するよう努めます。
ResourceAccessForbiddenException
Power BI: 'Microsoft.Mashup.Engine.Interface.ResourceAccessForbiddenException' 型の例外がスローされました
Power BI でデータを読み込むアカウントに、 Storage BLOB データ閲覧者ロールがないことを示します。 Power BI でデータを読み込むアカウントにこのロールを付与します。
RoleAssignmentUpdateNotPermitted
FinOps Hubs を削除し、マネージド ID 名を含む同じ値で再デプロイしようとすると、次の既知の問題が発生する可能性があります。
"code": "RoleAssignmentUpdateNotPermitted",
"message": "Tenant ID, application ID, principal ID, and scope are not allowed to be updated."
この問題を解決するには、古い ID を削除する必要があります。
- ストレージ アカウントに移動し、メニューで Access コントロール (IAM) を選択します。
- [ロールの割り当て] タブを選択します。
- "不明な" ID を持つロールの割り当てを見つけて削除します。
SchemaLoadFailed
重大度: Critical
パイプライン msexports_ETL_ingestion FinOps ハブがスキーマ ファイルを読み込めませんでした。
軽減策: エラー メッセージを確認して、データセットの種類とバージョンを確認します。データセットの種類とバージョンはアンダースコア ( <type>_<version>
や FocusCost_1.0
など) で書式設定されています。 デプロイされたバージョンの FinOps ハブでデータセットと種類の両方がサポートされていることを確認します。 詳細については、 サポートされているデータセット を参照してください。
SchemaNotFound
重大度: Critical
パイプライン msexports_ExecuteETL FinOps ハブは、エクスポートされたデータセットのスキーマ マッピング ファイルを見つけることができませんでした。
軽減策: データセットの種類とバージョンがサポートされていることを確認します。 詳細については、 サポートされているデータセット を参照してください。 データセットがサポートされている場合は、 Data インジェスト レポートを使用してハブのバージョンを確認。
別のデータセットのサポートを追加するには、カスタム マッピング ファイルを作成し、 config/schemas/<dataset-type>_<dataset-version>.json
に保存します。 <dataset-type>
<dataset-version>
の値は、Cost Management で使用されているものと大きく一致します。 各列のデータ型を識別するには、既存のスキーマ ファイルをテンプレートとして使用します。 一部のデータセットには、EA と Microsoft 顧客契約 (MCA) のスキーマが異なります。 これらの属性を使用して識別することはできないため、両方のアカウントの種類がある場合に問題が発生する可能性があります。 フォーカスに合わせて、EA と MCA の違いに対応するデータセットとアカウントの追加に取り組んでいます。
UnknownExportFile
重大度: 情報
ハブ ストレージ内のファイルは、Cost Management からエクスポートされたようには見えません。 ファイルは無視されます。
軽減策: msexports コンテナーは、Cost Management のエクスポートのみを対象としています。 別のストレージ コンテナー内の他のファイルを移動します。
UnknownHubVersion
重大度: Critical
設定ファイルから FinOps ハブのバージョンを識別できません。 設定が正しいことを確認します。 FinOps ハブ 0.1.1 以前は、この Power BI レポートでは機能しません。
軽減策: FinOps ハブの最新バージョンにアップグレードするかFinOps ツールキット v0.1.1 リリースから Power BI レポートをダウンロード。
UnsupportedExportFileType
重大度: Critical
ファイルの種類がサポートされていないため、指定したエクスポート ファイルを取り込むことができません。
軽減策: msexports コンテナーに追加する前に、ファイルをサポートされているファイル形式に変換するか、新しいファイルの種類を msexports_ETL_ingestion パイプラインに変換するためのサポートを追加します。
UnsupportedExportType
重要度: 警告
ハブ ストレージのエクスポート マニフェストは、エクスポートがサポートされていないデータセット用であることを示します。 エクスポートされたデータは、インジェスト エラーとして報告されます。
軽減策: FOCUS コスト用の新しい Cost Management エクスポートを作成し、現在のエクスポートを停止するか、別のストレージ コンテナーにエクスポートするように変更します。
<name> リソース プロバイダーはサブスクリプション <guid に登録されていません>
Azure portal でサブスクリプションを開き、 Settings>Resource providers を選択し、リソース プロバイダーの行 (Microsoft.EventGrid など) を選択してから、ページの上部にある Register コマンドを選択します。 登録には数分かかる場合があります。
コミットメント割引 ID を示すx_PricingSubcategory
2024 年 2 月 28 日より前の Cost Management のエクスポートには、コミットされた使用に対して x_PricingSubcategory
が正しく設定されていないバグがありました。 Committed Spend
やCommitted Usage
などの値が表示されます。 代わりに、次のような値が表示されることがあります。
Committed /providers/Microsoft.BillingBenefits/savingsPlanOrders/###/savingsPlans/###
Committed /providers/Microsoft.Capacity/reservationOrders/###/reservations/###
これらの値が表示された場合は、その月のコスト データを再エクスポートします。 使用できない古い月のデータをエクスポートする必要がある場合は、サポートに問い合わせて、前のエクスポート実行のデータ品質の問題を解決するために、データのエクスポートを要求してください。
Power BI: レポートに特定の日付のデータがありません
レポートにすべてのデータが 1 か月以上不足している場合は、 Number of Months、 RangeStart、および RangeEnd パラメーターを調べて、データがフィルター処理されていないことを確認します。
パラメーターを確認するには、リボンで Transform data>Edit parameters を選択するか、クエリ エディター ウィンドウの 🛠️ Setup フォルダーで個々のパラメーターを選択します。
- 特定の月数を常に表示する場合は、 数の月数 を終了 (完了) 月数に設定します。 現在の月は、終了した月数に加えて、追加の月です。
- 時間の経過に伴って変化しない固定の日付範囲 (会計年度レポートなど) が必要な場合は、 RangeStart と RangeEnd を設定します。
- 使用可能なすべてのデータをレポートする場合は、3 つの日付パラメーターがすべて空であることを確認します。
詳細については、「 最初のレポートを設定するを参照してください。
Power BI: レポートが空 (データなし)
Power BI やその他のレポートやツールにデータが表示されない場合は、データ ソースに基づいて次の手順を試してください。
- Power BI で Cost Management コネクタを使用している場合は、
Billing Account ID
パラメーターとNumber of Months
パラメーターを確認して、正しく設定されていることを確認します。 過去数か月間、古い請求先アカウントにデータが含まれていない可能性があることに注意してください。 - FinOps ハブを使用している場合は、ストレージ アカウントを調べて、 ingestion コンテナーにデータが入力されていることを確認します。 providers または subscriptions フォルダーが表示されます。 次のセクションを使用して、さらにトラブルシューティングを行います。
FinOps ハブ: インジェスト コンテナーが空です
ingestion コンテナーが空の場合は、Data Factory Studio で Data Factory インスタンスを開き、Manage>Author>Triggers を選択し、msexports_FileAdded トリガーが開始されていることを確認します。 そうでない場合は、開始します。
トリガーが "リソース プロバイダーが登録されていません" というエラーで開始できない場合は、Azure portal でサブスクリプションを開き、 Settings>Resource プロバイダーを選択し、 Microsoft.EventGrid 行を選択してから、ページの上部にある Register コマンドを選択します。 登録には数分かかる場合があります。
登録が完了したら、 msexports_FileAdded トリガーをもう一度開始します。
トリガーが開始されたら、接続されているすべての Cost Management エクスポートを再実行します。 アカウントのサイズに応じて、10 ~ 20 分以内にデータを完全に取り込む必要があります。
問題が解決しない場合は、Cost Management エクスポートがファイル パーティション分割が有効になっているかどうかを確認します。 無効になっている場合は、有効にしてエクスポートを再実行します。
ingestion コンテナーが設定されていることを確認し、レポートやその他の接続されているツールを更新します。
FinOps ハブ: インジェスト コンテナーで使用可能なファイル
ingestionコンテナーが空でない場合は、フォルダーをドリルダウンして、parquetまたはcsv.gzファイルがあるかどうかを確認します。
わかったら、power BI レポートで FileType パラメーターが .parquet
または .gz
に設定されていることを確認します。 詳細については、 データへの接続 を参照してください。
別のツールを使用している場合は、使用しているファイルの種類がサポートされていることを確認します。
Power BI: リモート名を解決できませんでした: '<storage-account>.dfs.core.windows.net'
ストレージ アカウント名が正しくないことを示します。 FinOps ハブを使用している場合は、デプロイの StorageUrl パラメーターを確認します。 詳細については、 データへの接続 を参照してください。
Power BI: 値 null を論理型に変換できません
Billing Account ID パラメーターが空であることを示します。 FinOps ハブを使用している場合は、目的の課金アカウント ID に値を設定します。 課金アカウントにアクセスできない場合、またはコミットメントの購入と払い戻しを含めない場合は、値を 0
に設定し、詳細エディターで CostDetails クエリを開き、 2
を 1
に変更します。 Cost Management コネクタから実際または請求済みのコスト データを読み込まないようレポートに通知します。 詳細については、 データへの接続 を参照してください。
該当するバージョン: 0.1 から 0.1.1 ( 0.2 で修正)
FinOps ハブ: 値 null を Table 型に変換できません
このエラーは通常、データが ingestion コンテナーに取り込まれていないことを示します。
FinOps Hubs 0.2 にアップグレードしたばかりの場合、Power BI レポートが古い (0.1.x から) か、FOCUS エクスポートを使用していないために問題が発生する可能性があります。 詳細については、 アップグレード ガイド を参照してください。
トラブルシューティングの手順については、 レポートが空 (データなし) を参照してください。
関連するコンテンツ
発生しているエラーが表示されない場合は、 トラブルシューティング ガイドを参照してください。 ご質問がある場合は、GitHub でディスカッションを開始するか問題を作成してください。