Solução de problemas do Windows Serviço de Uso do Azure Pack
Aplica-se a: Windows Azure Pack
As informações de solução de problemas estão disponíveis para vários aspectos do Windows Serviço de Uso do Azure Pack.
Solução de problemas de Fluxo de Dados de uso ruim no Windows Azure Pack
Em geral, verifique a tabela [uso]. [ProvidersConfiguration] no esquema [Microsoft.MgmtSvc.Usage] primeiro. Esta tabela lista todos os provedores de recursos que foram registrados corretamente com Windows Azure Pack para fornecer dados de uso. Se um provedor de recursos estiver ausente nessa tabela, ele não será contatado para obter dados de uso pelo serviço coletor de uso.
Para diagnosticar o registro incorreto de um provedor de recursos, exiba o [mp]. Tabela [ResourceProviders] no esquema [Microsoft.MgmtSvc.Store]. Isso listará todos os provedores de recursos no sistema. Inspecione os valores para obter o endereço de encaminhamento de uso e as credenciais para ver com o que o provedor de recursos foi registrado. Essa sempre deve ser sua primeira parada na validação de que um provedor de recursos está configurado corretamente.
Tabelas de diagnóstico de uso
Além das etapas mencionadas acima, as tabelas de diagnóstico de uso a seguir são fornecidas no banco de dados Microsoft.MgmtSvc.Usage. Cada tabela tem uma coluna 'Error' em que as exceções são registradas.
Importante
Por padrão, os dados de diagnóstico são mantidos por três dias. Isso pode ser configurado por DiagnosticDataDetationDays na tabela Tabela de Configuração de Uso
Tabela |
Dados de log |
---|---|
UsageDiagnostics.CollectionCycles |
Contém logs para todas as chamadas do Coletor de Uso. |
UsageDiagnostics.ProviderCollectionCycles |
Contém logs para todas as chamadas feitas pelo Coletor de Uso para provedores de recursos no sistema. |
UsageDiagnostics.FrontEndRequests |
Contém logs para todas as chamadas feitas para a API REST de Uso (Serviço de Uso) de um Serviço de Cobrança externo. |
UsageDiagnostics.MaintenanceCycles |
Há operações de manutenção executadas nas tabelas de uso principais, por exemplo, purgando registros de uso com base no ciclo de limpeza. Essa tabela tem logs relacionados aos ciclos de manutenção. |
Consultas SQL
As consultas SQL a seguir fornecem informações úteis de solução de problemas
Tabela [UsageDiagnostics]. [ProviderCollectionCycles]
Erros encontrados ao coletar dados de uso.
SELECT TOP 1000 [ProviderCycleID],[CollectionCycleID],[ResourceProviderID],
[ResourceProviderStatus],[RecordsCount],[DownloadStartTime],
[DownloadDurationMilliSeconds],[ResourceProviderHostName],[DownloadStatus],[Error]
FROM [Microsoft.MgmtSvc.Usage].[UsageDiagnostics].[ProviderCollectionCycles]
WHERE Error NOT LIKE 'NULL'
Total de tentativas de coleção nas últimas (v1) horas.
DECLARE @v1 int = 5
SELECT count(*) as 'Total Collection Attempts in last (v1) hours',
sum([RecordsCount]) as 'Total Records Collected in last (v1 hours)',
sum(DownloadDurationMilliSeconds) as 'Time spent collecting (ms)',
[ResourceProviderID],[ResourceProviderHostName]
FROM [Microsoft.MgmtSvc.Usage].[UsageDiagnostics].[ProviderCollectionCycles]
WHERE DownloadStartTime > DATEADD(HOUR,-@v1,GETDATE())
GROUP BY ResourceProviderID,ResourceProviderHostName
ORDER BY ResourceProviderID
Total de tentativas e registros de coleção nos últimos (v2) dias para o Provedor de Recursos (v3).
DECLARE @v2 int = 5
DECLARE @v3 int = 1
SELECT cast(DownloadStartTime As Date) as 'Day',[ResourceProviderID],
[ResourceProviderHostName],count(*) as 'Total Collection Attempts this day',
sum([RecordsCount]) as 'Total Records Collected this day',
(sum(DownloadDurationMilliSeconds)/60000) as 'Time spent collecting ~(min)'
FROM [Microsoft.MgmtSvc.Usage].[UsageDiagnostics].[ProviderCollectionCycles]
WHERE cast(DownloadStartTime As Date) > DATEADD(DAY,-@v2,GETDATE())
AND ResourceProviderID = @v3
GROUP BY cast(DownloadStartTime As Date),ResourceProviderID,ResourceProviderHostName
ORDER BY cast(DownloadStartTime As Date)
Erros encontrados ao coletar dados de uso.
SELECT TOP 1000 [ProviderCycleID],[CollectionCycleID],[ResourceProviderID],
[ResourceProviderStatus],[RecordsCount],[DownloadStartTime],
[DownloadDurationMilliSeconds],[ResourceProviderHostName],[DownloadStatus],[Error]
FROM [Microsoft.MgmtSvc.Usage].[UsageDiagnostics].[ProviderCollectionCycles]
ORDER BY ProviderCycleID DESC
Tabela [Uso]. [Registros]
Todos os provedores de recursos configurados para dados de uso.
SELECT ALL [ProviderId],[ProviderName]
FROM [Microsoft.MgmtSvc.Usage].[usage].[ProvidersConfiguration]
Total de registros de cada provedor de recursos.
SELECT count(*) as 'Total Records Received',ResourceProviderId
FROM [Microsoft.MgmtSvc.Usage].[usage].[Records]
GROUP BY ResourceProviderId
Total de registros de cada provedor de recursos nas últimas horas (v1).
DECLARE @v1 int = 5
SELECT count(*) as 'Total Records in last (v1) hours',ResourceProviderId
FROM [Microsoft.MgmtSvc.Usage].[usage].[Records]
WHERE EndTime > DATEADD(HOUR,-@v1,GETDATE())
GROUP BY ResourceProviderId
Registros de uso do Provedor de Recursos (v2) nas últimas horas (v3).
DECLARE @v2 int = 1
DECLARE @v3 int = 5
SELECT [RecordId],[ExternalRecordId],[ResourceId],[StartTime],[EndTime],
[ResourceProviderId],[ServiceType],[SubscriptionId],[Properties],[Resources]
FROM [Microsoft.MgmtSvc.Usage].[usage].[Records]
WHERE ResourceProviderId = @v2 AND EndTime > DATEADD(HOUR,-@v3,GETDATE())
ORDER BY StartTime desc
Registros de uso para assinatura (v4) nas últimas horas (v5).
DECLARE @v4 varchar(50) = 'E6F86A02-3D89-44E9-AE8E-17C77223676E'
DECLARE @v5 int = 5
SELECT [RecordId],[ExternalRecordId],[ResourceId],[StartTime],[EndTime],
[ResourceProviderId],[ServiceType],[SubscriptionId],[Properties],[Resources]
FROM [Microsoft.MgmtSvc.Usage].[usage].[Records]
WHERE SubscriptionId = @v4 AND EndTime > DATEADD(HOUR,-@v5,GETDATE())
ORDER BY StartTime desc