Como fechar um alerta gerado por um monitor

Importante

Esta versão do Operations Manager chegou ao fim do suporte. Recomendamos que atualize para o Operations Manager 2022.

Os monitores definem os estados de funcionamento dos objetos. Um objeto pode ter um de três estados de funcionamento: verde (com êxito ou bom estado de funcionamento), amarelo (aviso) ou vermelho (crítico ou mau estado de funcionamento). Por exemplo, um monitor para a capacidade da unidade de disco pode definir o verde como 85 por centro livre, amarelo como 85 por cento cheio e vermelho como 90 por cento cheio. Um monitor pode ser configurado para gerar um alerta quando ocorre uma alteração de estado.

Quando recebe um alerta, pode ver nos detalhes do alerta se este foi gerado por uma regra ou um monitor. Se o alerta foi gerado por um monitor, como melhor prática, deve permitir ao monitor resolver automaticamente o alerta quando o estado de funcionamento regressar ao bom estado de funcionamento. Se fechar o alerta enquanto o objeto estiver num estado de aviso ou em mau estado de funcionamento, o problema permanece por resolver, mas não serão gerados mais alertas.

Se o monitor gerar um alerta quando o estado de funcionamento é alterado para vermelho e resolver o alerta, também tem de repor o estado de funcionamento do monitor. Se o monitor não for reposto, a mesma condição que gerou um alerta pode ocorrer novamente, mas não será gerado nenhum alerta porque o estado de funcionamento não foi alterado.

No Operations Manager anterior a 2019, se fechar o alerta enquanto o objeto estiver num estado de aviso ou em mau estado de funcionamento, o problema permanece por resolver, mas não são gerados mais alertas. Este comportamento, que muitas vezes levou a um cenário em que não existe nenhum alerta ativo no sistema, enquanto existe um problema subjacente, é corrigido no Operations Manager 2019.

Com o Operations Manager 2019, um alerta gerado por um monitor não pode ser fechado, a menos que o estado de funcionamento do monitor correspondente esteja em bom estado de funcionamento. Se tentar fechar um alerta gerado por um monitor em mau estado de funcionamento, é apresentada uma mensagem de erro e o alerta não será fechado.

Pode verificar este novo comportamento a partir da Consola de operações e da consola Web.

Consola de Operações

Siga estes passos:

  1. Abra a consola do Operations Manager e selecione Monitorização

    Descrição Geral da Monitorização apresenta um resumo dos estados de funcionamento dos monitores e dos alertas atuais.

  2. Selecione Alertas Ativos no painel de navegação.

  3. Clique com o botão direito do rato num alerta, que é gerado por um monitor em mau estado de funcionamento.

  4. Defina o estado de resolução como Fechado.

    A seguinte mensagem parece indicar o motivo do não encerramento do alerta:

    Os alertas na seleção atual não podem ser fechados, uma vez que os monitores, que geraram estes alertas, continuam em mau estado de funcionamento. Para obter mais detalhes sobre o alerta que não foi possível fechar, veja o dashboard "Falha de Encerramento de Alertas" na Consola Web do Operations Manager

    Captura de ecrã a mostrar a consola de operações de mensagens de alerta fechada.

    Nota

    Para fechar este alerta, o estado de funcionamento do monitor correspondente tem de ser reposto manualmente para um bom estado de funcionamento. Se autoresolve para este monitor estiver definido como verdadeiro, o alerta será fechado automaticamente depois de o estado de funcionamento ser reposto. Caso contrário, o alerta tem de ser fechado manualmente depois de o estado de funcionamento ser reposto.

Consola Web

  1. Abra a Consola Web e selecione Monitorização. Descrição Geral da Monitorização apresenta um resumo dos estados de funcionamento dos monitores e dos alertas atuais.

  2. Selecione Alertas Ativos no painel de navegação.

  3. Abra um alerta, que foi gerado por um monitor em mau estado de funcionamento.

  4. Defina o estado de resolução como Fechado e Guardar alterações.

    A seguinte mensagem parece indicar o motivo do não encerramento do alerta:

    O alerta atual não pode ser fechado porque o monitor que gerou este alerta ainda está em mau estado de funcionamento

    Captura de ecrã a mostrar a consola Web da mensagem de alerta fechada.

    Nota

    Para fechar este alerta, tem de repor manualmente o estado de funcionamento dos monitores correspondentes que geraram este alerta.

Repor manualmente o estado de funcionamento de um monitor para um alerta correspondente

Siga estes passos:

  1. Selecione o dashboard Falha de Encerramento de Alertas no painel de navegação. O dashboard lista os alertas, que o Operations Manager não conseguiu fechar porque o monitor, que gerou o alerta, está em mau estado de funcionamento.

  2. Pode repor o estado de funcionamento do monitor para o alerta correspondente, das duas formas seguintes:

    • Selecione um alerta no dashboard e, em seguida, selecione a ação do dashboard Repor Estado de Funcionamento do Alerta. Ou
    • Selecione um alerta neste dashboard para navegar para a página de desagregação de alertas (onde pode visualizar todas as informações relevantes para um alerta) e selecione a tarefa Repor Estado de Funcionamento no painel de tarefas.

    Captura de ecrã a mostrar o estado de funcionamento do monitor de reposição de um alerta.

APIs de atualização de alertas

Se um encerramento de alerta for acionado a partir de sistemas externos, como a gestão de incidentes e o alerta não tiver sido fechado devido ao monitor correspondente estar em mau estado de funcionamento, será transmitida uma exceção com os detalhes do alerta, que podem ser consumidos por sistemas externos.

