Partager via


Guide pratique pour fermer une alerte générée par une analyse

Important

Cette version d’Operations Manager a atteint la fin du support. Nous vous recommandons de mettre à niveau vers Operations Manager 2022.

Les analyses définissent les états d’intégrité des objets. Un objet peut avoir l’un de ces trois états d’intégrité : vert (réussi ou intègre), jaune (avertissement) ou rouge (critique ou non intègre). Par exemple, une analyse de la capacité du disque dur peut définir le vert comme plein à moins de 85 %, le jaune comme plein à plus de 85 % et le rouge comme plein à plus de 90 %. Une analyse peut être configurée pour générer une alerte lorsqu'un changement d'état se produit.

Quand vous recevez une alerte, consultez les détails de l’alerte pour savoir si l’alerte a été générée par une règle ou une analyse. Si l’alerte a été générée par une analyse, comme une bonne pratique, vous devez autoriser l’analyse à résoudre automatiquement l’alerte quand l’objet revient à l’état d’intégrité normal. Si vous fermez l’alerte alors que l’objet est dans un état d’avertissement ou défectueux, le problème reste non résolu, mais aucune autre alerte ne sera générée.

Si l’analyse génère une alerte quand l’état d’intégrité passe au rouge et que vous résolvez l’alerte, vous devez également réinitialiser l’état d’intégrité pour l’analyse. Si le moniteur n’est pas réinitialisé, la même condition qui a généré une alerte peut se produire à nouveau, mais aucune alerte ne sera générée, car l’état d’intégrité n’a pas changé.

Dans Operations Manager avant 2019, si vous fermez l’alerte alors que l’objet est dans un état d’avertissement ou défectueux, le problème reste non résolu, mais aucune autre alerte n’est générée. Ce comportement, qui a souvent conduit à un scénario où il n’y a pas d’alerte active dans le système, alors qu’un problème sous-jacent existe, est résolu dans Operations Manager 2019.

Avec Operations Manager 2019, une alerte générée par un moniteur ne peut pas être fermée, sauf si l’état d’intégrité du moniteur correspondant est sain. Si vous essayez de fermer une alerte générée par un moniteur défectueux, un message d’erreur s’affiche et l’alerte ne sera pas fermée.

Vous pouvez vérifier ce nouveau comportement à partir de la console Opérateur et de la console Web.

Console Opérateur

Suivez les étapes ci-dessous :

  1. Ouvrez la console Operations Manager et sélectionnez Analyse

    Vue d’ensemble de l’analyse affiche un résumé des états d’intégrité des moniteurs ainsi que les alertes actives.

  2. Sélectionnez Alertes actives dans le volet de navigation.

  3. Cliquez avec le bouton droit sur une alerte, qui est générée par un moniteur qui se trouve dans un état non sain.

  4. Définissez l’état de résolution comme étant Fermé.

    Le message suivant s’affiche pour indiquer la cause de la non-fermeture de l’alerte :

    Impossible de fermer la ou les alerte(s) de la sélection actuelle, car le ou les moniteurs qui les ont générées sont toujours défectueux. Pour plus d’informations sur les alertes qui ne peuvent pas être fermées, consultez le tableau de bord « Échec de fermeture des alertes » dans la console web Operations Manager

    Capture d’écran montrant la console d’opérations de message d’alerte fermée.

    Notes

    Pour fermer cette alerte, l’état d’intégrité du moniteur correspondant doit être réinitialisé manuellement à l’état sain. Si l’option autoresolve de ce moniteur est définie sur true, l’alerte se ferme automatiquement une fois l’état d’intégrité réinitialisé. Sinon, l’alerte doit être fermée manuellement après que l’état d’intégrité a été réinitialisé.

