Compartir a través de


Cómo cerrar una alerta generada por un monitor

Importante

Esta versión de Operations Manager ha llegado al final del soporte técnico. Se recomienda actualizar a Operations Manager 2022.

Los monitores definen los estados de mantenimiento de los objetos. Un objeto puede tener uno de estos tres estados de mantenimiento: verde (correcto o correcto), amarillo (advertencia) o rojo (crítico o incorrecto). Por ejemplo, un monitor para la capacidad de la unidad de disco podría definir verde como menos del 85 por ciento lleno, amarillo como superior al 85 por ciento lleno y rojo como superior al 90 por ciento lleno. Un monitor se puede configurar para generar una alerta cuando se produce un cambio de estado.

Cuando reciba una alerta, puede ver en los detalles de la alerta si la alerta se generó mediante una regla o un monitor. Si un monitor generó la alerta, como procedimiento recomendado, debe permitir que el monitor resuelva automáticamente la alerta cuando el estado de mantenimiento vuelva a correcto. Si cierra la alerta mientras el objeto está en estado de advertencia o incorrecto, el problema sigue sin resolverse, pero no se generarán más alertas.

Si el monitor genera una alerta cuando el estado de mantenimiento cambia a rojo y se resuelve la alerta, también debe restablecer el estado de mantenimiento del monitor. Si el monitor no se restablece, se puede volver a producir la misma condición que generó una alerta, pero no se generará ninguna alerta porque el estado de mantenimiento no ha cambiado.

En Operations Manager antes de 2019, si cierra la alerta mientras el objeto está en estado de advertencia o incorrecto, el problema sigue sin resolverse, pero no se generan más alertas. Este comportamiento, que a menudo llevó a un escenario en el que no hay ninguna alerta activa en el sistema, mientras existe un problema subyacente, se corrige en Operations Manager 2019.

Con Operations Manager 2019, no se puede cerrar una alerta generada por un monitor a menos que el estado de mantenimiento del monitor correspondiente sea correcto. Si intenta cerrar una alerta generada por un monitor incorrecto, aparece un mensaje de error y la alerta no se cerrará.

Puede comprobar este nuevo comportamiento desde la consola del operador y la consola web.

Consola del operador

Siga estos pasos:

  1. Abra la consola de Operations Manager y seleccione Supervisión.

    Información general sobre la supervisión muestra un resumen de los estados de mantenimiento de los monitores y las alertas actuales.

  2. Seleccione Alertas activas en el panel de navegación.

  3. Haga clic con el botón derecho en una alerta, generada por un monitor en estado incorrecto.

  4. Establezca el estado de resolución como Cerrado.

    El mensaje siguiente parece indicar el motivo del no cierre de la alerta:

    Las alertas de la selección actual no se pueden cerrar como monitores, que generaron estas alertas siguen siendo incorrectas. Para obtener más información sobre la alerta que no se pudo cerrar, vea el panel "Error de cierre de alertas" en la consola web de Operations Manager.

    Captura de pantalla que muestra la consola de operaciones del mensaje de alerta cerrada.

    Nota:

    Para cerrar esta alerta, el estado de mantenimiento del monitor correspondiente debe restablecerse manualmente al estado correcto. Si autoresolve para este monitor se establece en true, la alerta se cerrará automáticamente después de restablecer el estado de mantenimiento. De lo contrario, la alerta debe cerrarse manualmente después de restablecer el estado de mantenimiento.

Consola web

  1. Abra la consola web y seleccione Supervisión. Información general sobre la supervisión muestra un resumen de los estados de mantenimiento de los monitores y las alertas actuales.

  2. Seleccione Alertas activas en el panel de navegación.

  3. Abra una alerta, que ha sido generada por un monitor en estado incorrecto.

  4. Establezca el estado de resolución como Cerrado y Guardar cambios.

    El mensaje siguiente parece indicar el motivo del no cierre de la alerta:

    La alerta actual no se puede cerrar porque el monitor que ha generado esta alerta sigue siendo incorrecto.

    Captura de pantalla que muestra la consola web del mensaje de alerta cerrada.

    Nota:

    Para cerrar esta alerta, debe restablecer manualmente el estado de los monitores correspondientes que generaron esta alerta.

Restablecer manualmente el estado de mantenimiento de un monitor para una alerta correspondiente

Siga estos pasos:

  1. Seleccione el panel Error de cierre de alertas en el panel de navegación. El panel muestra las alertas, que Operations Manager no pudo cerrar porque el monitor, que ha generado la alerta es incorrecta.

  2. Puede restablecer el estado de mantenimiento del monitor para la alerta correspondiente, de las dos maneras siguientes:

    • Seleccione una alerta en el panel y, a continuación, seleccione la acción Restablecer estado del panel para alerta. Or
    • Seleccione una alerta en este panel para ir a la página de exploración en profundidad de alertas (donde puede visualizar toda la información pertinente de una alerta) y seleccionar la tarea Restablecer estado en el panel de tareas.

    Captura de pantalla que muestra el restablecimiento del estado del monitor para una alerta.

API de actualización de alertas

Si se desencadena un cierre de alerta desde sistemas externos, como la administración de incidentes y la alerta no se cerró debido a que el monitor correspondiente es incorrecto, se pasará una excepción con los detalles de la alerta, que los sistemas externos pueden consumir.

Las siguientes API de actualización de alertas existentes se pueden usar para externalizar los datos de actualización de alertas. Estas dos API se han mejorado para poder externalizar este nuevo comportamiento:

  • API de actualización de alertas 1

  • API de actualización de alertas 2