As seguintes APIs de atualização de alertas existentes podem ser utilizadas para externalizar dados de atualização de alertas. Estas duas APIs foram melhoradas para permitir a externalização deste novo comportamento:

O exemplo seguinte mostra os detalhes sobre como utilizar a exceção 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 se um alerta é resolvido automaticamente

Siga estes passos:

  1. Selecione o alerta e, em seguida, nos detalhes do alerta, selecione o nome do monitor de alertas. É aberta a caixa de diálogo de propriedades do monitor.

  2. Nas propriedades do monitor, selecione o separador Alertas para ver se a opção Resolver automaticamente o alerta quando o monitor regressar a um bom estado de funcionamento está selecionada.

Para fechar um alerta gerado por um monitor

Siga estes passos:

  1. Leia o alerta e examine as respetivas propriedades. Veja os detalhes do alerta para determinar se este foi gerado por um monitor ou uma regra. Utilize os conhecimentos do produto do alerta para ajudar a determinar a causa do alerta.

  2. Resolva a(s) causa(s) do alerta e efetue as ações necessárias para resolver o problema.

  3. Quando o problema for resolvido, selecione Origem nos detalhes do alerta. Esta ação irá abrir a vista Estado para o objeto associado ao alerta.

  4. Clique com o botão direito do rato no objeto, aponte para Abrir e selecione Explorador do Estado de Funcionamento parao nome do objeto.

  5. Selecione o monitor que gerou o alerta e selecione Repor Estado de Funcionamento na barra de ferramentas. Feche o Explorador do Estado de Funcionamento e a vista Estado.

  6. Atualize a vista de alertas. Se o alerta ainda estiver listado, selecione o alerta e selecione Fechar Alerta no painel Ações.

Nota

A seguinte atualização (Encerramento de alertas órfãos) é aplicável ao Operations Manager 2019 UR3 e posterior.

Encerramento de alertas órfãos

No Operations Manager 2019 RTM, UR1 e UR2, os alertas ativos não são fechados após o estado de funcionamento não persistente em determinados cenários, conforme detalhado abaixo:

  1. Ativação pós-falha:

    • A ativação pós-falha que pode ser acionada quando o servidor de gestão fica offline.
    • Devido à adição de novos servidores de gestão ao agrupamento de recursos, o que leva ao balanceamento de carga.
    • Quando um computador sem agente efetua a ativação pós-falha e deve ser monitorizado por outro servidor de gestão, daí o novo estado de funcionamento.
  2. O agente desligou-se e ligou-se novamente após algum tempo, no qual a alteração do estado de funcionamento não tem conhecimento do estado anterior.

  3. Servidor de gestão desligado e ligado novamente.

  4. Cache do serviço de estado de funcionamento limpa.

Globalmente, o serviço de estado de funcionamento não detém o último estado do monitor; os alertas não são fechados ao repor o monitor para um bom estado de funcionamento.

Com o Operations Manager 2019 UR3, todos os alertas órfãos são fechados, eventualmente, consoante o tipo de monitor, conforme detalhado abaixo:

  • Monitor de serviço: feche imediatamente.
  • Todos os monitores com o módulo a pedido imediato: fechem imediatamente.
  • Todos os monitores sem módulos a pedido: feche na segunda execução, consoante a frequência.
  • Monitor baseado em eventos: feche com um evento em bom estado de funcionamento que ocorre após a inicialização.

A transição do estado de funcionamento mostra uma pequena alteração quando o monitor está a inicializar; exemplo abaixo:

Captura de ecrã a mostrar a transição do estado de funcionamento.

Conforme mostrado na figura acima, durante a inicialização, a monitorização começa a ficar em bom estado de funcionamento. Em seguida, calcula novamente e fica em bom estado de funcionamento. Verá duas transições de mudança de estado do estado oco para um bom estado de funcionamento.

Alterações na experiência de encerramento de alertas

Com o Operations Manager 2022, o administrador pode optar por escolher o encerramento de alertas de um Monitor de Estado de Funcionamento, que está em mau estado de funcionamento.

No lançamento de 2019, não foi possível fechar um alerta gerado por um monitor, a menos que o estado de funcionamento do monitor correspondente esteja em bom estado de funcionamento. Se tentar fechar um alerta gerado por um monitor em mau estado de funcionamento, é apresentada uma mensagem de erro e o alerta não será fechado.

Com o Operations Manager 2022, o administrador pode alterar este comportamento ao navegar paraDefinições de Administração> e selecionar qualquer uma das opções abaixo:

  • Fechar alertas gerados pelo monitor apenas quando o estado de funcionamento do monitor subjacente for resolvido ou reposto manualmente
  • Feche os alertas gerados pelo monitor ao repor o estado de funcionamento do monitor subjacente: esta opção permite-lhe fechar alertas de monitores em mau estado de funcionamento programaticamente e na IU. Esta ação repõe o estado de funcionamento do monitor subjacente, que fechará implicitamente o alerta correspondente. Esta opção também permite o encerramento em massa de alertas gerados pelos monitores.

Também pode controlar como o alerta foi fechado ao visualizar oHistórico de Propriedades> do Alerta.

Captura de ecrã a mostrar as definições do grupo de gestão global.

Captura de ecrã a mostrar o Histórico de alertas.

Passos seguintes

  • Quando é gerado um alerta, pode Ver Alertas Ativos e Detalhes na consola De Operações e Web para identificar possíveis problemas e ajudar a identificar os passos seguintes para resolvê-los.

  • Depois de investigar e resolver o problema detetado por um ou mais monitores, veja Como Repor o Estado de Funcionamento para repor manualmente o estado de funcionamento se o monitor não estiver configurado para resolver automaticamente ou se não quiser esperar que o monitor detete o estado de funcionamento.