모니터에서 생성한 경고를 종결하는 방법

중요

이 버전의 Operations Manager는 지원이 종료되었습니다. Operations Manager 2022로 업그레이드하는 것이 좋습니다.

모니터는 개체의 성능 상태를 정의합니다. 개체의 성능 상태는 녹색(성공 또는 정상), 노랑(경고), 빨강(위험 또는 비정상)의 세 가지 중 하나일 수 있습니다. 예를 들어, 디스크 드라이브 용량에 대한 모니터는 녹색을 85% 미만으로 가득 찬 상태, 노랑을 85% 이상으로 가득 찬 상태, 빨강을 90% 이상 가득 찬 상태로 정의합니다. 상태 변화가 일어날 때 모니터에서 경고를 생성하도록 구성할 수 있습니다.

경고가 표시되면 경고 세부 정보에서 해당 경고가 규칙에 의해 생성되었는지 또는 모니터에서 의해 생성되었는지 확인할 수 있습니다. 경고가 모니터에 의해 생성된 경우 성능 상태가 정상으로 돌아가면 모니터에서 경고를 자동 해결하도록 허용하는 것이 좋습니다. 개체가 경고 또는 비정상 상태인 동안 경고를 닫으면 문제가 해결되지 않은 상태로 유지되지만 추가 경고는 생성되지 않습니다.

성능 상태가 빨강으로 변경될 때 모니터에서 경고를 생성하고 이 경고를 직접 해결하는 경우 모니터에 대한 성능 상태를 다시 설정해야 합니다. 모니터가 다시 설정되지 않으면 경고를 생성한 것과 동일한 조건이 다시 발생할 수 있지만 상태가 변경되지 않았기 때문에 경고가 생성되지 않습니다.

2019년 이전의 Operations Manager에서 개체가 경고 또는 비정상 상태인 동안 경고를 닫으면 문제가 해결되지 않은 상태로 유지되지만 추가 경고는 생성되지 않습니다. 기본 문제가 있는 동안 시스템에 활성 경고가 없는 시나리오로 이어지는 이 동작은 Operations Manager 2019에서 해결되었습니다.

Operations Manager 2019에서는 해당 모니터의 상태가 정상 상태가 아닌 한 모니터에서 생성된 경고를 닫을 수 없습니다. 비정상 모니터에서 생성된 경고를 닫으려면 오류 메시지가 나타나고 경고가 닫히지 않습니다.

이 새로운 동작은 운영 콘솔과 웹 콘솔 모두에서 확인할 수 있습니다.

운영 콘솔

다음 단계를 수행합니다.

  1. Operations Manager 콘솔을 열고 모니터링을 선택합니다.

    모니터링 개요는 모니터의 성능 상태 및 현재 경고에 대한 요약을 표시합니다.

  2. 탐색 창에서 활성 경고를 선택합니다.

  3. 비정상 상태의 모니터에서 생성되는 경고를 마우스 오른쪽 단추로 클릭합니다.

  4. 해결 상태를 종결로 설정합니다.

    비-종결 경고에 대한 이유를 설명하는 다음 메시지가 표시됩니다.

    현재 선택 영역의 경고는 해당 경고를 생성한 모니터가 여전히 비정상적이기 때문에 종결할 수 없습니다. 닫을 수 없는 경고에 대한 자세한 내용은 Operations Manager 웹 콘솔에서 "경고 닫기 실패" 대시보드를 참조하세요.

    닫힌 경고 메시지 작업 콘솔을 보여 주는 스크린샷

    참고

    이 경고를 종결하려면 해당 모니터의 상태를 수동으로 정상 상태로 다시 설정해야 합니다. 이 모니터에 대해 자동 해결true로 설정된 경우 상태가 다시 설정된 후 경고가 자동으로 닫힙니다. 그렇지 않으면 상태가 다시 설정된 후 경고를 수동으로 닫아야 합니다.

