Compartilhar via


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:

  1. A URL de armazenamento deve corresponder à StorageUrlForPowerBI saída na implantação do hub FinOps.
  2. As exportações do Gerenciamento de Custos devem ser configuradas para apontar para a mesma conta de armazenamento usando o msexports contêiner.
  3. As exportações do Gerenciamento de Custos devem mostrar uma exportação bem-sucedida no histórico de execuções.
  4. Os gatilhos de data factory do hub FinOps devem ser iniciados.
  5. 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:

  1. 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.
  2. 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.
  3. 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):

  1. Abra a conta de armazenamento do hub no portal do Azure ou no gerenciador de armazenamento.
  2. Se estiver no portal do Azure, acesse Navegador de armazenamento no menu.
  3. Selecione o contêiner msexports .
  4. Navegue pela hierarquia de arquivos para a exportação com o problema (consulte o local do manifesto na mensagem de erro).
  5. Localize o arquivo manifest.json e selecione o menu () e, em seguida, selecione Exibir/editar.
  6. 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>",
        ...
      },
      ...
    }
    
  7. 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.
  8. Se você estiver usando uma versão mais recente da API:
    1. 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.
    2. Exclua a exportação no Gerenciamento de Custos.
    3. 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._

  9. Se você notar que as propriedades foram alteradas para uma versão de API compatível:
    1. 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.
    2. 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> da exportConfig.resourceIdAPI que espera que , exportConfig.type, e exportConfig.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:

  1. Abra o grupo de recursos do hub no portal do Azure.
  2. Selecione Configurações>Implantações no menu à esquerda.
  3. Confirme se todas as implantações foram bem-sucedidas. Especificamente, procure os seguintes nomes de implantação:
    • main
    • hub
    • dataFactoryResources
    • storage
    • keyVault
  4. 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).
  5. Se o erro parecer transitório, tente implantar novamente.
  6. 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).
  7. 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:

  1. Se estiver usando o conector de Gerenciamento de Custos no Power BI, verifique os Billing Account ID parâmetros e Number 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.
  2. 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.


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.