Share via


Come chiudere un avviso generato da un monitoraggio

Importante

Questa versione di Operations Manager ha raggiunto la fine del supporto. È consigliabile eseguire l'aggiornamento a Operations Manager 2022.

I monitoraggi definiscono gli stati di integrità degli oggetti. Un oggetto può avere uno dei tre stati di integrità seguenti: verde (riuscito o integro), giallo (avviso) o rosso (critico o non integro). Ad esempio, un monitoraggio per la capacità dell'unità disco potrebbe definire il verde come pieno per meno dell'85%, il giallo come pieno per oltre l'85% e il rosso come pieno per oltre il 90%. È possibile configurare un monitoraggio per generare un avviso quando si verifica un cambiamento di stato.

Quando si riceve un avviso, nei relativi dettagli è indicato se l'avviso è stato generato da una regola o da un monitoraggio. Se l'avviso è stato generato da un monitoraggio, è consigliabile consentire al monitoraggio di risolvere automaticamente l'avviso quando viene ripristinato lo stato integro. Se si chiude l'avviso mentre l'oggetto si trova in uno stato di avviso o non integro, il problema rimane non risolto, ma non verranno generati altri avvisi.

Se il monitoraggio genera un avviso quando lo stato di integrità diventa rosso e si risolve l'avviso, è necessario reimpostare anche lo stato di integrità per il monitoraggio. Se il monitoraggio non viene reimpostato, la stessa condizione che ha generato un avviso può verificarsi di nuovo, ma non verrà generato alcun avviso perché lo stato di integrità non è stato modificato.

In Operations Manager prima del 2019, se si chiude l'avviso mentre l'oggetto si trova in uno stato di avviso o non integro, il problema rimane non risolto, ma non vengono generati altri avvisi. Questo comportamento, che spesso ha portato a uno scenario in cui non è presente alcun avviso attivo nel sistema, mentre esiste un problema sottostante, è risolto in Operations Manager 2019.

Con Operations Manager 2019, un avviso generato da un monitoraggio non può essere chiuso a meno che lo stato di integrità del monitoraggio corrispondente non sia integro. Se si tenta di chiudere un avviso generato da un monitoraggio non integro, viene visualizzato un messaggio di errore e l'avviso non verrà chiuso.

È possibile controllare questo nuovo comportamento nella console operatore e nella console Web.

Console operatore

Seguire questa procedura:

  1. Aprire la console di Operations Manager e selezionare Monitoraggio

    Panoramica monitoraggio visualizza un riepilogo degli stati di integrità dei monitor e degli avvisi correnti.

  2. Selezionare Avvisi attivi nel riquadro di spostamento.

  3. Fare clic con il pulsante destro del mouse su un avviso, generato da un monitor nello stato non integro.

  4. Impostare lo stato di risoluzione su Chiuso.

    Viene visualizzato il messaggio seguente per indicare il motivo della non chiusura dell'avviso:

    Non è possibile chiudere gli avvisi nella selezione corrente perché i monitoraggi che hanno generato questi avvisi sono ancora non integri. Per altri dettagli sugli avvisi che non è stato possibile chiudere, visualizzare il dashboard "Errore chiusura avvisi" nella console Web di Operations Manager

    Screenshot che mostra la console di operatore del messaggio di avviso chiuso.

    Nota

    Per chiudere questo avviso, è necessario reimpostare manualmente lo stato di integrità del monitor corrispondente sullo stato integro. Se l'opzione Risolvi automaticamente per questo monitor è impostata su true, l'avviso verrà chiuso automaticamente dopo la reimpostazione dello stato integro. Altrimenti, è necessario chiudere manualmente l'avviso dopo la reimpostazione dello stato integro.