Console Web

  1. Ouvrez la console web et sélectionnez Analyse. Vue d’ensemble de l’analyse affiche un résumé des états d’intégrité des moniteurs ainsi que les alertes actives.

  2. Sélectionnez Alertes actives dans le volet de navigation.

  3. Ouvrez une alerte, qui a été générée par un moniteur qui se trouve dans un état non sain.

  4. Définissez l’état de résolution comme étant Fermé et enregistrez les modifications en choisissant Enregistrer.

    Le message suivant s’affiche pour indiquer la cause de la non-fermeture de l’alerte :

    Impossible de fermer la ou les alerte(s) de la sélection actuelle, car le ou les moniteurs qui les ont générées sont toujours défectueux

    Capture d’écran montrant la console web du message d’alerte fermé.

    Notes

    Pour fermer cette alerte, vous devez réinitialiser manuellement l’intégrité des moniteurs correspondants qui ont généré cette alerte.

Réinitialiser manuellement l’état d’intégrité d’un moniteur pour une alerte correspondante

Suivez les étapes ci-dessous :

  1. Sélectionnez Le tableau de bord d’échec de fermeture d’alerte dans le volet de navigation. Le tableau de bord liste des alertes qui n’ont pas pu être fermées par Operations Manager en raison de l’état non sain du moniteur qui les a générées.

  2. Vous pouvez réinitialiser l’état d’intégrité du moniteur pour l’alerte correspondante des deux façons suivantes :

    • Sélectionnez une alerte dans le tableau de bord puis, sélectionnez l’action du tableau de bord Réinitialiser l’intégrité pour l’alerte. ou
    • Sélectionnez une alerte dans ce tableau de bord pour accéder à la page d’exploration des alertes (où vous pouvez visualiser toutes les informations pertinentes pour une alerte), puis sélectionnez la tâche Réinitialiser l’intégrité dans le volet Office.

    Capture d’écran montrant la réinitialisation de l’intégrité du moniteur pour une alerte.

API de mise à jour des alertes

Si une fermeture d’alerte est déclenchée à partir de systèmes externes tels que la gestion des incidents et que l’alerte n’a pas été fermée en raison de l’intégrité du moniteur correspondant, une exception est transmise avec les détails de l’alerte, qui peuvent être consommés par les systèmes externes.

Les API de mise à jour d’alerte suivantes peuvent être utilisées pour externaliser les données de mise à jour des alertes. Ces deux API ont été améliorées pour permettre l’externalisation de ce nouveau comportement :

  • API 1 de mise à jour des alertes

  • API 2 de mise à jour des alertes

L’exemple suivant montre les détails concernant l’utilisation de l’exception AlertMonitorUnhealthyException.

