Nieprzyjemne zapytania, czyli listowanie monitorowanych obiektów

 

 

Pan Twardowski znany z literatury, zmusił diabła, by ten skąpał się w wodzie święconej. Jak czytamy: „skąpał się biedak po szyję”. W podobnej sytuacji możemy postawić Operations Manager za sprawą odpowiedniego polecenia Powershell.

 

Przeglądając log Operations Manager można czasem natrafić na zdarzenie 26373:

 

 

Próby poszukiwania, skąd pochodzi ten komunikat i jak dochodzi do jego pojawienia się są trudne, gdyż nie mamy wielu wskazówek w samym komunikacie. Liczba rekordów oraz parametr TypeId wskazują, że ktoś (lub coś) usiłuje pobrać wszystkie monitorowane obiekty (każdy monitorowany obiekt bez względu na swoją klasę pochodzi od System.Entity).

 

Jeżeli komunikat pojawia się systematycznie (cyklicznie), przypuszczać można, że istnieje mechanizm związany z monitoringiem, który wyzwala ten komunikat. Bywa jednak, że jest to świadectwo aktywności użytkowników systemu monitorowania uruchamiających polecenia Powershell związane z Operations Manager.

 

Jako szczególnie „zasłużone” występuje tu polecenie Get-SCOMMonitoringObject, które podane bez parametrów wywołuje zazwyczaj taki skutek. Nie dzieje się tak jednak na małych, laboratoryjnych instancjach Operations Manager-a, gdzie można przykładowo wywołać zupełnie bezkarnie polecenie: (Get-SCOMMonitoringObject).count

 

Samo polecenie Get-SCOMMonitoringObject wywodzi się z czasów Operations Manager-a 2007 i obecnie jest tylko aliasem polecenia Get-SCOMClassInstance. Można się o tym przekonać, choćby porównując wyniki:

 

PS   C:\>   (Get-SCOMClassInstance).count

652

PS   C:\>   (Get-SCOMMonitoringObject).count

652

 

Oczywiście ostatecznym argumentem jest tu sprawdzenie:

 

PS   C:\>   Get-Command Get-SCOMMonitoringObject |fl

 

DisplayName                  : Get-SCOMMonitoringObject

CommandType               : Alias

Definition                        : Get-SCOMClassInstance

ReferencedCommand   : Get-SCOMClassInstance

ResolvedCommand       : Get-SCOMClassInstance

 

Opisany wyżej efekt może wystąpić w postaci cyklicznego pojawiania się wpisów w logu Operations Manager, jeżeli uruchomiona zostanie reguła wydajnościowa „Approved.System.Center.Operations.Manager.2016.Performance.Monitoring.GetSCOMMonitoringObject.PowerShell.Script.Perf.Rule”, znajdująca się w Management Pack-u „System Center Operations Manager 2012 R2 Performance Monitoring”.

 

 

Oczywiście domyślnie reguła ta jest wyłączona, więc nie spowoduje wysypu komunikatów 26373 dopóki nie zostanie włączona poprzez Override.