Console Web

  1. Aprire la console Web e selezionare Monitoraggio. Panoramica monitoraggio visualizza un riepilogo degli stati di integrità dei monitor e degli avvisi correnti.

  2. Selezionare Avvisi attivi nel riquadro di spostamento.

  3. Aprire un avviso, generato da un monitor nello stato non integro.

  4. Impostare lo stato di risoluzione su Chiuso e scegliere Salva per salvare le modifiche.

    Viene visualizzato il messaggio seguente per indicare il motivo della non chiusura dell'avviso:

    Non è possibile chiudere l'avviso corrente perché il monitoraggio che ha generato questo avviso è ancora non integro

    Screenshot che mostra la console Web del messaggio di avviso chiuso.

    Nota

    Per chiudere questo avviso, è necessario reimpostare manualmente l'integrità dei monitor corrispondenti che lo hanno generato.

Reimpostare manualmente lo stato di integrità di un monitor per un avviso corrispondente

Seguire questa procedura:

  1. Selezionare Dashboard Di chiusura avvisi nel riquadro di spostamento. Il dashboard elenca gli avvisi che Operations Manager non è stato in grado di chiudere perché il monitor che li ha generati è non integro.

  2. È possibile reimpostare lo stato di integrità del monitor per l'avviso corrispondente nei due modi seguenti:

    • Selezionare un avviso nel dashboard e quindi selezionare l'azione del dashboard Reimposta stato per l'avviso. Oppure
    • Selezionare un avviso in questo dashboard per passare alla pagina di drill-down degli avvisi (dove è possibile visualizzare tutte le informazioni pertinenti per un avviso) e selezionare l'attività Reimposta integrità nel riquadro attività.

    Screenshot che mostra l'integrità del monitoraggio di reimpostazione per un avviso.

API di aggiornamento degli avvisi

Se viene attivata una chiusura di avviso da sistemi esterni come la gestione degli eventi imprevisti e l'avviso non è stato chiuso a causa del monitoraggio corrispondente non integro, verrà passata un'eccezione con i dettagli dell'avviso, che possono essere usati dai sistemi esterni.

Le API di aggiornamento degli avvisi esistenti seguenti possono essere usate per l'esternalizzazione dei dati di aggiornamento degli avvisi. Queste due API sono state migliorate per abilitare l'esternazione di questo nuovo comportamento:

  • API 1 di aggiornamento degli avvisi

  • API 2 di aggiornamento degli avvisi

L'esempio seguente mostra i dettagli su come usare l'eccezione 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.")
                    }
            }           
        }

    }
}

Per determinare se un avviso viene risolto automaticamente

Seguire questa procedura:

  1. Selezionare l'avviso e quindi nei dettagli dell'avviso selezionare il nome del monitoraggio degli avvisi. Verrà visualizzata la finestra di dialogo proprietà per il monitoraggio.

  2. Nelle proprietà di monitoraggio selezionare la scheda Avviso per verificare se l'opzione Risolve automaticamente l'avviso quando il monitoraggio restituisce uno stato integro .

Come chiudere un avviso generato da un monitoraggio

Seguire questa procedura:

  1. Leggere l'avviso ed esaminarne le proprietà. Controllare i dettagli dell'avviso per stabilire se l'avviso è stato generato da un monitoraggio o da una regola. Usare la Knowledge Base predefinita per l'avviso per determinare la causa dell'avviso.

  2. Identificare le cause dell'avviso e intraprendere le azioni necessarie per risolvere il problema.

  3. Quando il problema viene risolto, selezionare Origine nei dettagli dell'avviso. Verrà aperta la visualizzazione Stato per l'oggetto associato all'avviso.

  4. Fare clic con il pulsante destro del mouse sull'oggetto, scegliere Apri e selezionare Esplora integrità peril nome dell'oggetto.

  5. Selezionare il monitoraggio che ha generato l'avviso e selezionare Reimposta integrità sulla barra degli strumenti. Chiudere Esplora stati e la visualizzazione Stato.

  6. Aggiornare la visualizzazione degli avvisi. Se l'avviso è ancora elencato, selezionare l'avviso e selezionare Chiudi avviso nel riquadro Azioni.

Nota

L'aggiornamento seguente (Chiusura degli avvisi orfani) è applicabile per Operations Manager 2019 UR3 e versioni successive.

