Zamykanie alertu wygenerowanego przez monitor

Monitory definiują stany kondycji obiektów. Obiekt może mieć jeden z trzech stanów kondycji: zielony (powodzenie lub kondycja), żółty (ostrzeżenie) lub czerwony (krytyczny lub w złej kondycji). Na przykład monitor pojemności dysku może zdefiniować kolor zielony jako mniej niż 85 procent pełny, żółty, jak ponad 85 procent pełny, a czerwony jako ponad 90 procent pełny. Monitor można skonfigurować do generowania alertu w przypadku zmiany stanu.

Po otrzymaniu alertu możesz zobaczyć w szczegółach alertu, czy alert został wygenerowany przez regułę, czy monitor. Jeśli alert został wygenerowany przez monitor, najlepszym rozwiązaniem, należy zezwolić monitorowi na automatyczne rozwiązywanie alertu, gdy stan kondycji powróci do dobrej kondycji. Jeśli zamkniesz alert, gdy obiekt jest w stanie ostrzeżenia lub złej kondycji, problem pozostanie nierozwiązany, ale nie zostaną wygenerowane żadne dalsze alerty.

Jeśli monitor generuje alert, gdy stan kondycji zmieni się na czerwony i rozwiążesz alert, musisz również zresetować stan kondycji monitora. Jeśli monitor nie zostanie zresetowany, ten sam warunek, który wygenerował alert, może wystąpić ponownie, ale nie zostanie wygenerowany żaden alert, ponieważ stan kondycji nie uległ zmianie.

W programie Operations Manager przed 2019 r., jeśli zamkniesz alert, gdy obiekt jest w stanie ostrzeżenia lub złej kondycji, problem pozostaje nierozwiązany, ale nie są generowane żadne dalsze alerty. To zachowanie, które często doprowadziło do scenariusza, w którym nie ma aktywnego alertu w systemie, podczas gdy podstawowy problem istnieje, został rozwiązany w programie Operations Manager 2019.

W programie Operations Manager 2019 alert generowany przez monitor nie może zostać zamknięty, chyba że stan kondycji odpowiedniego monitora jest w dobrej kondycji. Jeśli spróbujesz zamknąć alert wygenerowany przez monitor w złej kondycji, zostanie wyświetlony komunikat o błędzie i alert nie zostanie zamknięty.

To nowe zachowanie można sprawdzić zarówno w konsoli Operacje, jak i w konsoli sieci Web.

Konsola Operacje

Wykonaj te kroki:

  1. Otwórz konsolę programu Operations Manager i wybierz pozycję Monitorowanie

    Omówienie monitorowania zawiera podsumowanie stanów kondycji monitorów i bieżących alertów.

  2. Wybierz pozycję Aktywne alerty w okienku nawigacji.

  3. Kliknij prawym przyciskiem myszy alert generowany przez monitor w stanie złej kondycji.

  4. Ustaw stan rozwiązania jako Zamknięty.

    Zostanie wyświetlony następujący komunikat z informacją o przyczynie braku zamknięcia alertu:

    Alerty w bieżącym zaznaczeniu nie mogą być zamknięte jako monitory, które wygenerowały te alerty, są nadal w złej kondycji. Aby uzyskać więcej informacji na temat alertu, którego nie można zamknąć, zobacz pulpit nawigacyjny "Niepowodzenie zamknięcia alertu" w konsoli sieci Web programu Operations Manager

    Zrzut ekranu przedstawiający konsolę operacji komunikatów o zamkniętych alertach.

    Uwaga

    Aby zamknąć ten alert, stan kondycji odpowiedniego monitora musi zostać ręcznie zresetowany do stanu dobrej kondycji. Jeśli dla tego monitora ustawiono wartość autoresolve, alert zostanie automatycznie zamknięty po zresetowaniu stanu kondycji. W przeciwnym razie alert musi zostać ręcznie zamknięty po zresetowaniu stanu kondycji.

