Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, İşletimsel veritabanından izleme verilerini sorgulama ve Azure Yönetilen Grafana'da pano oluşturma işlemleri açıklanmaktadır.
Azure İzleyici SCOM Yönetilen Örneği'ne bağlı Azure Yönetilen Grafana'dan, azure yönetilen SQL Yönetilen Örneği depolanan operasyonel veritabanından izlenen verileri almak için SQL sorgularını kullanabilirsiniz.
Önkoşullar
Azure Yönetilen Grafana portalından izleme verilerini sorgulamadan önce SCOM Yönetilen Örneği'nin Azure Yönetilen Grafana'ya bağlı olduğundan emin olun. Daha fazla bilgi için bkz . Azure Yönetilen Grafana'da panolar.
Azure Yönetilen Grafana örneğindeki gereksinimlerinize göre içeri aktarılıp düzenlenebilen Azure/SCOM Yönetilen Örneği/İşlem Panosu'nda kullanıma hazır birkaç pano mevcuttur.
Azure Yönetilen Grafana'da pano oluşturma
Pano oluşturmak için şu adımları izleyin:
- Grafana'ya gidin ve Görselleştirme ekle'yi seçin. Kullanılabilir seçeneklere göre görselleştirme türünü seçebilirsiniz.
- Panel seçenekleri'nin altında Başlık ve Açıklama girin.
- Sorgu'nun altında Kod'a tıklayın ve sorguyu girin.
- Sorguyu çalıştır'ı seçin.
Örnek sorgular
SCOM Yönetilen Örneği ile Azure Yönetilen Grafana'yı kullanmaya başlamak için aşağıda birkaç yararlı örnek sorgu ve pano verilmiştir:
- İş yükünün sistem durumu
- İş yükü durumu ve bu uyarılardaki yeni uyarıların sayısı
- İş yükündeki en önemli olaylar
- İş yükünden en iyi uyarılar
- İş yükü sayacı için performans veri sorgusu
Aşağıdaki sorgular belirli bir iş yükü/izleme nesnesinden Sistem Durumu, Uyarılar ve En önemli olayları oluşturmanıza yardımcı olur:
Not
- Yönetim paketi adı ön ekini> <SQL iş yükü için %Microsoft.SQL gibi gerçek yönetim paketi adıyla değiştirin.
- İzleme Nesne Türü'nü <> % gibi bir bileşen sınıfıyla değiştirin. SQL sunucusu rolü için DBEngine.
İş yükünün sistem durumu
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
İş yükü durumu ve bu uyarılardaki yeni uyarıların sayısı
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
İş yükündeki en önemli olaylar
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;
İş yükünden en iyi uyarılar
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
İş yükü sayacı için performans veri sorgusu
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%'
Sonraki adımlar
Azure İzleyici SCOM Yönetilen Örneği ile ilgili sorunları giderin.