Solucionar erros comuns do kit de ferramentas FinOps
Este artigo descreve erros comuns do kit de ferramentas FinOps e fornece informações sobre soluções. Se você receber um erro ao usar soluções de kit de ferramentas FinOps que não entende ou não consegue resolver, encontre o seguinte código de erro correspondente com etapas de mitigação para resolver o problema.
Aqui está uma lista de códigos de erro comuns com informações de mitigação.
Se as informações fornecidas não resolverem o problema, tente o guia de solução de problemas.
Versão do BadHub
Gravidade: crítica
Os hubs FinOps 0.2 não estão operacionais. Atualize para a versão 0.3 ou posterior.
Mitigação: atualize para a versão mais recente dos hubs FinOps.
Contêiner de exportação inválido
Gravidade: crítica
Esse arquivo parece ter sido exportado do Gerenciamento de Custos, mas não está no contêiner correto.
Mitigação: atualize sua exportação do Gerenciamento de Custos para apontar para o contêiner de armazenamento 'msexports'. O contêiner 'ingestion' é usado apenas para consultar dados de custo ingeridos.
InvalidExportVersion
Gravidade: crítica
Os hubs FinOps exigem exportações de custo FOCUS, mas esse arquivo se parece com uma exportação herdada do Gerenciamento de Custos.
Mitigação: crie uma nova exportação do Gerenciamento de Custos para o custo do FOCUS e interrompa a exportação atual ou altere-a para exportar para um contêiner de armazenamento diferente.
Versão inválida
Gravidade: crítica
Os hubs FinOps 0.1.1 e anteriores não funcionam com o relatório do Power BI de ingestão de dados.
Mitigação: atualize para a versão mais recente dos hubs FinOps ou baixe relatórios do Power BI da versão 0.1.1.
InvalidScopeId
Gravidade: Informativo
O caminho de exportação não é uma ID de escopo válida. Os hubs FinOps esperam que o caminho de exportação seja uma ID de recurso do Azure para o escopo em que a exportação foi criada para simplificar o gerenciamento. Isso não deve causar falhas, mas pode resultar em resultados confusos para relatórios relacionados ao escopo.
Mitigação: atualize o caminho de armazenamento para a exportação do Gerenciamento de Custos para usar a ID completa do recurso do Azure para o escopo.
ExportDataNotFound
Gravidade: crítica
As exportações não foram encontradas no caminho de armazenamento especificado.
Mitigação: confirme se uma exportação do Gerenciamento de Custos foi criada e configurada com a conta de armazenamento, o contêiner e o caminho de armazenamento corretos. Depois de criado, selecione 'Executar agora' para iniciar o processo de exportação. As exportações podem levar de 15 a 30 minutos para serem concluídas, dependendo do tamanho da conta. Se você pretendia usar hubs FinOps, corrija a URL de armazenamento para apontar para o contêiner de 'ingestão'. Consulte a storageUrlForPowerBI
saída da implantação do hub FinOps para obter a URL completa.
HubDataNotFound
Gravidade: crítica
Os dados do hub FinOps não foram encontrados na conta de armazenamento especificada.
Mitigação: esse erro pressupõe que você esteja se conectando a uma implantação de hub FinOps. Se estiver usando exportações brutas, corrija o caminho de armazenamento para não fazer referência ao ingestion
contêiner. Confirme as seguintes informações:
- A URL de armazenamento deve corresponder à
StorageUrlForPowerBI
saída na implantação do hub FinOps. - As exportações do Gerenciamento de Custos devem ser configuradas para apontar para a mesma conta de armazenamento usando o
msexports
contêiner. - As exportações do Gerenciamento de Custos devem mostrar uma exportação bem-sucedida no histórico de execuções.
- Os gatilhos de data factory do hub FinOps devem ser iniciados.
- Os pipelines de data factory do hub FinOps devem ser bem-sucedidos.
Para obter mais informações e etapas de depuração, consulte Validar a implantação do hub FinOps.
Custo Contratado Ausente
Gravidade: Informativo
Esse código de erro é mostrado na x_DatasetChanges
coluna quando ContractedCost
é nulo ou 0 e EffectiveCost
é maior que 0. O erro indica que o Gerenciamento de Custos da Microsoft não incluiu ContractedCost
as linhas especificadas, o que significa que a economia não pode ser calculada.
Mitigação: como solução alternativa para os dados ausentes, os relatórios do kit de ferramentas FinOps copiam o EffectiveCost
para a ContractedCost
coluna para linhas sinalizadas com esse código de erro. A economia não está disponível para esses registros.
Para calcular a economia total, é possível unir dados de custo e utilização com preços. Para obter mais informações, consulte o problema #873.
MissingContractedUnitPrice
Gravidade: Informativo
Esse código de erro é mostrado na x_DatasetChanges
coluna quando ContractedUnitPrice
é nulo ou 0 e EffectiveUnitPrice
é maior que 0. O erro indica que o Gerenciamento de Custos da Microsoft não incluiu ContractedUnitPrice
as linhas especificadas, o que significa que a economia não pode ser calculada.
Mitigação: como solução alternativa para os dados ausentes, os relatórios do kit de ferramentas FinOps copiam o EffectiveUnitPrice
para a ContractedUnitPrice
coluna para linhas sinalizadas com esse código de erro. A economia não está disponível para esses registros.
Para calcular a economia total, é possível unir dados de custo e utilização com preços. Para obter mais informações, consulte o problema #873.
MissingListCost
Gravidade: Informativo
Esse código de erro é mostrado na x_DatasetChanges
coluna quando ListCost
é nulo ou 0 e ContractedCost
é maior que 0. O erro indica que o Gerenciamento de Custos da Microsoft não incluiu ListCost
as linhas especificadas, o que significa que a economia não pode ser calculada.
Mitigação: como solução alternativa para os dados ausentes, os relatórios do kit de ferramentas FinOps copiam o ContractedCost
para a ListCost
coluna para linhas sinalizadas com esse código de erro. A economia não está disponível para esses registros.
Para calcular a economia total, é possível unir dados de custo e utilização com preços. Para obter mais informações, consulte o problema #873.
MissingListUnitPrice
Gravidade: Informativo
Esse código de erro é mostrado na x_DatasetChanges
coluna quando ListUnitPrice
é nulo ou 0 e ContractedUnitPrice
é maior que 0. O erro indica que o Gerenciamento de Custos da Microsoft não incluiu ListUnitPrice
as linhas especificadas, o que significa que a economia não pode ser calculada.
Mitigação: como solução alternativa para os dados ausentes, os relatórios do kit de ferramentas FinOps copiam o ContractedUnitPrice
para a ListUnitPrice
coluna para linhas sinalizadas com esse código de erro. A economia não está disponível para esses registros.
Para calcular a economia total, é possível unir dados de custo e utilização com preços. Para obter mais informações, consulte o problema #873.
ManifestReadFailed
Gravidade: crítica
O pipeline de msexports_ExecuteETL hub FinOps falhou ao ler o arquivo de manifesto do Gerenciamento de Custos.
Atenuação:
- Se o erro ocorreu em uma instância de hub em funcionamento quando nenhuma alteração foi feita no hub ou na exportação, o Gerenciamento de Custos possivelmente alterou o esquema de manifesto para uma versão de API existente.
- Se o erro ocorreu depois que você criou uma nova exportação ou alterou uma existente, a versão da API de exportação poderá usar um novo esquema de manifesto sem suporte.
- Se o erro ocorreu após uma implantação de hub (instalação ou atualização inicial), a implantação possivelmente falhou ou pode haver um bug no pipeline.
Para confirmar o esquema de manifesto (# 1) ou a versão da API (#2):
- Abra a conta de armazenamento do hub no portal do Azure ou no gerenciador de armazenamento.
- Se estiver no portal do Azure, acesse Navegador de armazenamento no menu.
- Selecione o contêiner msexports .
- Navegue pela hierarquia de arquivos para a exportação com o problema (consulte o local do manifesto na mensagem de erro).
- Localize o arquivo manifest.json e selecione o menu (⋯) e, em seguida, selecione Exibir/editar.
- Identifique as seguintes propriedades:
{ "exportConfig": { "resourceId": "<scope-id>/providers/Microsoft.CostManagement/exports/<export-name>", "dataVersion": "<dataset-version>", "apiVersion": "2023-07-01-preview", "type": "<dataset-type>", ... }, ... }
- Confirme se eles estão definidos com os seguintes valores com suporte:
- resourceId pode ser qualquer ID de escopo e qualquer nome de exportação, mas deve existir com o tipo de recurso "Microsoft.CostManagement/exports". Não diferencia maiúsculas de minúsculas.
- type deve existir, mas não deve falhar com esse erro para nenhum valor não nulo.
- dataVersion deve existir, mas não deve falhar com esse erro para nenhum valor não nulo.
- apiVersion não é usado explicitamente, mas pode significar alterações no esquema de manifesto. Consulte as versões de API compatíveis para obter detalhes.
- Se você estiver usando uma versão mais recente da API:
- Para acompanhar a adição de suporte para a nova versão da API, crie um problema de solicitação de alteração no GitHub.
- Exclua a exportação no Gerenciamento de Custos.
- Crie uma exportação usando o comando New-FinOpsCostExport do PowerShell usando uma versão de API com suporte.
Dica
Se você se considera um usuário avançado, talvez queira tentar atualizar o pipeline por conta própria para obter a resolução mais rápida. Para fazer isso, abra o Data Factory, navegue até o msexports_ExecuteETL Pipeline de Criação>, selecione as atividades "Definir" aplicáveis e atualize a propriedade Valor de Configurações>conforme necessário.> Se você fizer isso, não precisará recriar a exportação com uma versão mais antiga. Ainda assim, relate o problema e considere compartilhar o novo JSON do
{}
ícone no canto superior direito do pipeline designer._
- Se você notar que as propriedades foram alteradas para uma versão de API compatível:
- Para acompanhar a alteração significativa, crie um problema de solicitação de alteração no GitHub. Inclua o tipo, dataVersion e apiVersion do arquivo manifest.json.
- Registre uma solicitação de suporte com o Gerenciamento de Custos para solicitar que sua alteração seja revertida, pois isso interrompe todos que usam hubs FinOps ou outras soluções personalizadas. Inclua os detalhes a seguir para ajudar a equipe de suporte do Gerenciamento de Custos a identificar o problema em seu sistema. O Gerenciamento de Custos não tem contexto sobre hubs FinOps, portanto, você deve manter os detalhes focados na funcionalidade do Gerenciamento de Custos. Este é um exemplo:
Estou usando as exportações do Gerenciamento de Custos para extrair meus dados de custo para o ADLS. Eu tenho um pipeline do ADF que está processando os dados quando os arquivos de manifesto são gravados. Meu pipeline foi construído na versão
<your-supported-api-version>
daexportConfig.resourceId
API que espera que ,exportConfig.type
, eexportConfig.dataVersion
as propriedades sejam entregues de forma consistente. Percebi que esses arquivos não estão sendo incluídos no arquivo de manifesto para esta versão da API para minha exportação executada no<your-export-date>
. Minha expectativa é que o arquivo de manifesto nunca seja alterado para uma versão de API existente. Você pode reverter essas alterações?Para ajudá-lo a solucionar problemas, aqui está meu arquivo de manifesto: {your-manifest-json}
Se as propriedades do manifesto parecerem boas e for uma instância de hub FinOps nova ou atualizada, confirme a implantação:
- Abra o grupo de recursos do hub no portal do Azure.
- Selecione Configurações>Implantações no menu à esquerda.
- Confirme se todas as implantações foram bem-sucedidas. Especificamente, procure os seguintes nomes de implantação:
- main
- hub
- dataFactoryResources
- storage
- keyVault
- Se alguma implantação falhar, examine a mensagem de erro para determinar se é algo que você pode resolver sozinho (por exemplo, conflito de nome, violação de política corrigível).
- Se o erro parecer transitório, tente implantar novamente.
- Se o erro persistir, crie uma discussão para ver se mais alguém está enfrentando um problema ou sabe de uma possível solução alternativa (especialmente para problemas de política).
- Se o erro for claramente um bug ou uma lacuna de recurso, crie um bug ou problema de solicitação de recurso no GitHub.
Tentamos responder a problemas e discussões dentro de dois dias úteis.
Exceção de Acesso a Recurso Proibido
Power BI: uma exceção do tipo 'Microsoft.Mashup.Engine.Interface.ResourceAccessForbiddenException' foi lançada
Indica que a conta que carrega dados no Power BI não tem a função Leitor de Dados do Blob de Armazenamento. Conceda essa função à conta que carrega dados no Power BI.
RoleAssignmentUpdateNotAllowed
Se você excluiu os FinOps Hubs e está tentando reimplantá-los com os mesmos valores, incluindo o nome da Identidade Gerenciada, poderá encontrar o seguinte problema conhecido:
"code": "RoleAssignmentUpdateNotPermitted",
"message": "Tenant ID, application ID, principal ID, and scope are not allowed to be updated."
Para corrigir esse problema, você precisa remover a identidade obsoleta:
- Navegue até a conta de armazenamento e selecione Controle de acesso (IAM) no menu.
- Selecione a guia Atribuições de função.
- Encontre todas as atribuições de função com uma identidade "desconhecida" e exclua-as.
Falha no SchemaLoadFailed
Gravidade: crítica
O pipeline de msexports_ETL_ingestion hub FinOps falhou ao carregar o arquivo de esquema.
Mitigação: examine a mensagem de erro para observar o tipo e a versão do conjunto de dados, que são formatados com um sublinhado (por exemplo, <type>_<version>
ou FocusCost_1.0
). Confirme se o conjunto de dados e o tipo são compatíveis com a versão implantada dos hubs FinOps. Consulte conjuntos de dados compatíveis para obter detalhes.
SchemaNotFound
Gravidade: crítica
O pipeline de msexports_ExecuteETL hub FinOps não conseguiu encontrar o arquivo de mapeamento de esquema para o conjunto de dados exportado.
Mitigação: confirme se há suporte para o tipo e a versão do conjunto de dados. Consulte conjuntos de dados compatíveis para obter detalhes. Se houver suporte para o conjunto de dados, confirme a versão do hub com o relatório de assimilação de dados.
Para adicionar suporte a outro conjunto de dados, crie um arquivo de mapeamento personalizado e salve-o no config/schemas/<dataset-type>_<dataset-version>.json
. Os <dataset-type>
<dataset-version>
valores correspondem muito ao que o Gerenciamento de Custos usa. Para identificar o tipo de dados de cada coluna, use um arquivo de esquema existente como modelo. Alguns conjuntos de dados têm esquemas diferentes para o EA e o MCA (Contrato de Cliente) da Microsoft. Eles não podem ser identificados por meio desses atributos e podem causar um problema se você tiver os dois tipos de conta. Estamos trabalhando para adicionar conjuntos de dados e levar em conta as diferenças de EA e MCA, alinhando-nos ao FOCUS.
Arquivo de exportação desconhecido
Gravidade: Informativo
O arquivo no armazenamento de hub não parece ter sido exportado do Gerenciamento de Custos. O arquivo é ignorado.
Mitigação: o contêiner msexports destina-se apenas a exportações do Gerenciamento de Custos. Mova outros arquivos em outro contêiner de armazenamento.
Versão UnknownHubVersion
Gravidade: crítica
Não é possível identificar a versão dos hubs FinOps no arquivo de configurações. Verifique se as configurações estão corretas. Os hubs FinOps 0.1.1 e anteriores não funcionam com este relatório do Power BI.
Mitigação: atualize para a versão mais recente dos hubs FinOps ou baixe relatórios do Power BI da versão v0.1.1 do kit de ferramentas FinOps.
UnsupportedExportFileType
Gravidade: crítica
Não é possível ingerir o arquivo de exportação especificado porque não há suporte para o tipo de arquivo.
Mitigação: converta o arquivo em um formato de arquivo com suporte antes de adicioná-lo ao contêiner msexports ou adicione suporte para converter o novo tipo de arquivo no pipeline msexports_ETL_ingestion .
UnsupportedExportType
Severidade: Aviso
O manifesto de exportação no armazenamento de hub indica que a exportação foi para um conjunto de dados sem suporte. Os dados exportados são relatados como erros de ingestão.
Mitigação: crie uma nova exportação do Gerenciamento de Custos para o custo do FOCUS e interrompa a exportação atual ou altere-a para exportar para um contêiner de armazenamento diferente.
O <provedor de recursos de nome> não está registrado no guid da assinatura <>
Abra a assinatura no portal do Azure, selecione Configurações>Provedores de recursos, selecione a linha do provedor de recursos (por exemplo, Microsoft.EventGrid) e selecione o comando Registrar na parte superior da página. O registro pode levar alguns minutos.
x_PricingSubcategory mostra a ID do desconto de compromisso
As exportações do Gerenciamento de Custos antes de 28 de fevereiro de 2024 tinham um bug em que x_PricingSubcategory
estava sendo definido incorretamente para uso confirmado. Você deve esperar ver valores como Committed Spend
e Committed Usage
. Em vez disso, você pode ver valores como:
Committed /providers/Microsoft.BillingBenefits/savingsPlanOrders/###/savingsPlans/###
Committed /providers/Microsoft.Capacity/reservationOrders/###/reservations/###
Se você vir esses valores, exporte novamente os dados de custo desse mês. Se você precisar exportar dados de um mês mais antigo que não está disponível, entre em contato com o suporte para solicitar que os dados sejam exportados para resolver o problema de qualidade de dados das execuções de exportação anteriores.
Power BI: os relatórios não têm dados para datas específicas
Se o relatório não tiver todos os dados por um ou mais meses, verifique os parâmetros Number of Months, RangeStart e RangeEnd para garantir que os dados não estejam sendo filtrados.
Para verificar os parâmetros, selecione Transformar dados>Editar parâmetros na faixa de opções ou selecione os parâmetros individuais na 🛠pasta ️ Configuração na janela do editor de consultas.
- Se você quiser sempre mostrar um número específico de meses recentes, defina Número de meses como o número de meses fechados (concluídos). O mês atual é um mês extra além do número fechado de meses.
- Se você quiser um intervalo de datas fixo que não mude ao longo do tempo (por exemplo, relatórios de ano fiscal), defina RangeStart e RangeEnd.
- Se você quiser relatar todos os dados disponíveis, confirme se todos os três parâmetros de data estão vazios.
Para obter mais informações, consulte Configurar seu primeiro relatório.
Power BI: os relatórios estão vazios (sem dados)
Se você não vir nenhum dado em seu Power BI ou em outros relatórios ou ferramentas, tente o seguinte com base em sua fonte de dados:
- Se estiver usando o conector de Gerenciamento de Custos no Power BI, verifique os
Billing Account ID
parâmetros eNumber of Months
para garantir que eles estejam definidos corretamente. Lembre-se de que contas de faturamento antigas podem não ter dados nos últimos meses. - Se estiver usando hubs FinOps, verifique a conta de armazenamento para garantir que os dados sejam preenchidos no contêiner de ingestão. Você deve ver uma pasta de provedores ou assinaturas . Use as seções a seguir para solucionar problemas adicionais.
Hubs FinOps: o contêiner de ingestão está vazio
Se o contêiner de ingestão estiver vazio, abra a instância do Data Factory no Data Factory Studio e selecione Gerenciar>Gatilhos de Autor>e verifique se o gatilho msexports_FileAdded foi iniciado. Se não, inicie-o.
Se o gatilho não for iniciado com um erro "provedor de recursos não está registrado", abra a assinatura no portal do Azure, selecione Configurações>Provedores de recursos, selecione a linha Microsoft.EventGrid e selecione o comando Registrar na parte superior da página. O registro pode levar alguns minutos.
Após a conclusão do registro, inicie o gatilho msexports_FileAdded novamente.
Depois que o gatilho for iniciado, execute novamente todas as exportações do Gerenciamento de Custos conectadas. Os dados devem ser totalmente ingeridos dentro de 10 a 20 minutos, dependendo do tamanho da conta.
Se o problema persistir, verifique se as exportações do Gerenciamento de Custos estão configuradas com o particionamento de arquivos habilitado. Se você encontrá-lo desativado, ative-o e execute novamente as exportações.
Confirme se o contêiner de ingestão está preenchido e atualize seus relatórios ou outras ferramentas conectadas.
Hubs FinOps: arquivos disponíveis no contêiner de ingestão
Se o contêiner de assimilação não estiver vazio, confirme se você tem arquivos parquet ou csv.gz detalhando as pastas.
Depois de saber, verifique se o parâmetro FileType está definido como .parquet
ou .gz
no relatório do Power BI. Consulte Conectar-se aos seus dados para obter detalhes.
Se você estiver usando outra ferramenta, verifique se ela é compatível com o tipo de arquivo que você está usando.
Power BI: o nome remoto não pôde ser resolvido: '<storage-account.dfs.core.windows.net>'
Indica que o nome da conta de armazenamento está incorreto. Se estiver usando hubs FinOps, verifique o parâmetro StorageUrl da implantação. Consulte Conectar-se aos seus dados para obter detalhes.
Power BI: não é possível converter o valor nulo para o tipo Lógico
Indica que o parâmetro ID da conta de cobrança está vazio. Se estiver usando hubs FinOps, defina o valor como a ID da conta de cobrança desejada. Se você não tiver acesso à conta de cobrança ou não quiser incluir compras e reembolsos de compromisso, defina o valor e 0
abra a consulta CostDetails no editor avançado e altere o 2
para um 1
. Ele informa o relatório para não carregar dados de custo real/faturado do conector de Gerenciamento de Custos. Consulte Conectar-se aos seus dados para obter detalhes.
Versões aplicáveis: 0.1 - 0.1.1 (corrigido em 0.2)
Hubs FinOps: não é possível converter o valor nulo para o tipo Table
Esse erro normalmente indica que os dados não foram ingeridos no contêiner de ingestão.
Se você acabou de atualizar para os hubs FinOps 0.2, o problema pode resultar do relatório do Power BI ser antigo (de 0.1.x) ou porque você não está usando exportações FOCUS. Consulte o guia de atualização para obter detalhes.
Consulte Os relatórios estão vazios (sem dados) para obter mais etapas de solução de problemas.
Conteúdo relacionado
Se você não vir o erro que está enfrentando, consulte o guia de solução de problemas. Se você tiver alguma dúvida, inicie uma discussão ou crie um problema no GitHub.