Konsola sieci Web

  1. Otwórz konsolę sieci Web i wybierz pozycję Monitorowanie. Omówienie monitorowania zawiera podsumowanie stanów kondycji monitorów i bieżących alertów.

  2. Wybierz pozycję Aktywne alerty w okienku nawigacji.

  3. Otwórz alert wygenerowany przez monitor w złej kondycji.

  4. Ustaw stan rozwiązania jako Zamknięte i Zapisz zmiany.

    Zostanie wyświetlony następujący komunikat z informacją o przyczynie braku zamknięcia alertu:

    Nie można zamknąć bieżącego alertu, ponieważ monitor, który wygenerował ten alert, jest nadal w złej kondycji

    Zrzut ekranu przedstawiający zamkniętą konsolę sieci Web komunikatu alertu.

    Uwaga

    Aby zamknąć ten alert, należy ręcznie zresetować kondycję odpowiednich monitorów, które wygenerowały ten alert.

Ręczne resetowanie stanu kondycji monitora dla odpowiedniego alertu

Wykonaj te kroki:

  1. Wybierz pulpit nawigacyjny Niepowodzenie zamknięcia alertu w okienku nawigacji. Pulpit nawigacyjny zawiera listę alertów, których program Operations Manager nie może zamknąć, ponieważ monitor wygenerował alert jest w złej kondycji.

  2. Stan kondycji monitora dla odpowiedniego alertu można zresetować na dwa sposoby:

    • Wybierz alert na pulpicie nawigacyjnym, a następnie wybierz akcję Pulpit nawigacyjny Resetuj kondycję alertu. Or
    • Wybierz alert na tym pulpicie nawigacyjnym, aby przejść do strony przechodzenia do szczegółów alertów (gdzie można zwizualizować wszystkie istotne informacje dla alertu) i wybrać zadanie Resetowanie kondycji w okienku zadań.

    Zrzut ekranu przedstawiający kondycję monitora resetowania alertu.

Interfejsy API aktualizacji alertów

Jeśli zamknięcie alertu zostanie wyzwolone z systemów zewnętrznych, takich jak zarządzanie zdarzeniami, a alert nie został zamknięty z powodu złej kondycji odpowiedniego monitora, zostanie przekazany wyjątek ze szczegółami alertu, które mogą być używane przez systemy zewnętrzne.

Następujące istniejące interfejsy API aktualizacji alertów mogą służyć do zewnętrznych danych aktualizacji alertów. Te dwa interfejsy API zostały ulepszone, aby umożliwić zewnętrzność tego nowego zachowania:

W poniższym przykładzie przedstawiono szczegółowe informacje dotyczące używania wyjątku AlertMonitor W złej kondycjiException.

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.")
                    }
            }           
        }

    }
}

Ustal, czy alert jest rozwiązywany automatycznie

Wykonaj te kroki:

  1. Wybierz alert, a następnie w szczegółach alertu wybierz nazwę monitora alertów. Zostanie otwarte okno dialogowe właściwości monitora.

  2. We właściwościach monitora wybierz kartę Alerty , aby sprawdzić, czy jest wybrana opcja Automatycznie rozwiąż alert po powrocie monitora do stanu dobrej kondycji .

Zamykanie alertu generowanego przez monitor

Wykonaj te kroki:

  1. Przeczytaj alert i sprawdź jego właściwości. Sprawdź szczegóły alertu, aby określić, czy alert został wygenerowany przez monitor lub regułę. Skorzystaj z wiedzy o produkcie dla alertu, aby określić przyczynę alertu.

  2. Rozwiąż przyczyny alertu i podejmij działania potrzebne do rozwiązania problemu.

  3. Po rozwiązaniu problemu wybierz pozycję Źródło w szczegółach alertu. Spowoduje to otwarcie widoku Stan dla obiektu skojarzonego z alertem.

  4. Kliknij prawym przyciskiem myszy obiekt, wskaż polecenie Otwórz, a następnie wybierz pozycję Eksplorator kondycji jako nazwę obiektu.

  5. Wybierz monitor, który wygenerował alert, a następnie wybierz pozycję Resetuj kondycję na pasku narzędzi. Zamknij Eksploratora kondycji i widok Stan .

  6. Odśwież widok alertów. Jeśli alert jest nadal wyświetlany, wybierz alert i wybierz pozycję Zamknij alert w okienku Akcje.

Uwaga

Następująca aktualizacja (zamknięcie alertów oddzielonych) ma zastosowanie do programu Operations Manager 2019 UR3 lub nowszego.

Zamykanie alertów oddzielonych

