Dela via


Fråga Azure Monitor SCOM Managed Instance-data från Azure Managed Grafana-instrumentpaneler

Kommentar

Azure Monitor SCOM Managed Instance har inte längre stöd och planeras vara inaktuell senast den 30 september 2026. Det här innehållet uppdateras inte längre. Vi rekommenderar Azure Monitor eller System Center Operations Manager som en alternativ lösning baserat på dina krav.

Den här artikeln beskriver hur du frågar efter övervakningsdata från en driftdatabas och skapar instrumentpaneler på Azure Managed Grafana.

Från Azure Managed Grafana som är länkad till Azure Monitor SCOM Managed Instance kan du använda SQL-frågor för att hämta övervakade data från en driftdatabas som lagras på Azure Managed SQL Managed Instance.

Förutsättningar

Innan du kör frågor mot övervakningsdata från Azure Managed Grafana-portalen kontrollerar du att SCOM Managed Instance är länkad till Azure Managed Grafana. Mer information finns i Instrumentpaneler på Azure Managed Grafana.

Det finns få färdiga instrumentpaneler tillgängliga på Azure/SCOM Managed Instance/Operational Dashboard, som kan importeras och redigeras enligt dina behov på Azure Managed Grafana-instansen.

Skapa en instrumentpanel på Azure Managed Grafana

Följ dessa steg för att skapa en instrumentpanel:

  1. Gå till Grafana och välj Lägg till visualisering. Du kan välja typ av visualisering baserat på tillgängliga alternativ. Skärmbild av Lägg till visualisering.
  2. Under Panelalternativ anger du Rubrik och Beskrivning. Skärmbild av panelalternativ.
  3. Under Fråga väljer du Kod och anger frågan. Skärmbild av kodalternativ.
  4. Välj Kör fråga.

Exempelfrågor

Här följer några användbara exempelfrågor och instrumentpaneler för att komma igång med att använda Azure Managed Grafana med SCOM Managed Instance:

  • Hälsotillstånd för arbetsbelastning
  • Arbetsbelastningshälsa och antalet nya aviseringar på dem
  • De viktigaste händelserna i arbetsbelastningen
  • De viktigaste aviseringarna från arbetsbelastningen
  • Prestandadatafråga för arbetsbelastningsräknare

Följande frågor hjälper dig att skapa hälsa, aviseringar och tophändelser från ett visst arbetsbelastnings-/övervakningsobjekt:

Kommentar

  • <Ersätt namnprefixet> för hanteringspaketet med det faktiska hanteringspaketets namn, till exempel Microsoft.SQL % för SQL-arbetsbelastningen.
  • Ersätt övervakningsobjekttypen <> med komponentklassen, till exempel %. DBEngine för SQL-serverrollen.

Hälsotillstånd för arbetsbelastning

SELECT HealthState =  

        CASE  

            WHEN MEV.HealthState = 1 THEN 'Healthy'  

            WHEN MEV.HealthState = 2 THEN 'Warning'  

            WHEN MEV.HealthState = 3 THEN 'Critical'  

            ELSE 'Uninitialized'  

        END,  

        CAST(COUNT(*)  AS DECIMAL(5, 2)) AS servers  

  FROM ${Database}.[dbo].[ManagedEntityGenericView] MEV  

  INNER JOIN ${Database}.[dbo].[ManagedTypeView] MTV ON MTV.Id = MEV.MonitoringClassId and MTV.name like '%.<Monitoring Object Type>'  

  INNER JOIN ${Database}.[dbo].[ManagementPackView] MPV ON MPV.Id = MTV.ManagementPackId and MPV.name like '<MP name Prefix>'  

  GROUP BY MEV.HealthState  

  ORDER BY MEV.HealthState  

Arbetsbelastningshälsa och antalet nya aviseringar på dem