Chiusura degli avvisi orfani

In Operations Manager 2019 RTM, UR1 e UR2 gli avvisi attivi non vengono chiusi dopo lo stato di integrità non persistente in determinati scenari, come illustrato di seguito:

  1. Failover:

    • Failover che potrebbe essere attivato quando il server di gestione viene disattivato.
    • A causa dell'aggiunta di nuovi server di gestione al pool di risorse, che comporta il bilanciamento del carico.
    • Quando un computer senza agente esegue il failover e deve essere monitorato da un altro server di gestione, quindi il nuovo stato di integrità.
  2. Agente disconnesso e connesso di nuovo dopo un certo periodo di tempo, in cui lo stato di integrità cambia non è a conoscenza dello stato precedente.

  3. Server di gestione disconnesso e connesso di nuovo.

  4. Cache del servizio di integrità cancellata.

Complessivamente, il servizio integrità non mantiene l'ultimo stato del monitoraggio; gli avvisi non vengono chiusi durante la reimpostazione del monitoraggio in integrità.

Con Operations Manager 2019 UR3, tutti gli avvisi orfani vengono chiusi, a seconda del tipo di monitoraggio, come illustrato di seguito:

  • Monitoraggio del servizio: chiudere immediatamente.
  • Tutti i monitoraggi con modulo immediato su richiesta: chiudere immediatamente.
  • Tutti i monitoraggi senza moduli su richiesta: chiudere la seconda esecuzione, a seconda della frequenza.
  • Monitoraggio basato su eventi: chiudere con un evento integro che si verifica dopo l'inizializzazione.

La transizione dello stato di integrità mostra una modifica secondaria durante l'inizializzazione del monitoraggio; esempio seguente:

Screenshot che mostra la transizione dello stato di integrità.

Come illustrato nella figura precedente, durante l'inizializzazione, il monitoraggio diventa prima integro. Quindi calcola e diventa integro. Verranno visualizzate due transizioni di modifica dello stato dallo stato vuoto a integro.

Modifiche apportate all'esperienza di chiusura degli avvisi

Con Operations Manager 2022, l'amministratore può scegliere la chiusura dell'avviso di un Monitoraggio integrità, che è in stato Non integro.

Nella versione 2019 non è stato possibile chiudere un avviso generato da un monitoraggio a meno che lo stato di integrità del monitoraggio corrispondente non sia integro. Se si tenta di chiudere un avviso generato da un monitoraggio non integro, viene visualizzato un messaggio di errore e l'avviso non verrà chiuso.

Con Operations Manager 2022, l'amministratore può modificare questo comportamento passando a Impostazioni di amministrazione> e selezionando una delle opzioni seguenti:

  • Chiudere gli avvisi generati dal monitoraggio solo quando l'integrità del monitoraggio sottostante viene risolta o reimpostata manualmente
  • Chiudere gli avvisi generati dal monitoraggio reimpostando l'integrità del monitoraggio sottostante: questa opzione consente di chiudere gli avvisi di monitor non integri a livello di codice e nell'interfaccia utente. In questo modo viene reimpostato l'integrità del monitoraggio sottostante, che chiuderà in modo implicito l'avviso corrispondente. Questa opzione consente anche la chiusura bulk degli avvisi generati dai monitoraggi.

È anche possibile tenere traccia del modo in cui l'avviso è stato chiuso visualizzando Cronologia proprietà> avviso.

Screenshot che mostra le impostazioni del gruppo di gestione globale.

Screenshot che mostra la cronologia degli avvisi.

Passaggi successivi

  • Quando viene generato un avviso, è possibile visualizzare avvisi attivi e dettagli nella console operatore e nella console Web per identificare i possibili problemi e identificare i passaggi successivi per risolverli.

  • Dopo aver esaminato e risolto il problema rilevato da uno o più monitoraggi, vedere Come reimpostare l'integrità per reimpostare manualmente l'integrità se il monitoraggio non è configurato per la risoluzione automatica o non si vuole attendere che il monitoraggio rilevi lo stato di integrità.