웹 콘솔

  1. 웹 콘솔을 열고 모니터링을 선택합니다. 모니터링 개요는 모니터의 성능 상태 및 현재 경고에 대한 요약을 표시합니다.

  2. 탐색 창에서 활성 경고를 선택합니다.

  3. 비정상 상태의 모니터에서 생성되는 경고를 엽니다.

  4. 해결 상태를 종결저장 변경으로 설정합니다.

    비-종결 경고에 대한 이유를 설명하는 다음 메시지가 표시됩니다.

    이 경고를 생성하는 모니터가 여전히 정상 상태가 아니므로 현재 경고를 닫을 수 없음

    닫힌 경고 메시지 웹 콘솔을 보여 주는 스크린샷

    참고

    이 경고를 종결하려면 이 경고를 생성하는 해당 모니터의 상태를 수동으로 다시 설정해야 합니다.

해당 경고에 대한 모니터의 상태를 수동으로 다시 설정

다음 단계를 수행합니다.

  1. 탐색 창에서 경고 닫기 실패 dashboard 선택합니다. 경고를 생성하는 모니터가 비정상이므로 대시보드에는 Operations Manager가 닫지 못한 경고가 나열됩니다.

  2. 다음 두 가지 방법으로 해당 경고에 대한 모니터의 상태를 다시 설정할 수 있습니다.

    • 대시보드에서 경고를 선택한 다음, 대시보드 작업 경고에 대한 상태 다시 설정을 선택합니다. 또는
    • 이 dashboard 경고를 선택하여 경고 드릴다운 페이지(경고에 대한 모든 관련 정보를 시각화할 수 있음)로 이동하고 작업 창에서 상태 재설정 작업을 선택합니다.

    경고에 대한 모니터 상태 재설정을 보여 주는 스크린샷

경고 업데이트 API

인시던트 관리와 같은 외부 시스템에서 경고 폐쇄가 트리거되고 해당 모니터가 비정상으로 인해 경고를 닫지 않은 경우 외부 시스템에서 사용할 수 있는 경고 세부 정보와 함께 예외가 전달됩니다.

다음과 같은 기존 경고 업데이트 API를 사용하여 경고 업데이트 데이터를 외부화할 수 있습니다. 이러한 두 가지 API는 이 새로운 동작을 외부화할 수 있도록 향상되었습니다.

  • 경고 업데이트 API 1

  • 경고 업데이트 API 2

다음 샘플은 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.")
                    }
            }           
        }

    }
}

경고가 자동으로 해결되는지 확인하려면

다음 단계를 수행합니다.

  1. 경고를 선택한 다음 경고 세부 정보에서 경고 모니터의 이름을 선택합니다. 모니터의 속성 대화 상자가 열립니다.

  2. 모니터 속성에서 경고 탭을 선택하여 모니터가 정상 상태로 돌아올 때 경고를 자동으로 resolve 옵션이 선택되어 있는지 확인합니다.

모니터에 의해 생성된 경고를 종결하려면

다음 단계를 수행합니다.

  1. 경고를 읽고 해당 속성을 검사합니다. 경고 세부 정보에서 경고가 모니터에 의해 생성되었는지 또는 규칙에 의해 생성되었는지 확인합니다. 경고에 대한 제품 정보를 사용하여 경고의 원인을 확인할 수 있습니다.

  2. 경고의 원인을 해결하고 문제를 해결하는 데 필요한 작업을 수행합니다.

  3. 문제가 해결되면 경고 세부 정보에서 원본 을 선택합니다. 그러면 경고와 연관된 개체에 대한 상태 보기가 열립니다.

  4. 개체를 마우스 오른쪽 단추로 클릭하고 열기를 가리킨 다음 개체 이름으로상태 Explorer 선택합니다.

  5. 경고를 생성한 모니터를 선택하고 도구 모음에서 상태 재설정 을 선택합니다. 상태 탐색기 및 상태 보기를 닫습니다.

  6. 경고 보기를 새로 고칩니다. 경고가 여전히 나열된 경우 경고를 선택하고 작업 창에서 경고 닫기를 선택합니다.

참고

Operations Manager 2019 UR3 이상에서는 다음 업데이트(연결 없는 경고 종결)가 적용됩니다.

연결 없는 경고 종결