namespace MonitorAlertClosureFailureExample
{
    class Program
    {
        static void Main(string[] args)
        {
            ManagementGroup mg = new ManagementGroup("localhost");

            // Get database availability alerts.
            MonitoringAlertCriteria alertCriteria = new MonitoringAlertCriteria(
                "Name LIKE '%DBStatusMonitor' AND Category = 'AvailabilityHealth'");
            IList<MonitoringAlert> alerts =
                mg.OperationalData.GetMonitoringAlerts(alertCriteria, default(DateTime));

            // Find the "Closed" resolution state that is defined
            // for this Management Group.
            IList<MonitoringAlertResolutionState> alertStates = mg.OperationalData.GetMonitoringAlertResolutionStates();
            MonitoringAlertResolutionState closedState = null;
            foreach (MonitoringAlertResolutionState thisState in alertStates)
            {
                if (thisState.Name == "Closed")
                {
                    closedState = thisState;
                }
            }

            // Close all alerts not already in the "Closed" resolution state.
            foreach (MonitoringAlert a in alerts)
            {
                a.ResolutionState = closedState.ResolutionState;
                string comment = "Closing the Alert";
                try
                {
                    a.Update(comment);
                }
                catch (AlertMonitorUnhealthyException e)
                {
                    // It mean the alert being closed is a monitor alert and the monitor which generated this alert is still unhealthy
                    // take an appropriate action. Here an error message is being displayed at console
                    Console.WriteLine("The alert with Alert Name" + a.Name + "cannot be closed as the monitor which genrated the alert is still unhealthy.")
                }
                catch (Exception e)
                {
                    // generic exception during the update of the alert
                    Console.WriteLine("Closing the alert with alert name" + a.Name + "is failing because" + e.Message)
                }

            }

    }
}


namespace MonitorAlertClosureFailureExample
{
    class Program
    {
        static void Main(string[] args)
        {
            ManagementGroup mg = new ManagementGroup("localhost");

            // Get database availability alerts.
            MonitoringAlertCriteria alertCriteria = new MonitoringAlertCriteria(
                "Name LIKE '%DBStatusMonitor' AND Category = 'AvailabilityHealth'");
            IList<MonitoringAlert> alerts =
                mg.OperationalData.GetMonitoringAlerts(alertCriteria, default(DateTime));

            // Find the "Closed" resolution state that is defined
            // for this Management Group.
            IList<MonitoringAlertResolutionState> alertStates = mg.OperationalData.GetMonitoringAlertResolutionStates();
            MonitoringAlertResolutionState closedState = null;
            foreach (MonitoringAlertResolutionState thisState in alertStates)
            {
                if (thisState.Name == "Closed")
                {
                    closedState = thisState;
                }
            }

            // Close all alerts not already in the "Closed" resolution state.
            string comment = "Closing the alert";
            foreach(MonitoringAlert a in alerts)
            {
                a.ResolutionState = closedState.ResolutionState;
            }

            IList<MonitoringAlertUpdateFailure> updateFailures = mg.OperationalData.UpdateMonitoringAlerts(alerts, comment);

            if (updateFailures != null && updateFailures.Count > 0)
            {
                foreach (MonitoringAlertUpdateFailure failure in updateFailures)
                {
                    if(failure.Exception is AlertMonitorUnhealthyException)
                    {
                        // It means the alert being closed is a monitor alert and the monitor which generated this alert is still unhealthy
                        // take an appropriate action. Here an error message is being displayed at console
                        Console.WriteLine("The alert with Alert Name" + a.Name + "cannot be closed as the monitor which genrated the alert is still unhealthy.")
                    }
            }           
        }

    }
}

Pour déterminer si une alerte est résolue automatiquement

Suivez les étapes ci-dessous :

  1. Sélectionnez l’alerte, puis, dans les détails de l’alerte, sélectionnez le nom du moniteur d’alerte. La boîte de dialogue propriétés du moniteur s’ouvre.

  2. Dans les propriétés du moniteur, sélectionnez l’onglet Alertes pour voir si l’option Résoudre automatiquement l’alerte lorsque le moniteur retourne à un état sain est sélectionnée.

Pour fermer une alerte générée par une analyse

Suivez les étapes ci-dessous :

  1. Examinez l’alerte et ses propriétés. Consultez les détails de l’alerte pour déterminer si l’alerte a été générée par une analyse ou une règle. Utilisez la base de connaissances du produit pour l’alerte pour déterminer la cause de l’alerte.

  2. Prenez les mesures nécessaires pour résoudre le problème en fonction des causes identifiées.

  3. Une fois le problème résolu, sélectionnez Source dans les détails de l’alerte. L’affichage État s’ouvre pour l’objet associé à l’alerte.

  4. Cliquez avec le bouton droit sur l’objet, pointez sur Ouvrir, puis sélectionnez Intégrité Explorer pour le nom de l’objet.

  5. Sélectionnez le moniteur qui a généré l’alerte, puis sélectionnez Réinitialiser l’intégrité dans la barre d’outils. Fermez l’Explorateur d’intégrité et l’affichage État.

  6. Actualisez l’affichage des alertes. Si l’alerte est toujours répertoriée, sélectionnez l’alerte, puis sélectionnez Fermer l’alerte dans le volet Actions.

Notes

La mise à jour suivante (fermeture des alertes orphelines) s’applique à Operations Manager 2019 UR3 et ultérieur.

Fermeture des alertes orphelines

Dans Operations Manager 2019 RTM, UR1 et UR2, les alertes actives ne sont pas fermées après un état d’intégrité non persistant dans certains scénarios, comme indiqué ci-dessous :