SELECT MEV.Name  

         ,HealthState =   

      CASE   

        WHEN MEV.HealthState = 1 THEN 'Healthy'  

        WHEN MEV.HealthState = 2 THEN 'Warning'  

        WHEN MEV.HealthState = 3 THEN 'Critical'  

        ELSE 'Uninitialized'  

      END  

      ,NewAlerts = COUNT(AV.ResolutionState)  

  FROM ${Database}.[dbo].[ManagedEntityGenericView] MEV  

  INNER JOIN ${Database}.[dbo].[ManagedTypeView] MTV ON MTV.Id = MEV.MonitoringClassId and MTV.name like '%.<Monitoring Object Type>'  

  INNER JOIN ${Database}.[dbo].[ManagementPackView] MPV ON MPV.Id = MTV.ManagementPackId and MPV.name like '%<MP name prefix>%'  

  INNER JOIN ${Database}.[dbo].[AlertView] AV ON AV.MonitoringClassId = MTV.Id and AV.ResolutionState = 0 AND  $__timeFilter(TimeRaised)  

  GROUP BY MEV.Name, HealthState, AV.ResolutionState  

De viktigaste händelserna i arbetsbelastningen

SELECT EventDescription = LT5.LTValue  

      ,Count(*) Occurences  

      ,AffectedSQLServers = Count(DISTINCT(EV.LoggingComputer))  

  FROM ${Database}.[dbo].[EventView] EV  

  INNER JOIN ${Database}.[dbo].[ManagedTypeView] MTV ON MTV.Id = EV.ClassId   

  INNER JOIN ${Database}.[dbo].[ManagementPackView] MPV ON MPV.Id = MTV.ManagementPackId and MPV.name like '%<MP Name Prefix>%'  

  INNER JOIN ${Database}.dbo.LocalizedText LT5 ON EV.EventNumberStringId = LT5.LTStringId AND LT5.LanguageCode = 'ENU'  

  WHERE $__timeFilter(TimeGenerated) AND LevelId < 3  

GROUP BY Number, LT5.LTValue  

ORDER BY Occurences, AffectedSQLServers DESC;  

De viktigaste aviseringarna från arbetsbelastningen

SELECT AV.AlertStringName AS Alert  

      ,Occurrence = COUNT(AV.ResolutionState)  

      ,AffectedServers = COUNT(MEV.name)  

  FROM ${Database}.[dbo].[AlertView] AV  

  INNER JOIN ${Database}.[dbo].[ManagedTypeView] MTV ON MTV.Id = AV.MonitoringClassId and MTV.name like '%<Monitoring Object Type>'  

  INNER JOIN ${Database}.[dbo].[ManagementPackView] MPV ON MPV.Id = MTV.ManagementPackId and MPV.name like '%M<MP Name Prefix>%'  

  INNER JOIN ${Database}.[dbo].[ManagedEntityGenericView] MEV ON MTV.Id = MEV.MonitoringClassId  

  where AV.ResolutionState = 0 and  $__timeFilter(TimeRaised)  

  GROUP BY AV.AlertStringName, AV.ResolutionState 

Prestandadatafråga för arbetsbelastningsräknare

SELECT PD.TimeSampled 

   ,CASE  

		WHEN BME.Path IS NOT NULL AND BME.Path <> '' THEN CONCAT(BME.Path, '\', COALESCE(BME.Name, '')) 

		ELSE COALESCE(BME.Name, '') END AS TagetObjectPath 

  ,ObjectName = PC.ObjectName 

  ,CounterName = PC.CounterName 

  ,Value = PD.SampleValue 

  FROM dbo.PerformanceDataAllView PD  

  INNER JOIN dbo.PerformanceSource PS ON PD.PerformanceSourceInternalId = PS.PerformanceSourceInternalId 

  INNER JOIN dbo.PerformanceCounter PC ON PS.PerformanceCounterId = PC.PerformanceCounterId and CounterName = 'Receive I/Os/sec' 

  INNER JOIN dbo.BaseManagedEntity BME ON PS.BaseManagedEntityId = BME.BaseManagedEntityId AND BME.IsDeleted = 0  

  INNER JOIN [dbo].[ManagedTypeView] MTV ON MTV.Id = BME.BaseManagedTypeId  

  INNER JOIN [dbo].[ManagementPackView] MPV ON MPV.Id = MTV.ManagementPackId and MPV.name like 'Microsoft.SQL%' 

Nästa steg

Felsöka problem med Azure Monitor SCOM Managed Instance.