Udostępnij za pośrednictwem


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 operacyjna

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 złym stanie.

  4. Ustaw stan zamknięcia jako Zamknięty.

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

    Alertów w obecnym wyborze nie można zamknąć, ponieważ monitory, które wygenerowały te alerty, nadal nie są sprawne. 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 z zamkniętym komunikatem ostrzegawczym.

    Uwaga

    Aby zamknąć ten alert, stan kondycji odpowiedniego monitora musi zostać ręcznie zresetowany do stanu dobrej kondycji. Jeśli dla tego monitora ustawiono autoresolve na true, alert zostanie automatycznie zamknięty po zresetowaniu stanu zdrowia. 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 konsolę internetową z zamkniętym komunikatem 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. Panel sterowania zawiera listę alertów, których program Operations Manager nie może zamknąć, ponieważ monitor, który 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. lub
    • 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 zresetowaną kondycję monitora dla alertu.

Interfejsy API aktualizacji alertów

Jeśli zamknięcie alertu zostanie wyzwolone z systemów zewnętrznych, takich jak zarządzanie incydentami, a alert nie został zamknięty z powodu złej kondycji odpowiedniego monitora, wyjątek ze szczegółami alertu zostanie przekazany i może zostać wykorzystany przez systemy zewnętrzne.

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

  • Aktualizacja alertu API 1

  • Aktualizacja alertów API 2

W poniższym przykładzie przedstawiono szczegółowe informacje dotyczące używania wyjątku 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.")
                    }
            }           
        }

    }
}

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ż Otwórz, a następnie wybierz Eksplorator kondycji dlanazwy obiektu.

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

  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 osieroconych alertów) dotyczy programu Operations Manager 2019 UR3 lub nowszego.

Zamknięcie alertów osieroconych

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

  1. Przełączenie awaryjne:

    • Mechanizm przełączania awaryjnego, który może zostać wyzwolony, gdy serwer zarządzania stanie się niedostępny.
    • 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 wyczyszczona.

Ogółem, usługa monitorowania zdrowia nie przechowuje ostatniego stanu monitora; alerty nie są zamykane przy resetowaniu monitora do stanu zdrowego.

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

  • Monitor usługi: natychmiast zamknij.
  • Wszystkie monitory z modułem natychmiastowego żądania: zamknij natychmiast.
  • Wszystkie monitory bez modułów na żądanie: zamykają się podczas drugiego uruchomienia, w zależności od częstotliwości.
  • Monitor oparty na zdarzeniach: zakończyć pomyślnym zdarzeniem, które występuje po inicjalizacji.

Zmiana stanu zdrowia wskazuje na drobną zmianę podczas inicjowania monitora; przykład poniżej.

Zrzut ekranu przedstawiający przejście stanu zdrowia.

Jak pokazano na powyższej ilustracji, podczas inicjalizacji monitor najpierw przechodzi w stan działania. Następnie ponownie oblicza i odzyskuje dobrą kondycję. Zobaczysz dwa przejścia zmiany stanu z pustego stanu na zdrowy stan.

Zmiany w doświadczeniu zamykania alertów

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.

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. Powoduje to zresetowanie stanu zdrowia monitora, co automatycznie zamknie powiązany 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ć stan zdrowia, aby ręcznie zresetować stan zdrowia, jeśli monitor nie jest skonfigurowany do automatycznego rozwiązania lub jeśli nie chcesz czekać, aż monitor wykryje stan zdrowia.