Extraction de données de performance de la base OperationsManagerDW

Pour faire suite à l’article sur l’extraction des données depuis la base OperationsManager que l’on trouve ICI , voyons comment faire avec des données de performance de la base Operations Manager Datawarehouse (OperationsManagerDW) . Pour rappel ces données sont agrégées, mais ont l‘avantage d’être stockées pendant un longue période ( voir ici l’article pour modifier cette période).

Avant de rechercher un compteur de performance dans la base de donnée il faut être sur de son “orthographe”. Pour cela lancer la requête suivante , qui liste tous les compteurs de la base, et faite votre choix :

Select distinct vPerformanceRule.CounterName
FROM Perf.vPerfHourly
INNER JOIN vManagedEntity ON Perf.vPerfHourly.ManagedEntityRowId = vManagedEntity.ManagedEntityRowId
INNER JOIN vManagedEntityType ON vManagedEntity.ManagedEntityTypeRowId = vManagedEntityType.ManagedEntityTypeRowId
LEFT OUTER JOIN vManagedEntityTypeImage ON vManagedEntityType.ManagedEntityTypeRowId = vManagedEntityTypeImage.ManagedEntityTypeRowId
INNER JOIN vPerformanceRuleInstance ON vPerformanceRuleInstance.PerformanceRuleInstanceRowId = Perf.vPerfHourly.PerformanceRuleInstanceRowId
INNER JOIN vPerformanceRule ON vPerformanceRuleInstance.RuleRowId = vPerformanceRule.RuleRowId

On a comme résultat la liste des compteurs de performance en base, y’a plus qu’a faire son choix :

  • % Committed Bytes In Use
  • % Free Space
  • % Processor Time
  • % Usage
  • Active Directory Last Bind
  • Active File Uploads
  • Availability
  • Available Bytes
  • Available MBytes
  • … Etc…Etc



Ensuite lancer la requête suivante avec les 3 variables Counteur et Date1 et Date2 enseignées , DATE1 étant la date a partir de laquelle on souhaite les données , jusqu’a la DATE2.

Deux possibilités , soit simplement 2009-01-24, soit avec l’heure sous cette forme 2009-01-24 04:00:00.000






DECLARE @Counter varchar(30)
SET @Counter = '% Processor Time'

DECLARE @DATE1 varchar(30)
SET @DATE1 = '2009-01-24'

DECLARE @DATE2 varchar(30)
SET @DATE2 = '2009-01-29'

SELECT
vPerfHourly.DateTime,
vPerfHourly.SampleCount,
vPerfHourly.AverageValue,
vPerfHourly.StandardDeviation,
vPerfHourly.MaxValue,
vManagedEntity.FullName,
vManagedEntity.Path,
vManagedEntity.Name,
vPerformanceRule.CounterName
FROM
Perf.vPerfHourly INNER JOIN
vManagedEntity ON Perf.vPerfHourly.ManagedEntityRowId =
vManagedEntity.ManagedEntityRowId INNER JOIN
vManagedEntityType ON vManagedEntity.ManagedEntityTypeRowId =
vManagedEntityType.ManagedEntityTypeRowId LEFT OUTER JOIN
vManagedEntityTypeImage ON vManagedEntityType.ManagedEntityTypeRowId =
vManagedEntityTypeImage.ManagedEntityTypeRowId INNER JOIN
vPerformanceRuleInstance ON
vPerformanceRuleInstance.PerformanceRuleInstanceRowId =
Perf.vPerfHourly.PerformanceRuleInstanceRowId INNER JOIN
vPerformanceRule ON vPerformanceRuleInstance.RuleRowId =
vPerformanceRule.RuleRowId
WHERE
(vPerformanceRule.CounterName = @Counter)
AND vPerfHourly.DateTime >= @DATE1
AND vPerfHourly.DateTime < @DATE2
ORDER BY vPerfHourly.DateTime



Enjoy :-)

Aucun commentaire:

Enregistrer un commentaire

Les commentaires sont soumis a modération