경보 그룹화에 대해 여러 개의 예약된 작업 실행

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 06월 17일
  • 소요 시간: 4분
  • 여러 예약된 작업을 병렬로 실행하여 경보를 그룹화합니다. 이렇게 하면 서지(경보 폭풍) 중에 시스템에 과부하가 걸리는 것을 방지할 수 있습니다.

    시작하기 전에

    필요한 역할: 관리자

    이 태스크 정보

    현재 예약된 작업은 단일 스레드로 작동합니다. 경보 급증(경보 폭풍) 중에는 처리 시간이 훨씬 더 오래 걸립니다. 이러한 영향을 해결하기 위해 이제 여러 작업이 예약된 작업 내에서 경보를 처리할 수 있습니다. 이렇게 하면 확장성이 향상되고 볼륨이 많은 기간 동안 전반적인 성능이 향상됩니다.

    경보 처리에서 실행할 작업 수는 새 속성 sa_analytics.agg.alert_grouping.num_of_jobs에 정의됩니다. 작업 번호는 관련 메서드에 매개변수로 전송됩니다.

    주:
    이 시나리오에서는 스케일 아웃을 스케일 아웃 없음(단일 작업)에서 2개 작업으로 늘리는 절차를 보여 줍니다.
    여러 개의 예약된 작업을 효율적으로 관리하고 병렬로 실행하여 특정 속성을 사용하여 경보를 그룹화할 수 있습니다. 이러한 속성을 사용하면 필요에 맞게 그룹화 기준을 조정하여 할당 그룹, 도메인 분리 또는 그룹화 기준 필드를 기반으로 경보가 처리되도록 할 수 있습니다. 사용 가능한 속성:
    • sa_analytics.agg.group_alert_with_same_assignment_group_only: 동일한 할당 그룹을 공유하는 경보를 그룹화합니다. 기본적으로 값은 false로 설정됩니다. 이 속성을 true로 설정하려면 같은 이름으로 속성을 만들고 값을 true로 설정합니다.
    • sa_analytics.agg.group_alert_with_same_domain_only: 동일한 도메인에 속한 경보를 그룹화합니다. 기본적으로 값은 true로 설정됩니다.
    • sa_analytics.agg.group_alert_with_same_group_by_fields: "그룹화 기준" 속성으로, 경보를 함께 그룹화할 수 있도록 경보 간에 일치하는 값이 있어야 하는 쉼표로 구분된 필드 이름 목록이 있습니다. 이 속성에는 경보 필드 이름(예: assignment_group), CI 필드 이름(예: alert_cmdb_ci.location), 경보 추가 정보 필드 이름(예: additional_info.state) 또는 경보 태그(예: t_data_center)가 포함될 수 있습니다. 지정된 필드 값이 경보 간에 서로 일치하면 해당 경보를 함께 그룹화할 수 있습니다.
    주:
    효율적인 수평 확장을 보장하려면 이러한 속성 중 하나 이상을 정의하여 일종의 분리 또는 그룹화 논리를 설정해야 합니다. 이는 같은 그룹에 속한 모든 경보가 특정 작업에서 올바르게 처리되어 경보를 논리적으로 나누기 위해 필요합니다.

    이러한 속성 중 하나 이상을 true로 설정하지 않으면 경보가 제대로 분리되지 않습니다. 예를 들어 그룹화 논리를 정의하지 않고(속성을 true로 설정) 할당 그룹과 도메인 분리가 모두 false로 설정된 경우 확장이 작동하지 않으며 모든 경보가 단일 예약된 작업으로 처리됩니다.

    프로시저

    1. 다음으로 이동 모두 > 시스템 정의 > 예약된 작업.
    2. 예약된 작업 찾기: RCA/경보 집계를 사용하는 서비스 분석 기법 그룹 경보
    3. RCA/경보 집계를 사용하는 모든 기존 예약된 작업 서비스 분석 기법 그룹 경보의 경우 활성 열의 값을 false로 설정합니다.
      그림 1. 예약된 작업 비활성화
      예약된 작업 비활성화
    4. 새 속성을 sa_analytics.agg.alert_grouping.num_of_jobs생성하거나, 이미 존재하는 경우 경보 그룹화에 대해 원하는 수의 여러 예약된 작업(예: 2 또는 4)으로 속성을 업데이트합니다.
    5. 예약된 작업 정의를 예약된 작업 [sys_auto] 테이블에서 경보 그룹화를 위해 원하는 여러 예약된 작업 수로 복제합니다.
    6. 새 작업의 이 스크립트 실행 섹션에서 새 JS 함수 queryS0(이전 query() 함수 대신)을 호출하고 작업 번호를 입력 매개변수로 전송합니다.
      주:
      작업 번호는 0에서 시작하여 0, 1, 2, 3, 4 순서여야 합니다.
    7. 접두사가 동일한 가장 빠른 해시를 선택하고, 복제하고, 해시 이름 접미사(예: "_groupingX", 여기서 X는 작업 번호)를 추가하여 [sa_analytics_status] 및 [sa_hash] 테이블에서 해시를 수정합니다.
      스케일 아웃 없음(단일 작업)에서 2개 작업으로 스케일 아웃하고 해시 이름 last_alert_process_time의 경우 복제하여 last_alert_process_time에서와 동일한 값을 유지합니다.
      • last_alert_process_time_grouping0
      • last_alert_process_time_grouping1
      스케일 아웃 없음(단일 작업)에서 4개 작업으로 스케일 아웃하고 해시 이름 last_alert_process_time의 경우 복제하여 last_alert_process_time에서와 동일한 값을 유지합니다.
      • last_alert_process_time_grouping0
      • last_alert_process_time_grouping1
      • last_alert_process_time_grouping2
      • last_alert_process_time_grouping3
      표 1. 복제할 해시
      해시 이름 테이블
      query_job_last_run sa_hash
      last_alert_process_time sa_analytics_status
      last_staging_table_update_time sa_analytics_status
      last_staging_table_truncate_time sa_analytics_status
      analytics_trigger_g1 sa_hash
    8. 각 작업에 대한 활성 확인란을 선택하여 새 작업을 활성화합니다.
      그림 2. 예약된 작업 활성화
      예약된 작업 활성화

    결과

    RCA/경보 집계를 사용하는 예약된 작업 서비스 분석 기법 그룹 경보는 경보 그룹화를 위해 여러 작업을 동시에 실행하도록 설정됩니다.