Operations Manager 2019 RTM, UR1 및 UR2에서는 아래와 같이 특정 시나리오에서 비영구 상태 이후에 활성 경고가 닫히지 않습니다.

  1. 장애 조치(failover):

    • 관리 서버가 오프라인 상태로 전환될 때 장애 조치(failover)가 트리거될 수 있습니다.
    • 리소스 풀에 새 관리 서버가 추가되므로 부하 분산이 발생합니다.
    • 에이전트 없는 컴퓨터가 장애 조치(failover)되고 다른 관리 서버에 의해 모니터링되는 경우 새 상태가 됩니다.
  2. 에이전트 연결이 끊어지고 몇 시간 후에 다시 연결되며, 상태 상태 변경이 이전 상태를 인식하지 못합니다.

  3. 관리 서버 연결이 끊겼다가 다시 연결됩니다.

  4. 상태 서비스 캐시 지워집니다.

전반적으로 상태 서비스는 모니터의 마지막 상태를 유지하지 않습니다. 모니터를 정상으로 다시 설정하는 동안 경고가 닫혀 있지 않습니다.

Operations Manager 2019 UR3에서는 아래에 자세히 설명된 것처럼 모니터 유형에 따라 결국 모든 연결 없는 경고가 닫힙니다.

  • 서비스 모니터: 즉시 닫힙니다.
  • 즉시 주문형 모듈이 있는 모든 모니터: 즉시 닫힙니다.
  • 주문형 모듈이 없는 모든 모니터: 빈도에 따라 두 번째 실행에서 닫힙니다.
  • 이벤트 기반 모니터: 초기화 후 발생하는 정상 이벤트와 함께 닫힙니다.

모니터가 초기화되면 상태 전환이 약간 변경됩니다. 아래 샘플:

상태 전환을 보여 주는 스크린샷

위의 그림에 표시된 것처럼 초기화하는 동안 모니터가 먼저 정상 상태로 전환됩니다. 그런 다음 다시 계산하고 정상 상태로 전환됩니다. 빈 상태에서 정상 상태로의 두 가지 상태 변경 전환이 표시됩니다.

경고 닫기 환경의 변경 내용

Operations Manager 2022를 사용하여 관리자가 비정상 상태인 상태 모니터의 경고 닫기를 선택할 수 있습니다.

2019년 릴리스에서는 해당 모니터의 상태가 정상 상태가 아닌 한 모니터에서 생성된 경고를 닫을 수 없습니다. 비정상 모니터에서 생성된 경고를 닫으려면 오류 메시지가 나타나고 경고가 닫히지 않습니다.

Operations Manager 2022를 사용하여 관리자는 관리>설정으로 이동하여 이 동작을 변경하고 아래 옵션 중 원하는 옵션을 선택할 수 있습니다.

  • 기본 모니터 상태가 해결되거나 수동으로 다시 설정될 때만 모니터에서 생성된 경고 닫기
  • 기본 모니터 상태를 다시 설정하여 모니터에서 생성된 경고 닫기: 이 옵션을 사용하면 프로그래밍 방식으로 및 UI에서 비정상 모니터의 경고를 닫을 수 있습니다. 이렇게 하면 기본 모니터 상태가 다시 설정되어 해당 경고를 암시적으로 닫습니다. 또한 이 옵션을 사용하면 모니터에서 생성된 경고를 대량으로 닫을 수 있습니다.

경고 속성>기록을 확인하여 경고가 닫힌 방법을 추적할 수도 있습니다.

전역 관리 그룹 설정을 보여 주는 스크린샷

경고 기록을 보여 주는 스크린샷

다음 단계

  • 경고가 생성되면 작업 및 웹 콘솔에서 활성 경고 및 세부 정보를 보고 가능한 문제를 식별하고 해결을 위한 다음 단계를 식별할 수 있습니다.

  • 하나 이상의 모니터에서 검색된 문제를 조사하고 해결한 후 모니터가 자동 resolve 구성되지 않았거나 모니터가 상태를 감지할 때까지 기다리지 않으려는 경우 상태를 수동으로 다시 설정하는 방법을 검토합니다.