메트릭스 경고 알림
홈 화면 > 프로젝트 선택 > 사이트맵 > 경고 알림 > 이벤트 설정 New
메트릭스를 기반으로 한 이벤트 알림을 생성하고 관리하는 방법을 안내합니다. 메트릭스 이벤트는 기본 템플릿보다 구체적이고 복잡한 이벤트를 설정할 때 사용합니다. 모니터링 대상에서 발생하는 다양한 이벤트를 조건에 따라 정의하고, 이를 통해 효율적으로 알림을 받을 수 있도록 설정할 수 있는 기능을 제공합니다.
기본 화면 안내
이벤트 설정 New
메뉴에서 메트릭스 탭을 선택하세요. 사용자가 추가한 메트릭스 이벤트 목록을 확인하고, 메트릭스 이벤트를 추가하거나 수정, 삭제할 수 있습니다.
메트릭스 이벤트 목록의 주요 요소는 다음과 같습니다.
-
활성화: 각 이벤트의 활성화 여부를 제어하는 토글 버튼입니다. 원하는 이벤트의 알림을 켜거나 끌 수 있습니다.
-
수정: 이벤트 규칙을 수정할 수 있습니다. 규칙을 업데이트하여 더 정확한 알림을 설정할 수 있습니다.
-
이벤트 이름: 이벤트 이름입니다. 이벤트 이름을 통해 어떤 이벤트가 발생했는지 쉽게 구분할 수 있습니다. 이벤트가 발생하고 알림을 받으면 해당 메시지의 제목으로 표시됩니다.
-
규칙: 알림을 발생시키기 위한 이벤트 조건입니다. 각 색상은 Critical과 Warning 레벨을 의미합니다.
-
대상: 전체 또는 특정 모니터링 대상에서 발생하는 이벤트를 기준으로 알림을 수신할 수 있습니다.
-
발생 횟수: 설정한 시간 동안, 설정 횟수만큼 이벤트가 발생하면 알림을 수신합니다.
-
해소된 알림: Critical과 Warning 레벨의 이벤트가 정상 상태(RECOVERED)로 돌아올 때 알림 수신 여부를 나타냅니다.
-
이벤트 수신: 알림을 수신할 팀이나 사용자 그룹을 나타냅니다.
이벤트 추가하기
메트릭스 이벤트를 추가하려면 화면 오른쪽 위에 이벤트 추가 버튼을 선택하세요. 이벤트 추가 화면이 나타나면 사용자는 다음 단계에 따라 설정을 진행할 수 있습니다.
-
이벤트 조건 정의: 알림을 받기 위한 이벤트 조건을 설정합니다.
-
이벤트 대상 선택: 이벤트가 발생하는 모니터링 대상을 선택합니다.
-
기본 정보 및 수신 설정: 이벤트 이름 및 메시지, 수신 대상을 설정합니다.
이벤트 조건 정의
알림을 받기 위한 이벤트 조건을 설정할 수 있습니다.
템플릿
쉽고 빠른 이벤트 설정을 위해 모니터링 플랫폼에 맞춘 이벤트 템플릿을 제공합니다. 원하는 템플릿을 선택하면 사전 정의된 이벤트 조건을 나머지 항목에 자동 입력합니다. 템플릿을 사용하지 않는다면 사용 안 함을 선택하세요.
-
템플릿을 선택한 후 사전 정의된 이벤트 조건은 사용자가 직접 수정할 수 있습니다.
-
모니터링 플랫폼에 따라 제공하는 템플릿은 다를 수 있습니다. 제공하는 템플릿 목록에 대한 자세한 내용은 다음 문서를 참조하세요.
카테고리 선택
메트릭스 데이터를 구분하는 단위입니다. 이벤트 조건 정의를 위한 필수 항목입니다.
카테고리 선택 목록에는 이름과 데이터 수집 간격(1시간, 5분 등), 키 정보를 표시합니다. 최근 3시간 범위 내 프로젝트에서 수집 중인 메트릭스 데이터를 조회해 목록에 표시합니다. 카테고리 선택 목록에 카테고리 이름이 표시되지 않는다면 직접 입력하기 옵션을 선택해 카테고리 키를 입력할 수 있습니다.
-
카테고리 항목을 선택해야 지표 설정을 진행할 수 있습니다.
-
카테고리 정보는 분석 > 메트릭스 조회 메뉴에서 확인할 수 있습니다.
지표 설정
알림 레벨 수준을 선택하고 알림을 발생시킬 이벤트의 임계치를 설정할 수 있습니다.
-
알림 레벨 수준은 위험(Critical)과 경고(Warning), 정상(Info) 수준으로 구분합니다.
-
선택 입력: 필드 이름과 연산자를 선택하고 값을 입력해 임계치를 설정합니다. 필드 항목을 클릭하면 메트릭스 카테고리에 포함된 필드 목록을 확인할 수 있습니다.
추가: 지표 설정을 추가할 수 있습니다.
&&
(and) 또는||
(or) 조건을 선택할 수 있습니다. -
직접 입력: 필드 이름과 연산자, 값을 직접 입력해 이벤트 발생 조건을 설정합니다. 이 옵션을 선택하면 입력란 아래에 입력할 수 있는 필드 정보(필드 선택 입력)를 제공합니다.
다음 예시는 write_time
이 3000밀리초를 초과하거나 read_time
이 3000밀리초 미만이면서, io_time
이 10000밀리초 미만일 때 알림이 발생하는 이벤트 조건입니다.
(write_time > 3000 || read_time > 3000) && io_time < 10000
-
선택 입력 옵션을 선택한 경우 필드 목록은 카테고리 선택이 설정되어 있어야 표시됩니다.
-
선택 입력 옵션에서 선택할 수 있는 연산자 종류는 다음 문서를 참조하세요.
-
특수문자(
~!@#$%^&*()_+=-[]`
)를 포함하거나 숫자로 시작하는 필드 이름을 입력하면 오류가 발생할 수 있습니다. 이런 경우 직접 입력 옵션을 선택한 다음 예시와 같이 중괄호(${}
)로 묶어서 입력하세요.${4xxErrorType} == '401'
-
선택 입력과 직접 입력 옵션 간 입력 방식을 변경하면 작성한 내용이 사라집니다.
발생 횟수
선택한 시간 동안 설정한 이벤트가 입력 횟수만큼 발생하면 알림을 보냅니다.
-
연속: 입력한 횟수만큼 이벤트가 연속 발생할 때 알림을 받을 수 있습니다.
-
최근: 선택한 시간동안 입력한 횟수만큼 이벤트가 연속 발생할 때 알림을 받을 수 있습니다.
Interval 값은 선택한 카테고리의 데이터 수집 간격을 의미합니다.
일시 중지
과도한 경고 알림 발생을 방지할 수 있는 옵션입니다. 첫번째 알림 발생 이후 선택한 시간 동안 경고 알림을 보내지 않습니다.
해소된 알림 기능을 활성화했다면 정상(RECOVERED) 상태 알림을 수신 후 선택한 시간 동안 알림을 보내지 않습니다.
해소된 알림
해소된 알림 옵션을 활성화하면 이벤트 기록 메뉴에서 진행 중인 이벤트로 표시됩니다. Critical 또는 Warning 레벨의 이벤트가 해소되면 정상(RECOVERED) 상태의 알림을 수신합니다. 토글 버튼을 선택해 기능을 켜거나 끌 수 있습니다.
-
이 옵션은 알림 레벨 수준을 Critical 또는 Warning을 선택했을 때 표시됩니다.
-
이벤트 기록 메뉴에 대한 자세한 내용은 다음 문서를 참조하세요.
시뮬레이션
지표 설정에서 설정한 이벤트 조건을 테스트할 수 있습니다. 시뮬레이션 버튼을 선택하세요.
-
조회한 시간 동안 몇 번의 알림이 발생했는지 오른쪽 상단에 발생 건수를 표시합니다.
-
빨간색 점선은 지표 설정에서 설정한 결과입니다.
이벤트 대상 선택
이벤트가 발생하는 모니터링 대상을 선택하세요. 입력하지 않을 경우 프로젝트에 포함된 전체를 대상으로 이벤트를 감시하고 알림을 보냅니다. 이로 인해 많은 알림이 발생할 수 있습니다. 과도한 알림이 발생하지 않도록 특정 대상을 설정하세요.
이벤트 대상은 다음 태그(Tag
)를 기준으로 특정할 수 있습니다. 태그(Tag
)는 수집 대상을 구분할 수 있는 고유 정보를 포함하는 데이터입니다. 변경 이력이 적은 IP, Oname, Host 정보 등의 값을 활용할 수 있습니다.
-
선택 입력: 태그 이름과 연산자를 선택하고 값을 입력해 대상을 특정할 수 있습니다.
추가: 이벤트 대상을 추가할 수 있습니다.
&&
(and) 또는||
(or) 조건을 선택할 수 있습니다. -
직접 입력: 태그 이름과 연산자, 값을 직접 입력해 대상을 특정할 수 있습니다. 이 옵션을 선택하면 입력란 아래에 입력할 수 있는 태그 정보(태그 선택 입력)를 제공합니다.
다음 예시를 참조해 이벤트 대상을 설정하세요.
ex. endsWith(okindName, 'example_name') && container == 'prod.billing'
ex. ${4xxErrorType} == '401'
-
이벤트 조건 정의 섹션의 카테고리 선택에서 선택한 값에 따라 선택할 수 있는 태그는 다를 수 있습니다.
-
이벤트 대상을 변했다면 알림 발생 건수가 달라질 수 있습니다. 시뮬레이션 버튼을 다시 실행해 결과를 확인하세요.
-
이벤트 대상 선택 및 연산자 사용에 대한 자세한 내용은 다음 문서를 참고하세요
기본 정보 및 수신 설정
이벤트 이름 및 메시지, 알림 수신 대상을 설정하세요.
-
이벤트 활성화: 현재 이벤트를 활성화할 수 있습니다.
-
이벤트 이름: 알림 메시지의 제목으로 사용되며 식별하기 쉬운 이름으로 입력하세요.
-
메시지: 사용자에게 전달하는 알림 메시지의 내용을 입력하세요. 변수를 사용하여 동적 데이터를 포함할 수 있습니다.
-
${Tag}
또는${Field}
입력으로 메시지에 변수를 적용할 수 있습니다. 변수는 선택한 메트릭스 데이터 카테고리에 포함된 값이여야 합니다. 메트릭스 조회 메뉴에서 입력할 수 있는${Tag}
또는${Field}
변수를 확인할 수 있습니다. -
버튼을 클릭하면 이전에 입력한 메시지 기록을 확인할 수 있습니다.
팁메시지 입력 창에
${Tag}
또는${Field}
변수를 입력해 메시지를 작성할 수 있습니다.분석 > 메트릭스 조회 메뉴에서 카테고리를 선택한 다음 입력할 수 있는
${Tag}
또는${Field}
변수를 확인하세요. 현재 이벤트 템플릿의 카테고리 이름은 다음 문서의 카테고리 항목을 참조하세요.노트메시지로 입력할 수 있는
${Tag}
또는${Field}
변수는 다음 문서를 참고하세요. -
-
수신 테스트: 현재 이벤트로 발생하는 알림 수신 시 입력한 이벤트 이름과 메시지를 사전 점검할 수 있습니다. 필수 항목(지표 설정, 이벤트 이름, 메시지)을 모두 입력해야 테스트할 수 있습니다.
노트-
테스트 중에는 실제 메트릭스 값이나 변수에 대한 치환 기능이 작동하지 않습니다.
-
이벤트 수신 옵션에서 수신자 태그가 설정된 사용자에게만 테스트 알림을 보냅니다. 전체 수신을 선택했다면 모든 사용자에게 테스트 알림을 보냅니다.
-
이 기능을 이용하려면 필수 항목(*)에 값을 입력하거나 선택하세요.
-
-
이벤트 수신: 현재 이벤트로 발생하는 알림을 수신할 멤버를 선택할 수 있습니다.
-
전체 수신: 프로젝트에 소속된 멤버 전원에게 알림을 보냅니다.
-
태그 선택 수신: 선택한 태그를 가진 프로젝트 멤버와 3rd-party 플러그인에 알림을 보냅니다. 수신 태그 항목이 표시되면 태그 추가 또는 버튼을 클릭해 태그 목록에서 원하는 태그를 선택하세요.
노트경고 알림 > 이벤트 수신 설정 메뉴에서 프로젝트 멤버와 3rd-party 플러그인에 태그를 설정할 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.
-
이벤트 수정/삭제하기
-
경고 알림 > 이벤트 설정 메뉴로 이동한 다음 메트릭스 탭을 선택하세요.
-
이벤트 목록에서 수정 또는 삭제하려는 항목의 가장 왼쪽에 버튼을 선택하세요.
-
메트릭스 이벤트 설정 창이 나타나면 각 옵션을 수정한 다음 저장 버튼을 선택하세요.
선택한 이벤트를 삭제하려면 이벤트 설정 창의 오른쪽 위에 삭제 버튼을 선택하세요.
JSON 형식으로 수정하기
메트릭스 이벤트 설정을 JSON 형식으로 수정할 수 있습니다.
-
화면 오른쪽 위에 JSON 버튼을 선택하세요.
-
편집 창이 나타나면 JSON 형식에 맞춰 내용을 수정하세요.
-
수정을 완료하면 화면 오른쪽 위에 저장 버튼을 선택하세요.
수정한 내용이 JSON 형식에 맞지 않으면 화면 아래에 에러 메시지가 표시되며, 저장할 수 없습니다. 표시되는 에러 메시지는 형식에 따라 다를 수 있습니다.
JSON 데이터의 구조는 다음과 같습니다.
[
{
"eventMessage": "APDEX: ${apdex100} > 10 ",
"select": "",
"receiver": [],
"alertLabel": [
"project"
],
"rule": "apdex100 > 10",
"silentSec": 0,
"alertKey": [
"project"
],
"enabled": false,
"eventTitle": "APDEX",
"repeatDuration": 0,
"eventLevelText": "Critical",
"id": "z3f41ge464magg",
"category": "app_counter_project{m5}",
"repeatCount": 0,
"stateful": false
}
]
JSON 데이터의 필드는 이벤트 설정에서 다음 옵션 항목과 연결됩니다.
JSON 필드 | 옵션 | 분류 |
---|---|---|
eventMessage | 메시지 | 기본 정보 및 수신 설정 |
select | 대상 선택 > 직접 입력 | 이벤트 대상 선택 |
receiver | 이벤트 수신 > 수신 태그 옵션의 수신 태그 키값 목록 | 기본 정보 및 수신 설정 |
alertLabel | 알림 동작 시 내부적으로 사용하는 primary key 값 | - |
rule | 지표 설정 옵션의 이벤트 조건 | 이벤트 조건 정의 |
silentSec | 일시 중지 | 이벤트 조건 정의 |
alertKey | 알림 동작 시 내부적으로 사용하는 primary key 값 | - |
enabled | 이벤트 활성화 | 기본 정보 및 수신 설정 |
eventTitle | 이벤트 이름 | 기본 정보 및 수신 설정 |
repeatDuration | 발생 횟수 옵션에서 선택한 시간 | 이벤트 조건 정의 |
eventLevelText | 지표 설정 옵션의 이벤트 레벨 수준 | 이벤트 조건 정의 |
id | 해당 이벤트의 고유 식별자 값 | - |
category | 카테고리 선택 | 이벤트 조건 정의 |
repeatCount | 발생 횟수 옵션에서 선택한 횟수 | 이벤트 조건 정의 |
stateful | 해소된 알림 | 이벤트 조건 정의 |
메트릭스 이벤트 공유하기
메트릭스 이벤트 설정을 JSON 파일로 저장해 다른 사용자와 설정을 공유하거나 다른 사용자의 설정을 가져올 수 있습니다.
내보내기
-
화면 오른쪽 위에 JSON 버튼을 선택하세요.
-
JSON 편집 창이 나타나면 내보내기 버튼을 선택하세요.
-
JSON 파일이 다운로드되면 공유할 다른 사용자에게 전달하세요.
-
JSON 파일 이름은 event-rules-
YYYY
-MM
-DD
.json 형식입니다. -
이벤트를 검색 후 내보내기 기능을 이용하면 검색한 목록만 JSON 파일로 다운받을 수 있습니다.
가져오기
-
화면 오른쪽 위에 버튼을 선택하세요.
-
내보내기 기능을 통해 다운로드한 JSON 파일을 선택하세요.
-
JSON 편집 창이 나타나면 목록에 추가하기 또는 덮어쓰기 버튼을 선택하세요.
이 기능은 같은 종류의 상품 간에 이용할 것을 권장합니다. 다른 상품의 프로젝트로부터 이벤트 설정을 가져올 수는 있지만 정상 작동하지 않습니다.
이벤트 검색하기
이벤트 목록에서 이벤트 이름 또는 지표를 기준으로 검색할 수 있습니다. 검색 입력란에 문자열을 입력한 다음 버튼을 선택하세요.
이벤트를 검색 후 내보내기 기능을 이용하면 검색한 목록만 JSON 파일로 다운받을 수 있습니다. 내보내기 기능에 대한 자세한 내용은 다음 문서를 참조하세요.
발생 조건, 대상 선택 가이드
메트릭스 경고 알림의 이벤트 발생 조건과 이벤트 대상 선택은 동일한 문법을 사용합니다. 단, 이벤트 발생 조건은 태그(Tag)의 Key를 변수로 사용하고, 이벤트 대상 선택은 필드(Field)의 Key를 변수로 사용합니다.
기본 문법
-
문자열을 그냥 입력하면 변수, 작은 따옴표('') 또는 큰 따옴표("")로 감싸면 text로 인식합니다.
oid == "oid"1. oid : 변수
2. == : 함수
3. "oid" : text// oname가 ott-1235일 경우
// 정상적인 경우
onname = 'ott-1235' 또는 onname = "ott-1235"
// 비정상적인 경우, 알림이 동작하지 않습니다.
onname = ott-1235 -
숫자를 그냥 입력하면 number, 작은 따옴표('') 또는 큰 따옴표("")로 감싸면 text로 인식합니다.
oid == 1231. oid : 변수
2. == : 함수
3. 123 : number// oid가 123일 경우
// 정상적인 경우
oid = 123
// 비정상적인 경우, 알림이 동작하지 않습니다.
id == '123' 또는 oid == "123"
사용 가능한 연산자 목록
연산자 | 사용법 | 설명 |
---|---|---|
== | operand1 == operand2 | operand1과 operand2의 값이 동일한지 확인합니다. |
!= | operand1 != operand2 | operand1과 operand2의 값이 다른지 확인합니다. |
> | operand1 > operand2 | operand1의 값이 operand2의 값보다 큰지 확인합니다. |
>= | operand1 >= operand2 | operand1의 값이 operand2의 값보다 큰거나 같은지 확인합니다. |
< | operand1 < operand2 | operand1의 값이 operand2의 값보다 작은지 확인합니다. |
<= | operand1 <= operand2 | operand1의 값이 operand2의 값보다 작거나 같은지 확인합니다. |
like | operand1 like operand2 | operand1에 operand2가 포함되어 있는 지를 패턴으로 검색합니다. |
&& | expression1 && expression2 | expression1과 expression2이 모두 true 인지 확인합니다. |
and | expression1 and expression2 | expression1과 expression2이 모두 true 인지 확인합니다.&&와 동일한 역할을 수행하는 연산자입니다. |
|| | expression1 || expression2 | expression1 또는 expression2이 true 인지 확인합니다. |
or | expression1 or expression2 | expression1 또는 expression2이 true 인지 확인합니다.||와 동일한 역할을 수행하는 연산자입니다. |
like 사용법
와일드카드(*
)를 통해 포함 문자열을 편리하게 검색할 수 있습니다.
-
특정 키워드로 시작하는 문자열 검색
Key like "Value*" -
특정 키워드로 끝나는 문자열 검색
Key like "*Value" -
특정 키워드가 포함된 문자열 검색
Key like "*Value*" -
키워드 중간에 와일드카드(
*
)를 사용할 수 없습니다.
// 지원하지 않는 문법
Key like "Va*lue" -
like
연산자에서 와일드카드(*
)를 생략하는 경우 equals(==
)로 동작합니다.
// 아래의 두 문장은 완전히 같은 결과를 가집니다.
Key like "Value"
Key == "Value"
사용 가능한 함수 목록
함수 | 사용법 | 설명 |
---|---|---|
startsWith | startsWith(param1, param2) | param1을 Key로 하는 Value가 param2로 시작하면 true , 반대의 경우 false |
endsWith | endsWith(param1, param2) | param1을 Key로 하는 Value가 param2로 끝나면 true , 반대의 경우 false |
isNull | isNull(param1) | param1이 null 이면 true , 반대의 경우 false |
isNotNull | isNotNull(param1) | param1이 null 이 아니면 true , 반대의 경우 false |
isEmpty | isEmpty(param1) | param1이 null 또는 EmptyString("") 이면 true , 반대의 경우 false |
isNotEmpty | isNotEmpty(param1) | param1이 null 도 아니고 EmptyString("") 도 아니면 true , 반대의 경우 false |
startsWith
startsWith(Key, "Value")
endsWith
endsWith(Key, "Value")
isNull
isNull(Key)
isNotNull
isNotNull(Key)
isEmpty
isEmpty(Key)
isNotEmpty
isNotEmpty(Key)
템플릿
메트릭스 이벤트
경고 알림 > 이벤트 설정 > 메트릭스 섹션에서 이벤트 추가 버튼을 선택하세요. 템플릿에서 원하는 항목을 선택하세요.
-
WARNING_OLD_GENARATION_GC
힙 메모리(Heap Memory)의 Old Generation 영역에서 GC가 발생하면 경고 알림을 보냅니다.
-
TOO_SLOW_SQL
수행 중인 쿼리가 5초 이상으로 너무 느린 쿼리가 발생할 경우 경고 알림을 보냅니다.
-
TOO_MANY_ACTX
8초 초과 구간의 액티브 트랜잭션 수가 100개를 초과하면 경고 알림을 보냅니다.
-
APDEX
APDEX 수치가 0.7보다 작을 경우 경고 알림을 보냅니다.
복합 메트릭스 이벤트
-
Inactive agents has been found.
조건:
num_of_current_agents
< 6프로젝트에 포함된 모든 에이전트 중 정상 상태의 에이전트 수가 6개 미만으로 떨어지는 이벤트가 발생하면 경고 알림을 보냅니다.
-
Very slow active transactions detected.
조건:
very_slow_tx_cnt_m5_avg
> 10프로젝트에 포함된 특정
okind
에 속한 에이전트에서 8초 이상 소요되는 트랜잭션의 수의 합이 10개 초과 발생하면 경고 알림을 보냅니다. -
TPS has changed by more than 30% compared to the previous week.
조건:
one_week_diff_abs
>current_tps
* 0.3프로젝트에 포함된 특정
okind
에 속한 에이전트들의 TPS합이 7일 전과 비교했을 때 30% 초과 달라지면 경고 알림을 보냅니다.
여러 에이전트에서 수신된 데이터에 대해서 종합적 이벤트 판정해야할 때 다음의 복합 메트릭스 템플릿을 설정하세요.
- Inactive agents has been found.
- Very slow active transactions detected.
과거 데이터와 현재 데이터를 비교해서 이벤트를 판정해야할 때 다음의 복합 메트릭스 템플릿을 설정하세요.
- TPS has changed by more than 30% compared to the previous week.