針對 Azure Pack 使用量服務Windows進行疑難排解
適用于:Windows Azure Pack
疑難排解資訊適用于Windows Azure Pack 使用量服務的各個層面。
針對 Windows Azure Pack 中的使用量資料Flow進行疑難排解
一般而言,請檢查資料表 [usage]。[Microsoft.MgmtSvc.Usage] 架構中的 [ProvidersConfiguration]。 下表列出所有已正確向 Windows Azure Pack 註冊的資源提供者,以提供使用量資料。 如果該資料表遺漏了資源提供者,則使用量收集器服務不會連絡其使用量資料。
若要診斷資源提供者的註冊不正確,請檢視 [mp]。[Microsoft.MgmtSvc.Microsoft Store] 架構中的 [ResourceProviders] 資料表。 這會列出系統中的所有資源提供者。 檢查使用量轉送位址和認證的值,以查看資源提供者已註冊的內容。 這應該一律是驗證已正確設定資源提供者的第一個停止。
使用量診斷資料表
除了上述步驟之外,Microsoft.MgmtSvc.Usage 資料庫中會提供下列使用量診斷資料表。 每個資料表都有記錄例外狀況的資料行 「錯誤」。
重要
根據預設,診斷資料會保留三天。 這可由 Table Usage Configuration Table中的DiagnosticDataDetationDays設定
資料表 |
記錄檔資料 |
---|---|
UsageDiagnostics.CollectionCycles |
包含使用量收集器所有呼叫的記錄。 |
UsageDiagnostics.ProviderCollectionCycles |
包含使用量收集器對系統中資源提供者進行之所有呼叫的記錄。 |
UsageDiagnostics.FrontEndRequests |
包含對使用量 REST API 進行的所有通話記錄, (使用量服務) 來自計費服務外部。 |
UsageDiagnostics.MaintenanceCycles |
在核心使用量資料表上執行維護作業,例如,根據清除週期清除使用量記錄。 此資料表具有與維護週期相關的記錄。 |
SQL 查詢
下列SQL查詢提供有用的疑難排解資訊
資料表 [UsageDiagnostics]。[ProviderCollectionCycles]
收集使用方式資料時發生錯誤。
SELECT TOP 1000 [ProviderCycleID],[CollectionCycleID],[ResourceProviderID],
[ResourceProviderStatus],[RecordsCount],[DownloadStartTime],
[DownloadDurationMilliSeconds],[ResourceProviderHostName],[DownloadStatus],[Error]
FROM [Microsoft.MgmtSvc.Usage].[UsageDiagnostics].[ProviderCollectionCycles]
WHERE Error NOT LIKE 'NULL'
過去 (v1) 小時內的收集嘗試總數。
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
資源提供者 (v3) 過去 (v2) 天的收集嘗試和記錄總數。
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)
收集使用方式資料時發生錯誤。
SELECT TOP 1000 [ProviderCycleID],[CollectionCycleID],[ResourceProviderID],
[ResourceProviderStatus],[RecordsCount],[DownloadStartTime],
[DownloadDurationMilliSeconds],[ResourceProviderHostName],[DownloadStatus],[Error]
FROM [Microsoft.MgmtSvc.Usage].[UsageDiagnostics].[ProviderCollectionCycles]
ORDER BY ProviderCycleID DESC
資料表 [使用量]。[記錄]
針對使用量資料設定的所有資源提供者。
SELECT ALL [ProviderId],[ProviderName]
FROM [Microsoft.MgmtSvc.Usage].[usage].[ProvidersConfiguration]
每個資源提供者的總記錄。
SELECT count(*) as 'Total Records Received',ResourceProviderId
FROM [Microsoft.MgmtSvc.Usage].[usage].[Records]
GROUP BY ResourceProviderId
過去 (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
過去 (v3) 小時內,資源提供者 (v2) 的使用量記錄。
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
(v5) 小時內的訂用帳戶 (v4) 使用量記錄。
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