  1. Basculement :

    • Le basculement qui peut être déclenché lorsque le serveur d’administration est mis hors connexion.
    • En raison de l’ajout de nouveaux serveurs d’administration au pool de ressources, ce qui entraîne l’équilibrage de charge.
    • Lorsqu’un ordinateur sans agent bascule et doit être surveillé par un autre serveur d’administration, d’où le nouvel état d’intégrité.
  2. L’agent a été déconnecté et à nouveau connecté au bout d’un certain temps, au cours duquel l’status d’intégrité ne connaît pas l’état précédent.

  3. Le serveur d’administration a été déconnecté et reconnecté.

  4. Le cache du service d’intégrité a été effacé.

Dans l’ensemble, le service d’intégrité ne contient pas le dernier état du moniteur ; les alertes ne sont pas fermées lors de la réinitialisation du moniteur sur sain.

Avec Operations Manager 2019 UR3, toutes les alertes orphelines finissent par être fermées selon le type d’analyse, comme indiqué ci-dessous :

  • Moniteur de service : fermeture immédiate.
  • Toutes les analyses avec le module immédiat à la demande : fermeture immédiate.
  • Toutes les analyses sans modules à la demande : fermeture à la deuxième exécution, en fonction de la fréquence.
  • Analyse basée sur les événements : fermeture avec un événement sain qui se produit après l’initialisation.

La transition de l’état d’intégrité montre une modification mineure lors de l’initialisation du moniteur ; exemple ci-dessous :

Capture d’écran montrant la transition de l’état d’intégrité.

Comme le montre la figure ci-dessus, pendant l’initialisation, l’analyse devient d’abord saine. Ensuite, elle calcule à nouveau et se met à l’état sain. Vous verrez deux transitions de changement d’état de l’état creux à l’état sain.

Modifications apportées à l’expérience de fermeture des alertes

Avec Operations Manager 2022, l’administrateur peut choisir de fermer les alertes d’un moniteur d’intégrité si son état est non sain.

Dans la version 2019, une alerte générée par un moniteur n’a pu être fermée que si l’état d’intégrité du moniteur correspondant est sain. Si vous essayez de fermer une alerte générée par un moniteur non sain, un message d’erreur s’affiche et l’alerte ne sera pas fermée.

Avec Operations Manager 2022, l’administrateur peut modifier ce comportement en accédant à Administration>Paramètres, puis en sélectionnant l’une des options ci-dessous :

  • Fermez les alertes générées par le moniteur uniquement lorsque la santé du moniteur sous-jacent est résolue ou réinitialisée manuellement.
  • Fermer la ou les alertes générées par le moniteur en réinitialisant l’intégrité de l’analyse sous-jacente : cette option vous permet de fermer les alertes des analyses non saines par programme et sur l’interface utilisateur. Cela réinitialise l’intégrité du moniteur sous-jacent, ce qui a pour conséquence de fermer implicitement l’alerte correspondante. Cette option permet également de fermer en bloc toutes les alertes générées par les moniteurs.

Vous pouvez également voir la manière dont l’alerte a été fermée en affichant Propriétés de l’alerte>Historique.

Capture d’écran montrant les paramètres du groupe d’administration global.

Capture d’écran montrant l’historique des alertes.

Étapes suivantes

  • Lorsqu’une alerte est générée, vous pouvez afficher les alertes actives et les détails dans la console Opérations et Web pour identifier les problèmes possibles et aider à identifier les étapes suivantes pour les résoudre.

  • Après avoir examiné et résolu le problème détecté par un ou plusieurs moniteurs, consultez Comment réinitialiser l’intégrité pour réinitialiser manuellement l’intégrité si le moniteur n’est pas configuré pour la résolution automatique ou si vous ne souhaitez pas attendre que le moniteur détecte l’état d’intégrité.