-
Notifications
You must be signed in to change notification settings - Fork 13
Description
트리거 및 알람 설정 API Swagger & 사용 시나리오
Swagger 문서: mc-observability-swagger
하단 링크 참고:
트리거 관련 기능은 아래와 같습니다.
- 트리거 정책 설정
- 트리거 대상 설정
- 트리거 이벤트 핸들러 설정 (Email, Slack, SMS, 카카오톡)
- 트리거 히스토리 조회
- 트리거 히스토리에 대한 코멘트 설정
사전 설정
트리거 알람 기능을 사용하기 위해서는 각 채널 별로 사전 설정 후 서비스를 실행해야 합니다.
Slack (무료)
Slack 알람을 받기 위해서는 다음 사항을 사전에 준비해야 합니다:
- Workspace 생성
- Channel 생성
- Bot user OAuth token 생성 및 적용
상세 가이드: Slack User Guide
Email (무료 (제한적))
Email 알람을 받기 위해서는 SMTP 서버 정보가 필요합니다:
- Google SMTP 계정 가입 및 앱 비밀번호 생성
- SMTP 서버 정보 입력 (호스트, 포트, 인증 정보)
KakaoTalk / SMS (유료)
KakaoTalk 및 SMS 알람을 받기 위해서는 Naver Cloud Platform(NCP) 서비스 가입이 필요합니다:
- NCP Simple & Easy Notification Service (SENS) 가입
- 발신번호 등록 및 인증
- API 인증 정보 입력
- (Kakao Talk) 채널 생성 & 채널 친구 추가
상세 가이드: NCP SENS 가이드
계정 정보 설정
위에서 설정한 각 채널별 계정 정보를 서비스 실행 전에 config/manager/.env 파일의 Notification 영역에 입력해야 알람 발송이 가능합니다.
개발 및 테스트 과정에서 테스트 계정이 필요하신 경우, 개별 문의 또는 이슈 댓글로 요청해 주시면 제공해 드리겠습니다.
트리거 시나리오
1. 장애 알람 정책 설정 [CreateTriggerPolicy]
a. 트리거 정책 설정 가능 대상 : CPU, MEMORY, DISK
b. 트리거 정책 설정 시 threshold 형식
Request Body 예시:
{
"title": "string",
"description": "string",
"thresholdCondition": {
"info": 70, # 각 level별 임계치 설정
"warning": 80,
"critical": 90
},
"resourceType": "CPU", # 트리거 정책 대상 설정
"aggregationType": "MAX", # 집계 방식 (MIN, MAX, AVG, LAST)
"holdDuration": "0s", # 알림 발생 전 임계치 조건을 유지해야하는 최소 시간
"repeatInterval": "1h" # 알림 재발송 대기 시간
}
2. 장애 알람 대상 설정 [AddTriggerVM]
a. agent-manager를 통해 등록된 monitoring target의 nsId와 id를 사용하여 정책에 알람 대상 추가
b. 알람 범위를 설정하는 targetScop값이 mci인지 vm인지에 따라 targetId값을 입력
Request Body 예시:
{
"namespaceId": "ns01",
"targetScope": "vm", # [vm, mci]
"targetId": "vm-1"
}
3. 알람 수신 사용자 설정 [UpdateTriggerPolicyNotificationChannels]
지원 이벤트 핸들러:
email, slack, kakao, sms
Request Body 예시:
[
{
"channelName": "kakao",
"recipients": [
"01012345678"
]
},
{
"channelName": "sms",
"recipients": [
"01012345678"
]
},
{
"channelName": "email",
"recipients": [
"admin@example.com"
]
},
{
"channelName": "slack",
"recipients": [
"C09GRESEF"
]
}
]recipients 작성 규칙:
- kakao, sms: 휴대폰 번호를 010으로 시작하며
-없이 숫자만 입력 (예:01012345678) - email: 이메일 주소 입력
- slack: 사전 설정된 워크스페이스의 특정 채널 ID 입력 (예:
C09GRESEF)
4. 트리거 이벤트 히스토리 조회 및 관리
a. 히스토리 조회 [GetPaginatedTriggerHistories] : 설정된 장애 알람 정책에 따라 이벤트 발생 시 히스토리가 기록되며 조회할 수 있습니다.
b. 히스토리 코멘트 설정 [UpdateTriggerHistoryComment] : 발생한 알람 히스토리에 대한 처리 내용이나 메모를 기록할 수 있습니다.
Request Body 예시:
{
"comment": "이슈 확인 완료 - 임시 트래픽 증가로 인한 알람"
}

