다음을 통해 공유


Windows Azure Pack 사용 현황 서비스 문제 해결

 

적용 대상: Windows Azure Pack

문제 해결 정보는 Windows Azure Pack 사용량 서비스의 다양한 측면에 사용할 수 있습니다.

Windows Azure Pack의 잘못된 사용량 Data Flow 문제 해결

일반적으로 테이블 [사용량]을 확인합니다. [Microsoft.MgmtSvc.Usage] 스키마의 [ProvidersConfiguration]을 먼저 선택합니다. 이 표에는 사용량 현황 데이터를 제공하기 위해 Windows Azure Pack에 올바르게 등록된 모든 리소스 공급자가 나열되어 있습니다. 해당 테이블에서 리소스 공급자가 누락된 경우 사용 수집기 서비스에서 사용량 현황 데이터에 대해 연락하지 않습니다.

리소스 공급자의 잘못된 등록을 진단하려면 [mp]를 확인합니다. [Microsoft.MgmtSvc.Microsoft Store] 스키마의 [ResourceProviders] 테이블입니다. 그러면 시스템의 모든 리소스 공급자가 나열됩니다. 사용량 전달 주소 및 자격 증명에 대한 값을 검사하여 리소스 공급자가 등록된 항목을 확인합니다. 항상 리소스 공급자가 올바르게 구성되었는지 확인하는 첫 번째 중지여야 합니다.

사용량 진단 테이블

위에서 언급한 단계 외에도 Microsoft.MgmtSvc.Usage 데이터베이스에 다음 사용량 진단 테이블이 제공됩니다. 각 테이블에는 예외가 기록되는 'Error' 열이 있습니다.

중요

기본적으로 진단 데이터는 3일 동안 유지됩니다. 이 구성은 Table Usage Configuration TableDiagnosticDataDetationDays에서 구성할 수 있습니다.

테이블

로그 데이터

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

참고 항목

Azure Pack 사용량 서비스 Windows