MID 서버 자원 임계치 경보

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 9분
  • MID 서버가 CPU 및 JVM 메모리 사용량에 대한 자원 임계치를 위반할 때 인스턴스에 경고가 표시되므로 위반이 발생할 때 사용자가 이메일 알림 또는 사용자 지정 스크립트를 만들 수 있습니다.

    MID 서버가 할당된 CPU 및 메모리 자원의 구성된 임계치를 초과할 경우 MID 서버 문제 [ecc_agent_issue] 테이블은 사용자에게 경고합니다. 이러한 경고는 MID Server에서 성능 저하 또는 메모리 부족 오류가 발생하기 전에 게시되므로 관리자가 자원을 늘리고 다운타임을 방지할 수 있습니다. 관리자는 등록된 이벤트를 사용하여 선택된 수신자에게 임계치 위반에 대해 알리는 이메일 알림을 보내거나 다른 유형의 작업을 수행하기 위한 사용자 지정 스크립트를 만들 수 있습니다. 인스턴스는 해결되지 않은 문제를 최신 상태로 유지하기 위해 MID 서버 문제 [ecc_agent_issue] 테이블을 계속 업데이트합니다.

    기본적으로 CPU 및 메모리 임계치 경보는 사용되지 않으며 MID 서버 문제 [ecc_agent_issue] 테이블에 경보가 게시되지 않습니다. 두 가지 유형의 경보를 모두 사용하려면 시스템 속성 [sys_properties] 테이블에 다음 속성을 추가한 다음 값을 true로 설정합니다.
    • mid.threshold.resource.breach.enable.cpu.alerts
    • mid.threshold.resource.breach.enable.memory.alerts
    플랫폼에 시스템 속성을 추가하는 방법에 대한 자세한 내용은 sys_properties.list를 사용하여 속성 추가를 참조하세요.

    평가 프로세스

    이 처리는 경보가 활성화되었는지 여부에 관계없이 발생합니다.
    1. 각 MID 서버는 10분마다 CPU 및 메모리 소비 메트릭을 인스턴스로 전송합니다. 인스턴스는 CPU 메트릭을 ECC 에이전트 스칼라 메트릭 [ecc_agent_scalar_metric] 테이블의 평균 CPU 사용 % 필드에 삽입하고 메모리 메트릭을 ECC 에이전트 메모리 메트릭 [ecc_agent_memory_metric] 테이블의 최대 메모리 사용 % 필드에 삽입합니다.
    2. 삽입이 성공하면 다음 비즈니스 규칙이 각 테이블에서 실행되어 적절한 함수를 호출하는 스크립트 포함을 호출합니다. 각 함수는 구성된 샘플링 간격에 따라 테이블에 삽입된 메트릭 세트의 평균을 사용합니다.
      • MID 서버 상태의 CPU 평균 업데이트: MIDResourceThresholdBreach.checkCpuUsage() 스크립트 포함을 호출합니다.
      • MID 서버 상태의 최대 메모리 업데이트: MIDResourceThresholdBreach.checkMemoryUsage 스크립트 포함을 호출합니다.
      각 함수는 구성된 임계치 및 샘플링 간격을 기준으로 테이블에 삽입된 메트릭 세트의 평균을 사용합니다. 인스턴스는 먼저 각 MID 서버에서 해당 MID 서버에 대한 사용자 지정 임계치 값 또는 샘플링 간격을 설정하는 구성 매개변수를 찾습니다. 이러한 속성에 대한 구성 매개변수가 없는 경우, 인스턴스는 시스템 속성 [sys_properties] 테이블에서 사용할 사용자 지정 값을 찾습니다. 속성을 찾을 수 없는 경우 인스턴스는 코드의 기본 임계값 및 간격 값을 사용합니다.
      주:
      임계치 백분율과 샘플링 간격을 모두 구성할 수 있습니다. 자세한 내용은 임계치 및 샘플링 간격 구성를 참조하십시오.

    경보 프로세스

    CPU 또는 메모리 임계값에 대한 경고를 사용하도록 설정하면 이 처리가 수행됩니다.
    1. 집계된 평균 메트릭 값이 구성된 백분율 임계치와 같거나 초과하면 인스턴스가 이벤트를 트리거합니다 mid.threshold.resource.breach . 관리자는 이 이벤트를 사용하여 임계치 위반 경보에 대한 이메일 알림을 생성하거나 사용자 지정 스크립트를 만들 수 있습니다.
    2. 인스턴스는 상태 값이 신규 이고 카운트 가 1인 MID 서버 문제 [ecc_agent_issue] 테이블에 위반 기록을 삽입한 다음 위반의 모든 관련 상세 정보가 포함된 메시지를 게시합니다. 이 메시지의 예는 시작 날짜 2017-01-11 14:25:19 이후에 발생하는 40분 간격 범위 동안 임계값(96>=91)을 초과한 평균 CPU 사용률(%)입니다. 이 메시지는 MID 서버 문제 양식의 간단한 설명 필드와 이벤트에 나타납니다. 메시지의 일부를 이메일 알림에 복사할 수 있습니다.

    MID 서버 문제 상태

    관리자가 MID 서버 문제 [ecc_agent_issue] 테이블에서 문제를 처음 검사할 때 관리자는 문제의 상태를확인됨 으로 변경하여 문제가 해결되고 있음을 나타낼 수 있습니다. 인스턴스는 위반을 감지할 때마다 위반을 기존 문제와 매칭하려고 시도합니다. MID 서버에 이미 신규 또는 확인됨상태의 해당 위반에 대한 문제 기록이 있는 경우 인스턴스는 마지막으로 탐지된 필드 를 현재 날짜/시간으로 업데이트하고 기존 기록의 카운트 필드를 증가시킵니다. 이렇게 하면 MID 서버 문제 [ecc_agent_issue] 테이블에 중복 기록이 생성되는 것을 방지하고 초기 인시던트 이후 위반이 다시 발생한 횟수를 기록합니다. 관리자는 MID Server 자원을 점진적으로 늘리고 개수 필드에 미치는 영향을 확인할 수 있습니다. 카운터가 증가를 중지하면 관리자는 MID Server에 적절한 자원이 있음을 알 수 있습니다. MID Server 자원이 적절하게 조정되면 관리자가 상태를해결됨으로 설정합니다. 해결됨상태의 MID 서버 문제와 일치하는 새 임계치 위반이 로깅되면 인스턴스가 새 문제 기록을 생성합니다.
    주:
    MID 서버 문제 [ecc_agent_issue] 테이블에서 30일 동안 업데이트되지 않은 기록은 상태와 상관 없이 삭제됩니다.

    자원 문제 해결을 위한 권장 사항

    관리자는 이벤트 알림을 받으면 MID Server의 자원 문제를 해결할 수 있습니다. MID 서버 자원에 대한 부담을 줄이려면 다음 권장 사항을 따르십시오.
    • JVM 메모리:
      • MID 서버에 더 많은 최대 메모리를 할당합니다. 자세한 내용은 MID 서버 JVM 메모리 크기 설정을(를) 참조하십시오.
      • 추가 MID Server를 추가하여 작업 부하를 공유합니다. 자세한 내용은 MID 서버 클러스터을(를) 참조하십시오.
      • MID 서버의 동시 처리량을 줄입니다. 여기에는 Discovery 일정을 위해 IP 주소 범위를 더 작은 세그먼트로 분할하거나 임포트 작업 내에서 더 작은 데이터 세그먼트를 로드하는 작업이 포함됩니다.
    • CPU: 호스트의 활동을 줄이거나 MID 서버를 사용 가능한 자원이 더 많은 새 호스트로 마이그레이션합니다.
      주:
      MID 서버는 Discovery 중에 자원 사용량 스파이크를 생성할 수 있으며, 특히 많은 수의 대상에 대해 검색하거나 여러 Power Shell 세션을 동시에 실행할 수 있습니다. 검색 실행이 성공적으로 중지되면 MID 서버 호스트의 자원 사용률이 자동으로 정상으로 돌아갑니다. CPU 사용률을 줄이려면 전용 머신에서 MID 서버를 호스팅합니다. 자원 사용 문제가 발생할 경우 각 전용 호스트 컴퓨터에서 하나의 MID 서버만 실행되는지 확인합니다. MID 서버가 퍼블릭 클라우드에서 호스팅되는 경우 CPU 자원을 더 추가하여 시끄러운 인접 장치 문제를 방지하십시오. 자세한 내용은 MID 서버가 있는 호스트의 높은 CPU 사용량[KB0597639]을 참조하십시오.

    자원 임계치 평가에 사용되는 테이블

    테이블 설명
    MID 서버 문제 [ecc_agent_issue] 구성된 CPU 및 메모리 임계치 위반을 포함하여 다양한 유형의 MID 서버 문제에 대한 데이터를 저장합니다. 자원 임계치 위반에 사용되는 필드는 다음과 같습니다.
    • count: 이벤트가 해결됨으로 표시되지 않은 경우 이전에 보고된 임계치 위반이 발생한 횟수입니다.
    • last_detected: 임계치 위반이 감지된 현재 날짜 및 시간입니다. 이 필드는 이전에 탐지된 위반이 해결됨으로 표시되지 않으면 발견될 때마다 업데이트됩니다.
    • message: 임계치 위반 이벤트를 트리거한 조건을 요약한 설명 메시지입니다. 이 메시지에는 계산된 CPU 및 메모리의 실제 백분율과 위반된 구성된 임계치가 포함됩니다.
    • mid_server: 자원 임계치 위반이 발생한 MID 서버의 이름입니다.
    • source: 위반에 대한 문제 소스입니다. 가능한 소스는 다음과 같습니다.
      • CpuMIDResourceThresholdBreach: CPU 임계치 문제의 원인입니다.
      • MemoryMIDResourceThresholdBreach: 메모리 임계값 문제의 원인입니다.
    MID Server 상태 [ecc_agent_status] CPU 및 메모리 자원에 사용되는 백분율을 각 자원에 대해 구성 가능한 간격 동안 평균으로 저장합니다. 사용되는 필드는 다음과 같습니다.
    • 평균 CPU 사용률
    • 최대 메모리 사용률(%)
    ECC 에이전트 스칼라 메트릭 [ecc_agent_scalar_metric] 각 MID 서버에서 삽입한 CPU 사용량 데이터를 10분마다 저장합니다. 자원 임계치 경보에 사용되는 테이블 필드는 평균입니다.
    ECC 에이전트 메모리 메트릭 [ecc_agent_memory_metric] 각 MID 서버에서 삽입한 메모리 사용량 데이터를 10분마다 저장합니다. 자원 임계치 경보에 사용되는 테이블 필드는 max_used_pct입니다.

    임계치 위반을 확인하는 비즈니스 규칙

    비즈니스 규칙 설명
    MID 서버 상태의 CPU 평균 업데이트 MID 서버가 ECC 에이전트 스칼라 메트릭 [ecc_agent_scalar_metric] 테이블에 기록을 삽입한 후에 실행됩니다. 이 비즈니스 규칙은 임계치 설정을 평가하여 MID 서버가 구성된 CPU 자원 임계치를 위반했는지 여부를 확인하는 MIDResourceThresholdBreach 스크립트 포함 함수를 트리거합니다.
    MID 서버 상태의 최대 메모리 업데이트 MID 서버가 ECC 에이전트 메모리 메트릭 [ecc_agent_memory_metric] 테이블에 기록을 삽입한 후에 실행됩니다. 이 비즈니스 규칙은 임계치 설정을 평가하여 MID 서버가 구성된 메모리 자원 임계치를 위반했는지 여부를 확인하는 MIDResourceThresholdBreach 스크립트 포함 함수를 트리거합니다.

    임계치 및 샘플링 간격 구성

    기본 임계치 백분율과 샘플링 간격을 사용하거나 다음 방법 중 하나를 사용하여 사용자 지정 값을 구성할 수 있습니다.
    시스템 속성과 구성 매개변수는 동일한 이름을 사용합니다.
    속성/구성 매개변수 설명
    mid.threshold.mean_cpu.aggregate_interval_span CPU 사용량 데이터 샘플링 간격의 10분 단위 수입니다. 기본 간격은 30분(3 x 10분)입니다.

    기본값: 3

    mid.threshold.mean_cpu.퍼센트 임계치 위반 경보를 시작하는 총 CPU 자원의 사용률입니다.

    기본값: 95

    mid.threshold.mean_max_memory.aggregate_interval_span 메모리 사용량 데이터 샘플링 간격의 10분 단위 수입니다. 기본 간격은 30분(3 x 10분)입니다.

    기본값: 3

    mid.threshold.mean_max_memory.퍼센트 임계치 위반 경보를 시작하는 총 메모리 자원의 사용률입니다.

    기본값: 95

    MID 서버 자원 보고

    MID Server 대시보드에는 CPU 및 JVM 메모리 자원 소비에 대한 뷰를 제공하는 두 개의 보고서가 포함되어 있습니다. 이 보고서는 지난 30일 동안의 사용량을 보여줍니다.
    • 사용된 평균 CPU 백분율: CPU 사용량의 일일 평균 추세를 계산하면 MID 서버 호스트가 소비하는 CPU 처리량을 나타내는 데 도움이 됩니다. 동일한 호스트에 배포된 MID Server는 동일한 CPU 사용량을 보고합니다.
    • 사용된 최대 메모리의 평균 백분율: 사용된 최대 백분율(max_used_pct)은 MID 서버에 충분한 메모리 리소스가 있는지 확인하는 데 유용한 메트릭입니다. 이 메트릭은 사용 가능한 총 메모리 대비 최대 사용 메모리의 백분율입니다. 시간 경과에 따른 이 추세를 통해 MID 서버에 필요한 메모리 양을 시각화할 수 있습니다.