W programie Operations Manager 2019 RTM, UR1 i UR2 aktywne alerty nie są zamykane po stanie kondycji nietrwale trwałej w niektórych scenariuszach, jak opisano poniżej:

  1. Tryb failover:

    • Tryb failover, który może zostać wyzwolony, gdy serwer zarządzania przejdzie w tryb offline.
    • Ze względu na dodanie nowych serwerów zarządzania do puli zasobów, co prowadzi do równoważenia obciążenia.
    • Gdy komputer bez agenta ulegnie awarii i ma być monitorowany przez inny serwer zarządzania, stąd nowy stan kondycji.
  2. Agent został rozłączony i połączony ponownie po pewnym czasie, w którym zmiana stanu kondycji nie jest świadoma poprzedniego stanu.

  3. Serwer zarządzania został odłączony i połączony ponownie.

  4. Pamięć podręczna usługi kondycji została wyczyszczone.

Ogólnie rzecz biorąc, usługa kondycji nie przechowuje ostatniego stanu monitora; alerty nie są zamykane podczas resetowania monitora w dobrej kondycji.

W programie Operations Manager 2019 UR3 wszystkie alerty oddzielone są zamykane w końcu w zależności od typu monitora, jak opisano poniżej:

  • Monitor usługi: zamknij natychmiast.
  • Wszystkie monitory z bezpośrednim modułem na żądanie: zamknij natychmiast.
  • Wszystkie monitory bez modułów na żądanie: zamknij drugi przebieg w zależności od częstotliwości.
  • Monitor oparty na zdarzeniach: zamknij ze zdarzeniem w dobrej kondycji, które występuje po zainicjowaniu.

Przejście stanu kondycji pokazuje drobną zmianę podczas inicjowania monitora; przykład poniżej:

Zrzut ekranu przedstawiający przejście stanu kondycji.

Jak pokazano na powyższej ilustracji, podczas inicjowania monitorowanie najpierw zmienia wartość w dobrej kondycji. Następnie ponownie oblicza i zmienia dobrą kondycję. Zobaczysz dwa przejścia zmian stanu z pustego stanu na w dobrej kondycji.

Zmiany w środowisku zamykania alertów

W programie Operations Manager 2022 administrator może zdecydować się na wybranie zamknięcia alertu monitora kondycji, który jest w złej kondycji.

W wersji 2019 nie można zamknąć alertu wygenerowanego przez monitor, chyba że stan kondycji odpowiedniego monitora jest w dobrej kondycji. Jeśli spróbujesz zamknąć alert wygenerowany przez monitor w złej kondycji, zostanie wyświetlony komunikat o błędzie i alert nie zostanie zamknięty.

W programie Operations Manager 2022 administrator może zmienić to zachowanie, przechodząc do pozycji Ustawienia administracyjne>i wybierając dowolną z poniższych opcji:

  • Zamknij alerty generowane przez monitor tylko wtedy, gdy kondycja monitora bazowego jest rozpoznawana lub resetowana ręcznie
  • Zamknij alerty generowane przez monitor przez zresetowanie podstawowej kondycji monitora: ta opcja umożliwia programowe zamykanie alertów monitorów w złej kondycji i w interfejsie użytkownika. Spowoduje to zresetowanie podstawowej kondycji monitora, która niejawnie zamknie odpowiedni alert. Ta opcja umożliwia również zbiorcze zamykanie alertów generowanych przez monitory.

Możesz również śledzić, jak alert został zamknięty, wyświetlając historię właściwości>alertu.

Zrzut ekranu przedstawiający ustawienia globalnej grupy zarządzania.

Zrzut ekranu przedstawiający historię alertów.

Następne kroki

  • Po wygenerowaniu alertu można wyświetlić aktywne alerty i szczegóły w konsoli Operacje i konsola sieci Web, aby zidentyfikować możliwe problemy i pomóc w zidentyfikowaniu następnych kroków w celu ich rozwiązania.

  • Po zbadaniu i rozwiązaniu problemu wykrytego przez co najmniej jeden monitor zapoznaj się z tematem Jak zresetować kondycję w celu ręcznego zresetowania kondycji, jeśli monitor nie jest skonfigurowany do automatycznego rozwiązywania lub nie chcesz czekać, aż monitor wykryje stan kondycji.