Risolvere gli errori comuni del toolkit FinOps
Questo articolo descrive gli errori comuni del toolkit FinOps e fornisce informazioni sulle soluzioni. Se viene visualizzato un errore quando si usano soluzioni finops toolkit che non si conoscono o non è possibile risolvere, trovare il codice di errore corrispondente seguente con i passaggi di mitigazione per risolvere il problema.
Ecco un elenco di codici errore comuni con informazioni sulla mitigazione.
Se le informazioni fornite non risolvono il problema, provare la guida alla risoluzione dei problemi.
BadHubVersion
Gravità: Critica
Gli hub FinOps 0.2 non sono operativi. Eseguire l'aggiornamento alla versione 0.3 o successiva.
Mitigazione: eseguire l'aggiornamento alla versione più recente degli hub FinOps.
InvalidExportContainer
Gravità: Critica
Questo file potrebbe essere esportato da Gestione costi, ma non è nel contenitore corretto.
Mitigazione: aggiornare l'esportazione di Gestione costi in modo che punti al contenitore di archiviazione "msexports". Il contenitore "inserimento" viene usato solo per l'esecuzione di query sui dati dei costi inseriti.
InvalidExportVersion
Gravità: Critica
Gli hub FinOps richiedono esportazioni dei costi FOCUS, ma questo file è simile a un'esportazione legacy di Gestione costi.
Mitigazione: creare una nuova esportazione di Gestione costi per il costo focus e arrestare l'esportazione corrente o modificarla per esportare in un contenitore di archiviazione diverso.
InvalidHubVersion
Gravità: Critica
Gli hub FinOps 0.1.1 e versioni precedenti non funzionano con il report Di inserimento dati di Power BI.
Mitigazione: eseguire l'aggiornamento alla versione più recente degli hub FinOps o scaricare i report di Power BI dalla versione 0.1.1.
InvalidScopeId
Gravità: informativo
Il percorso di esportazione non è un ID ambito valido. Gli hub FinOps prevedono che il percorso di esportazione sia un ID risorsa di Azure per l'ambito creato dall'esportazione per semplificare la gestione. Non dovrebbe causare errori, ma potrebbe causare confusione nei risultati per i report correlati all'ambito.
Mitigazione: aggiornare il percorso di archiviazione per l'esportazione di Gestione costi per usare l'ID risorsa di Azure completo per l'ambito.
ExportDataNotFound
Gravità: Critica
Le esportazioni non sono state trovate nel percorso di archiviazione specificato.
Mitigazione: verificare che sia stata creata e configurata un'esportazione di Gestione costi con l'account di archiviazione, il contenitore e il percorso di archiviazione corretti. Dopo la creazione, selezionare "Esegui adesso" per avviare il processo di esportazione. Il completamento delle esportazioni può richiedere 15-30 minuti a seconda delle dimensioni dell'account. Se si intende usare hub FinOps, correggere l'URL di archiviazione in modo che punti al contenitore "inserimento". Per l'URL completo, vedere l'output storageUrlForPowerBI
della distribuzione dell'hub FinOps.
HubDataNotFound
Gravità: Critica
I dati dell'hub FinOps non sono stati trovati nell'account di archiviazione specificato.
Mitigazione: questo errore presuppone che ci si stia connettendo a una distribuzione dell'hub FinOps. Se si usano esportazioni non elaborate, correggere il percorso di archiviazione per non fare riferimento al ingestion
contenitore. Verificare le informazioni seguenti:
- L'URL di archiviazione deve corrispondere all'output
StorageUrlForPowerBI
nella distribuzione dell'hub FinOps. - Le esportazioni di Gestione costi devono essere configurate per puntare allo stesso account di archiviazione usando il
msexports
contenitore. - Le esportazioni di Gestione costi devono mostrare un'esportazione corretta nella cronologia di esecuzione.
- I trigger della data factory dell'hub FinOps devono essere tutti avviati.
- Le pipeline della data factory dell'hub FinOps dovrebbero avere esito positivo.
Per altre informazioni e passaggi di debug, vedere Convalidare la distribuzione dell'hub FinOps.
MissingContractedCost
Gravità: informativo
Questo codice di errore viene visualizzato nella x_DatasetChanges
colonna quando ContractedCost
è null o 0 ed EffectiveCost
è maggiore di 0. L'errore indica che Gestione costi Microsoft non include ContractedCost
per le righe specificate, il che significa che non è possibile calcolare i risparmi.
Mitigazione: come soluzione alternativa ai dati mancanti, Il toolkit FinOps copia nella EffectiveCost
ContractedCost
colonna per le righe contrassegnate con questo codice di errore. I risparmi non sono disponibili per questi record.
Per calcolare il risparmio completo, è possibile unire i dati sui costi e sull'utilizzo con i prezzi. Per altre informazioni, vedere il problema 873.
MissingContractedUnitPrice
Gravità: informativo
Questo codice di errore viene visualizzato nella x_DatasetChanges
colonna quando ContractedUnitPrice
è null o 0 ed EffectiveUnitPrice
è maggiore di 0. L'errore indica che Gestione costi Microsoft non include ContractedUnitPrice
per le righe specificate, il che significa che non è possibile calcolare i risparmi.
Mitigazione: come soluzione alternativa ai dati mancanti, Il toolkit FinOps copia nella EffectiveUnitPrice
ContractedUnitPrice
colonna per le righe contrassegnate con questo codice di errore. I risparmi non sono disponibili per questi record.
Per calcolare il risparmio completo, è possibile unire i dati sui costi e sull'utilizzo con i prezzi. Per altre informazioni, vedere il problema 873.
MissingListCost
Gravità: informativo
Questo codice di errore viene visualizzato nella x_DatasetChanges
colonna quando ListCost
è null o 0 ed ContractedCost
è maggiore di 0. L'errore indica che Gestione costi Microsoft non include ListCost
per le righe specificate, il che significa che non è possibile calcolare i risparmi.
Mitigazione: come soluzione alternativa ai dati mancanti, Il toolkit FinOps copia nella ContractedCost
ListCost
colonna per le righe contrassegnate con questo codice di errore. I risparmi non sono disponibili per questi record.
Per calcolare il risparmio completo, è possibile unire i dati sui costi e sull'utilizzo con i prezzi. Per altre informazioni, vedere il problema 873.
MissingListUnitPrice
Gravità: informativo
Questo codice di errore viene visualizzato nella x_DatasetChanges
colonna quando ListUnitPrice
è null o 0 ed ContractedUnitPrice
è maggiore di 0. L'errore indica che Gestione costi Microsoft non include ListUnitPrice
per le righe specificate, il che significa che non è possibile calcolare i risparmi.
Mitigazione: come soluzione alternativa ai dati mancanti, Il toolkit FinOps copia nella ContractedUnitPrice
ListUnitPrice
colonna per le righe contrassegnate con questo codice di errore. I risparmi non sono disponibili per questi record.
Per calcolare il risparmio completo, è possibile unire i dati sui costi e sull'utilizzo con i prezzi. Per altre informazioni, vedere il problema 873.
ManifestReadFailed
Gravità: Critica
L'hub FinOps msexports_ExecuteETL pipeline non è riuscita a leggere il file manifesto di Gestione costi.
Prevenzione:
- Se l'errore si è verificato in un'istanza dell'hub di lavoro quando non sono state apportate modifiche all'hub o all'esportazione, Gestione costi potrebbe modificare lo schema del manifesto per una versione API esistente.
- Se l'errore si è verificato dopo aver creato un'esportazione nuova o modificata esistente, la versione dell'API di esportazione potrebbe usare un nuovo schema manifesto non supportato.
- Se l'errore si è verificato dopo una distribuzione dell'hub (installazione iniziale o aggiornamento), la distribuzione potrebbe non riuscire o potrebbe verificarsi un bug nella pipeline.
Per confermare lo schema del manifesto (#1) o la versione dell'API (#2):
- Aprire l'account di archiviazione hub nel portale di Azure o in Storage Explorer.
- Se nel portale di Azure, passare a Browser di archiviazione nel menu.
- Selezionare il contenitore msexports .
- Spostarsi verso il basso nella gerarchia di file per l'esportazione con il problema (vedere il percorso del manifesto nel messaggio di errore).
- Trovare il file manifest.json e selezionare il menu (⋯), quindi selezionare Visualizza/modifica.
- Identificare le proprietà seguenti:
{ "exportConfig": { "resourceId": "<scope-id>/providers/Microsoft.CostManagement/exports/<export-name>", "dataVersion": "<dataset-version>", "apiVersion": "2023-07-01-preview", "type": "<dataset-type>", ... }, ... }
- Verificare che siano impostati sui valori supportati seguenti:
- resourceId può essere qualsiasi ID ambito e qualsiasi nome di esportazione, ma deve esistere con il tipo di risorsa "Microsoft.CostManagement/export". Nessuna distinzione tra maiuscole e minuscole.
- il tipo deve esistere, ma non dovrebbe avere esito negativo con questo errore per qualsiasi valore non Null.
- dataVersion deve esistere, ma non dovrebbe avere esito negativo con questo errore per qualsiasi valore non Null.
- apiVersion non viene usato in modo esplicito, ma può indicare le modifiche allo schema del manifesto. Per informazioni dettagliate, vedere Versioni API supportate.
- Se si usa una versione più recente dell'API:
- Per tenere traccia dell'aggiunta del supporto per la nuova versione dell'API, creare un problema di richiesta di modifica in GitHub.
- Eliminare l'esportazione in Gestione costi.
- Creare un'esportazione usando il comando PowerShell New-FinOpsCostExport usando una versione api supportata.
Suggerimento
Se si considera un utente di power user, è possibile provare ad aggiornare manualmente la pipeline per la risoluzione più rapida. A tale scopo, aprire Data Factory, passare a Author > Pipelines > msexports_ExecuteETL e selezionare le attività "Set" applicabili e aggiornare la proprietà Settings>Value in base alle esigenze. In questo caso, non è necessario ricreare l'esportazione con una versione precedente. Segnalare comunque il problema e prendere in considerazione la condivisione del nuovo codice JSON dall'icona
{}
in alto a destra della pipeline designer._
- Se si nota che le proprietà sono state modificate per una versione dell'API supportata:
- Per tenere traccia della modifica che causa un'interruzione, creare un problema di richiesta di modifica in GitHub. Includere il tipo, dataVersion e apiVersion dal file manifest.json.
- Inviare una richiesta di supporto con Gestione costi per richiedere il ripristino della modifica perché interrompe tutti gli utenti che usano hub FinOps o altre soluzioni personalizzate. Includere i dettagli seguenti per aiutare il team di supporto di Gestione costi a identificare il problema all'interno del sistema. Gestione costi non ha un contesto sugli hub FinOps, quindi è consigliabile mantenere i dettagli incentrati sulla funzionalità Gestione costi. Di seguito è riportato un esempio:
Si usano le esportazioni di Gestione costi per eseguire il pull dei dati dei costi in ADLS. Si dispone di una pipeline di Azure Data Factory che elabora i dati quando vengono scritti i file manifesto. La pipeline è stata compilata sulla versione
<your-supported-api-version>
dell'API che prevedeexportConfig.resourceId
che le proprietà ,exportConfig.type
eexportConfig.dataVersion
vengano distribuite in modo coerente. Si è notato che questi file non sono inclusi nel file manifesto per questa versione dell'API per l'esportazione eseguita in<your-export-date>
. L'aspettativa è che il file manifesto non debba mai cambiare per una versione API esistente. È possibile ripristinare queste modifiche?Per risolvere i problemi, ecco il file manifesto: {your-manifest-json}
Se le proprietà del manifesto sono valide e si tratta di un'istanza dell'hub FinOps nuova o aggiornata, verificare la distribuzione:
- Aprire il gruppo di risorse hub nel portale di Azure.
- Selezionare Impostazioni>Distribuzioni nel menu a sinistra.
- Verificare che tutte le distribuzioni siano riuscite. In particolare, cercare i nomi di distribuzione seguenti:
- main
- hub
- dataFactoryResources
- storage
- keyVault
- Se le distribuzioni non sono riuscite, esaminare il messaggio di errore per determinare se si tratta di un elemento che è possibile risolvere manualmente(ad esempio, conflitto di nomi, violazione dei criteri risolvibile).
- Se l'errore sembra temporaneo, provare a eseguire di nuovo la distribuzione.
- Se l'errore persiste, creare una discussione per verificare se un altro utente riscontra un problema o conosce una possibile soluzione alternativa (in particolare per i problemi relativi ai criteri).
- Se l'errore è chiaramente un bug o un gap di funzionalità, creare un problema di bug o richiesta di funzionalità in GitHub.
Cerchiamo di rispondere a problemi e discussioni entro due giorni lavorativi.
ResourceAccessForbiddenException
Power BI: è stata generata un'eccezione del tipo "Microsoft.Mashup.Engine.Interface.ResourceAccessForbiddenException"
Indica che l'account che carica i dati in Power BI non ha il ruolo Lettore dati BLOB di archiviazione. Concedere questo ruolo all'account che carica i dati in Power BI.
RoleAssignmentUpdateNotPermitted
Se gli hub FinOps sono stati eliminati e si sta tentando di ridistribuirlo con gli stessi valori, incluso il nome dell'identità gestita, è possibile che si verifichi il problema noto seguente:
"code": "RoleAssignmentUpdateNotPermitted",
"message": "Tenant ID, application ID, principal ID, and scope are not allowed to be updated."
Per risolvere il problema, è necessario rimuovere l'identità non aggiornata:
- Passare all'account di archiviazione e selezionare Controllo di accesso (IAM) nel menu.
- Selezionare la scheda Assegnazioni di ruolo.
- Trovare eventuali assegnazioni di ruolo con un'identità "sconosciuta" ed eliminarle.
SchemaLoadFailed
Gravità: Critica
L'hub FinOps msexports_ETL_ingestion pipeline non è riuscita a caricare il file di schema.
Mitigazione: esaminare il messaggio di errore per prendere nota del tipo e della versione del set di dati, formattati con un carattere di sottolineatura (ad esempio, <type>_<version>
o FocusCost_1.0
). Verificare che il set di dati e il tipo siano entrambi supportati dalla versione distribuita degli hub FinOps. Per informazioni dettagliate, vedere Set di dati supportati.
SchemaNotFound
Gravità: Critica
L'hub FinOps msexports_ExecuteETL pipeline non è riuscita a trovare il file di mapping dello schema per il set di dati esportato.
Mitigazione: verificare che il tipo e la versione del set di dati siano supportati. Per informazioni dettagliate, vedere Set di dati supportati. Se il set di dati è supportato, verificare la versione dell'hub con il report inserimento dati.
Per aggiungere il supporto per un altro set di dati, creare un file di mapping personalizzato e salvarlo in config/schemas/<dataset-type>_<dataset-version>.json
. I <dataset-type>
<dataset-version>
valori corrispondono molto a ciò che viene usato da Gestione costi. Per identificare il tipo di dati per ogni colonna, usare un file di schema esistente come modello. Alcuni set di dati hanno schemi diversi per EA e Contratto del cliente Microsoft (MCA). Non possono essere identificati tramite questi attributi e potrebbero causare un problema se si hanno entrambi i tipi di account. Stiamo lavorando per aggiungere set di dati e tenere conto delle differenze EA e MCA allineandole a FOCUS.
UnknownExportFile
Gravità: informativo
Il file nell'archiviazione hub non è simile a quello esportato da Gestione costi. Il file viene ignorato.
Mitigazione: il contenitore msexports è destinato solo alle esportazioni di Gestione costi. Spostare altri file in un altro contenitore di archiviazione.
UnknownHubVersion
Gravità: Critica
Impossibile identificare la versione degli hub FinOps dal file di impostazioni. Verificare che le impostazioni siano corrette. Gli hub FinOps 0.1.1 e versioni precedenti non funzionano con questo report di Power BI.
Mitigazione: eseguire l'aggiornamento alla versione più recente degli hub FinOps o scaricare i report di Power BI dalla versione 0.1.1 del toolkit FinOps.
UnsupportedExportFileType
Gravità: Critica
Impossibile inserire il file di esportazione specificato perché il tipo di file non è supportato.
Mitigazione: convertire il file in un formato di file supportato prima di aggiungere al contenitore msexports o aggiungere il supporto per la conversione del nuovo tipo di file nella pipeline di msexports_ETL_ingestion .
UnsupportedExportType
Gravità: Avviso
Il manifesto di esportazione nell'archiviazione hub indica che l'esportazione è stata per un set di dati non supportato. I dati esportati vengono segnalati come errori di inserimento.
Mitigazione: creare una nuova esportazione di Gestione costi per il costo focus e arrestare l'esportazione corrente o modificarla per esportare in un contenitore di archiviazione diverso.
Il <provider di risorse nome> non è registrato nel GUID della sottoscrizione <>
Aprire la sottoscrizione nel portale di Azure, quindi selezionare Impostazioni>Provider di risorse, selezionare la riga del provider di risorse ,ad esempio Microsoft.EventGrid, quindi selezionare il comando Registra nella parte superiore della pagina. La registrazione potrebbe richiedere alcuni minuti.
x_PricingSubcategory mostra l'ID sconto impegno
Le esportazioni di Gestione costi prima del 28 febbraio 2024 presentavano un bug per cui x_PricingSubcategory
veniva impostato erroneamente per l'utilizzo di cui è stato eseguito il commit. Dovrebbero essere visualizzati valori come Committed Spend
e Committed Usage
. Al contrario, potrebbero essere visualizzati valori come:
Committed /providers/Microsoft.BillingBenefits/savingsPlanOrders/###/savingsPlans/###
Committed /providers/Microsoft.Capacity/reservationOrders/###/reservations/###
Se vengono visualizzati questi valori, esportare nuovamente i dati sui costi per quel mese. Se è necessario esportare i dati per un mese precedente che non è disponibile, contattare il supporto tecnico per richiedere l'esportazione dei dati per risolvere il problema relativo alla qualità dei dati delle esecuzioni di esportazione precedenti.
Power BI: I report mancano dati per date specifiche
Se nel report mancano tutti i dati per uno o più mesi, controllare i parametri Number of Months, RangeStart e RangeEnd per assicurarsi che i dati non vengano filtrati.
Per controllare i parametri, selezionare Trasforma i parametri di modifica dei dati>nella barra multifunzione o selezionare i singoli parametri nella 🛠cartella ️ Imposta nella finestra dell'editor di query.
- Se si desidera visualizzare sempre un numero specifico di mesi recenti, impostare Numero di mesi sul numero di mesi chiusi (completati). Il mese corrente è un mese aggiuntivo oltre al numero chiuso di mesi.
- Se si vuole un intervallo di date fisso che non cambia nel tempo (ad esempio, report anno fiscale), impostare RangeStart e RangeEnd.
- Se si desidera creare report su tutti i dati disponibili, verificare che tutti e tre i parametri di data siano vuoti.
Per altre informazioni, vedere Configurare il primo report.
Power BI: i report sono vuoti (nessun dato)
Se non vengono visualizzati dati in Power BI o in altri report o strumenti, provare a eseguire le operazioni seguenti in base all'origine dati:
- Se si usa il connettore Gestione costi in Power BI, controllare i
Billing Account ID
parametri eNumber of Months
per assicurarsi che siano impostati correttamente. Tenere presente che gli account di fatturazione precedenti potrebbero non avere dati negli ultimi mesi. - Se si usano hub FinOps, controllare l'account di archiviazione per assicurarsi che i dati vengano popolati nel contenitore di inserimento . Verrà visualizzata una cartella provider o sottoscrizioni . Usare le sezioni seguenti per risolvere altri problemi.
Hub FinOps: il contenitore di inserimento è vuoto
Se il contenitore di inserimento è vuoto, aprire l'istanza di Data Factory in Data Factory Studio e selezionare Gestisci>trigger autore>e verificare che il trigger msexports_FileAdded sia avviato. In caso contrario, avviarlo.
Se il trigger non viene avviato con un errore "provider di risorse non registrato", aprire la sottoscrizione nel portale di Azure, quindi selezionare Provider di risorse impostazioni>, selezionare la riga Microsoft.EventGrid, quindi selezionare il comando Registra nella parte superiore della pagina. La registrazione potrebbe richiedere alcuni minuti.
Al termine della registrazione, avviare di nuovo il trigger msexports_FileAdded .
Dopo l'avvio del trigger, eseguire di nuovo tutte le esportazioni di Gestione costi connesse. I dati devono essere inseriti completamente entro 10-20 minuti, a seconda delle dimensioni dell'account.
Se il problema persiste, verificare se le esportazioni di Gestione costi sono configurate con il partizionamento dei file abilitato. Se viene disabilitato, attivarlo ed eseguire di nuovo le esportazioni.
Verificare che il contenitore di inserimento sia popolato e aggiornare i report o altri strumenti connessi.
Hub FinOps: file disponibili nel contenitore di inserimento
Se il contenitore di inserimento non è vuoto, verificare se sono presenti file parquet o csv.gz eseguendo il drill-in delle cartelle.
Dopo aver verificato che il parametro FileType sia impostato su .parquet
o .gz
nel report di Power BI. Per informazioni dettagliate, vedere Connettersi ai dati .
Se si usa un altro strumento, assicurarsi che supporti il tipo di file in uso.
Power BI: Impossibile risolvere il nome remoto: '<storage-account.dfs.core.windows.net>'
Indica che il nome dell'account di archiviazione non è corretto. Se si usano hub FinOps, verificare il parametro StorageUrl dalla distribuzione. Per informazioni dettagliate, vedere Connettersi ai dati .
Power BI: Non è possibile convertire il valore null nel tipo Logical
Indica che il parametro ID account di fatturazione è vuoto. Se si usano hub FinOps, impostare il valore sull'ID dell'account di fatturazione desiderato. Se non si ha accesso all'account di fatturazione o non si vuole includere acquisti di impegno e rimborsi, impostare il valore su 0
e aprire la query CostDetails nell'editor avanzato e impostare su 2
.1
Informa il report di non caricare i dati sui costi effettivi/fatturati dal connettore Gestione costi. Per informazioni dettagliate, vedere Connettersi ai dati .
Versioni applicabili: 0.1 - 0.1.1 (correzione nella versione 0.2)
Hub FinOps: non è possibile convertire il valore null in tipo Table
Questo errore indica in genere che i dati non sono stati inseriti nel contenitore di inserimento .
Se è stato appena eseguito l'aggiornamento agli hub FinOps 0.2, il problema potrebbe derivare dal report di Power BI obsoleto (dalla versione 0.1.x) o perché non si usano le esportazioni FOCUS. Per informazioni dettagliate, vedere la Guida all'aggiornamento.
Per altre procedure di risoluzione dei problemi, vedere Report vuoti (nessun dato ).
Contenuto correlato
Se non viene visualizzato l'errore riscontrato, vedere la guida alla risoluzione dei problemi. In caso di domande, avviare una discussione o creare un problema in GitHub.