SCOM – Requête SQL de toutes les instances d’objet pour une machine

par | Sep 27, 2017 | Supervision (SCOM, NAGIOS) | 0 commentaires

La requête ci-dessous liste toute les instances d’objets qui se rapporte a une machine donnée, avec leur état ainsi que les infos sur un éventuel mode maintenance en cours sur l’objet.

Use OperationsManager

 

DECLARE @TargetComputer VARCHAR(50)

set @TargetComputer = 'MyServer'

 

SELECT 

MTV.DisplayName as ClassName

,MEGV.Path as Instance_Path

,MEGV.[DisplayName] as 'Entity_DisplayName'

,MEGV.[Name] as 'Entity_Name'

,MEGV.[FullName] as Entity_FullName

,[IsManaged]

,[IsDeleted]

,HealthState =                                                     

    CASE WHEN InMaintenanceMode = '0'

      THEN 

        CASE [HealthState]

        WHEN '0' THEN 'Not Monitored'

        WHEN '1' THEN 'OK'

        WHEN '2' THEN 'Warning'

        WHEN '3' THEN 'Critical'

        END

        WHEN InMaintenanceMode = '1'

        THEN 

        CASE [HealthState]

        WHEN '0' THEN 'In Maintenance Mode'

        WHEN '1' THEN 'OK'

        WHEN '2' THEN 'Warning'

        WHEN '3' THEN 'Critical'

        END

    END

 

,Is_Available = 

    CASE [IsAvailable]

    WHEN '1' THEN 'YES'

    WHEN '2' THEN 'NO'

        END

                                                  

,In_MaintenanceMode = 

CASE [InMaintenanceMode]

WHEN '0' THEN 'NO'

WHEN '1' THEN 'YES'

END

,Start_Of_Maintenance = 

    CASE WHEN InMaintenanceMode = '0' 

        THEN null

        ELSE MMV.StartTime

        END

       ,End_Of_Maintenance = 

        CASE WHEN InMaintenanceMode = '0'

                THEN null

        ELSE MMV.ScheduledEndTime

        END

        ,Maintenance_RootCause = 

            CASE WHEN InMaintenanceMode = '0'

              THEN null

                ELSE 

                CASE MMV.ReasonCode

                WHEN '0' THEN 'Other (Planned)'

                WHEN '1' THEN 'Other (Unplanned)'

                WHEN '2' THEN 'Hardware: Maintenance (Planned)'

                WHEN '3' THEN 'Hardware: Maintenance (Unplanned)'

                WHEN '4' THEN 'Hardware: Installation (Planned)'

                WHEN '5' THEN 'Hardware: Installation (Unplanned)'

                WHEN '6' THEN 'Operating System: Reconfiguration (Planned)'

                WHEN '7' THEN 'Operating System: Reconfiguration (Unplanned)'

                WHEN '8' THEN 'Application: Maintenance (Planned)'

                WHEN '9' THEN 'Application: Maintenance (Unplanned)'

                WHEN '10' THEN 'Application: Installation (Planned)'

                WHEN '11' THEN 'Application: Unresponsive'

                WHEN '12' THEN 'Application:  Unstable'

                WHEN '13' THEN 'Security Issue'

                WHEN '14' THEN 'Loss of network connectivity (Unplanned)'

                END

            END

                                               

,Maintenance_Reason =   

    CASE WHEN InMaintenanceMode = '0' 

    THEN null

    ELSE MMV.Comments

    END

      

FROM [OperationsManager].[dbo].[ManagedEntityGenericView] MEGV

INNER JOIN [dbo].[ManagedTypeView] MTV on MEGV.MonitoringClassId = MTV.Id

INNER JOIN [OperationsManager].[dbo].[MaintenanceModeView] MMV on MEGV.id = MMV.BaseManagedEntityId

WHERE (MEGV.Name  like '%'+@TargetComputer+'%' OR MEGV.DisplayName  like '%'+@TargetComputer+'%' OR MEGV.Path  like '%'+@TargetComputer+'%')

and MTV.LanguageCode = 'ENU'

and MEGV.HealthState is not null

and MEGV.IsDeleted <> '1'

ORDER BY MTV.DisplayName

 

 

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *