트리거 이벤트 생성
개요
트리거 상태 변경은 가장 빈번하고 가장 중요한 이벤트 소스입니다. 트리거가 상태를 변경할 때마다 이벤트가 생성됩니다. 이벤트에는 트리거 상태 변경에 대한 세부 정보(언제 발생했는지, 새로운 상태가 무엇인지)가 담깁니다.
트리거는 Problem과 OK 두 가지 유형의 이벤트를 생성합니다.
Problem 이벤트
Problem 이벤트는 다음과 같은 경우에 생성됩니다:
- 트리거가 OK 상태일 때 트리거 표현식이 TRUE로 평가되는 경우;
- 트리거에 다중 problem 이벤트 생성이 활성화된 경우, 트리거 표현식이 TRUE로 평가될 때마다.
OK 이벤트
OK 이벤트는 관련된 problem 이벤트를 종료하며, 다음 3가지 구성 요소에 의해 생성될 수 있습니다:
- 트리거 - 'OK 이벤트 생성' 및 'OK 이벤트 종료 대상' 설정을 기반으로;
- 이벤트 상관관계
- 태스크 관리자 - 이벤트가 수동으로 종료되는 경우
트리거
트리거에는 OK 이벤트가 생성되는 방식을 제어하는 'OK 이벤트 생성' 설정이 있습니다:
- Expression - problem 상태의 트리거에서 표현식이 FALSE로 평가될 때 OK 이벤트가 생성됩니다. 가장 단순한 설정이며 기본값으로 활성화되어 있습니다.
- Recovery expression - problem 상태의 트리거에서 표현식이 FALSE로 평가되고 복구 표현식이 TRUE로 평가될 때 OK 이벤트가 생성됩니다. 트리거의 복구 조건이 problem 조건과 다른 경우에 사용할 수 있습니다.
- None - OK 이벤트가 절대 생성되지 않습니다. 다중 problem 이벤트 생성과 함께 사용하여 어떤 일이 발생했을 때 단순히 알림만 보내는 용도로 사용할 수 있습니다.
추가로 트리거에는 어떤 problem 이벤트를 종료할지 제어하는 'OK 이벤트 종료 대상' 설정이 있습니다:
- All problems - OK 이벤트가 해당 트리거가 생성한 모든 열린 problem을 종료합니다
- All problems if tag values match - OK 이벤트가 해당 트리거가 생성했고 일치하는 태그 값이 하나 이상 있는 열린 problem을 종료합니다. 태그는 '일치용 태그' 트리거 설정으로 정의합니다. 종료할 problem 이벤트가 없으면 OK 이벤트는 생성되지 않습니다. 이를 흔히 트리거 수준 이벤트 상관관계라고 합니다.
이벤트 상관관계
이벤트 상관관계(전역 이벤트 상관관계라고도 함)는 사용자 정의 이벤트 종료 규칙(결과적으로 OK 이벤트 생성)을 설정하는 방법입니다.
이 규칙은 새로운 problem 이벤트가 기존 problem 이벤트와 어떻게 짝지어지는지 정의하며, 해당하는 OK 이벤트를 생성하여 새 이벤트 또는 매칭된 이벤트를 종료할 수 있게 합니다.
다만 이벤트 상관관계는 이벤트 처리 성능에 부정적인 영향을 줄 수 있고, 잘못 구성하면 의도한 것보다 많은 이벤트를 종료할 수 있으므로(최악의 경우 모든 problem 이벤트가 종료될 수도 있음) 매우 신중하게 구성해야 합니다. 몇 가지 구성 팁은 다음과 같습니다:
- 제어 이벤트(기존 이벤트와 짝지어지는 이벤트)에 고유한 태그를 설정하고 '새 이벤트 태그' 상관관계 조건을 사용하여 항상 상관관계 범위를 줄이세요
- '기존 이벤트 종료' 오퍼레이션을 사용할 때는 기존 이벤트 기반 조건을 반드시 추가하세요. 그렇지 않으면 모든 기존 problem이 종료될 수 있습니다
- 서로 다른 상관관계 구성에서 사용되는 흔한 태그 이름은 피하세요
태스크 관리자
트리거에 '수동 종료 허용' 설정이 활성화되어 있으면 해당 트리거가 생성한 problem 이벤트를 수동으로 종료할 수 있습니다. 이 작업은 프론트엔드에서 problem을 업데이트할 때 수행합니다. 이벤트는 직접 종료되지 않고, 대신 '이벤트 종료' 태스크가 생성되어 태스크 관리자가 곧 처리합니다. 태스크 관리자는 해당하는 OK 이벤트를 생성하고 problem 이벤트가 종료됩니다.