En el ejemplo siguiente se muestran los detalles sobre cómo usar la excepción 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.")
                    }
            }           
        }

    }
}

Para determinar si una alerta se resuelve automáticamente

Siga estos pasos:

  1. Seleccione la alerta y, después, en los detalles de la alerta, seleccione el nombre del monitor de alertas. Se abre el cuadro de diálogo de propiedades del monitor.

  2. En las propiedades del monitor, seleccione la pestaña Alertas para ver si la opción Resolver automáticamente la alerta cuando el monitor vuelve a un estado correcto está seleccionado.

Para cerrar una alerta generada por un monitor

Siga estos pasos:

  1. Lea la alerta y examine sus propiedades. Compruebe los detalles de la alerta para determinar si la alerta se generó mediante un monitor o una regla. Use el conocimiento del producto de la alerta para ayudar a determinar la causa de la alerta.

  2. Solucione las causas de la alerta y realice las acciones necesarias para resolver el problema.

  3. Cuando se resuelva el problema, seleccione Origen en los detalles de la alerta. Se abrirá la vista Estado del objeto asociado a la alerta.

  4. Haga clic con el botón derecho en el objeto, seleccione Abrir y seleccione Explorador de estado para el nombre del objeto.

  5. Seleccione el monitor que generó la alerta y seleccione Restablecer estado en la barra de herramientas. Cierre el Explorador de estado y la vista Estado .

  6. Actualice la vista de alertas. Si la alerta sigue en la lista, seleccione la alerta y seleccione Cerrar alerta en el panel Acciones.

Nota:

La siguiente actualización (Cierre de alertas huérfanas) se aplica a Operations Manager 2019 UR3 y versiones posteriores.

Cierre de alertas huérfanas

En Operations Manager 2019 RTM, UR1 y UR2, las alertas activas no se cierran después del estado de mantenimiento no persistente en determinados escenarios, como se detalla a continuación:

  1. Conmutación por error:

    • Conmutación por error que podría desencadenarse cuando el servidor de administración se desconecta.
    • Debido a la adición de nuevos servidores de administración al grupo de recursos, lo que conduce al equilibrio de carga.
    • Cuando un equipo sin agente conmuta por error y otro servidor de administración debe supervisarlo, por lo tanto, el nuevo estado de mantenimiento.
  2. El agente se desconecta y se conecta de nuevo después de algún tiempo, en el que el cambio de estado de mantenimiento no es consciente del estado anterior.

  3. Servidor de administración desconectado y conectado de nuevo.

  4. Caché del servicio de mantenimiento desactivada.

En general, el servicio de mantenimiento no contiene el último estado del monitor; las alertas no se cierran mientras se restablezca el monitor en buen estado.

Con Operations Manager 2019 UR3, se cierran todas las alertas huérfanas, en función del tipo de monitor, como se detalla a continuación:

  • Monitor de servicio: cierre inmediatamente.
  • Todos los monitores con módulo inmediato a petición: cierre inmediatamente.
  • Todos los monitores sin módulos a petición: se cierran en la segunda ejecución, según la frecuencia.
  • Monitor basado en eventos: cierre con un evento correcto que se produce después de la inicialización.

La transición del estado de mantenimiento muestra un cambio menor cuando se inicializa el monitor; ejemplo siguiente:

Captura de pantalla que muestra la transición de estado de mantenimiento.

Como se muestra en la ilustración anterior, durante la inicialización, el monitor se vuelve correcto. A continuación, vuelve a calcular y vuelve a estar en buen estado. Verá dos transiciones de cambio de estado de estado del estado hueco a correcto.

Cambios en la experiencia de cierre de alertas

Con Operations Manager 2022, los administradores pueden cerrar la alerta de un monitor de estado de mantenimiento que está en mal estado.

En la versión 2019, no se pudo cerrar una alerta generada por un monitor a menos que el estado de mantenimiento del monitor correspondiente sea correcto. Si intenta cerrar una alerta generada por un monitor incorrecto, aparece un mensaje de error y la alerta no se cerraría.

Con Operations Manager 2022, los administradores pueden cambiar este comportamiento. Para hacerlo, deben ir a Administración>Configuración y seleccionar una de estas opciones:

  • Close alert(s) generated by monitor only when underlying monitor health is resolved or reset manually (Cerrar alertas generadas por un monitor solo cuando el estado de mantenimiento del monitor subyacente se ha resuelto o restablecido manualmente)
  • Cierre las alertas generadas por monitor mediante el restablecimiento del estado del monitor subyacente: esta opción permite cerrar alertas de monitores incorrectos mediante programación y en la interfaz de usuario. Esto restablece el estado del monitor subyacente, que cerrará implícitamente su alerta correspondiente. Esta opción también permite el cierre masivo de las alertas generadas por los monitores.

También puede realizar un seguimiento de cómo se ha cerrado la alerta si ve Propiedades de alerta>Historial.

Captura de pantalla que muestra la configuración del grupo de administración global.

Captura de pantalla que muestra el historial de alertas.

Pasos siguientes

  • Cuando se genera una alerta, puede ver alertas activas y detalles en la consola de Operations and Web para identificar posibles problemas y ayudar a identificar los pasos siguientes para resolverlas.

  • Después de investigar y resolver el problema detectado por uno o varios monitores, consulte Cómo restablecer el estado para restablecer manualmente el estado si el monitor no está configurado para resolver automáticamente o no desea esperar a que el monitor detecte el estado de mantenimiento.