Notification & Webhook
사용자가 인지해야 할 필요성이 있는 이슈 사항에 대하여 알림을 제공합니다. 사용자는 알람 유형에 따라 선택적으로 수신여부를 설정할 수 있습니다. 알람 제공 방식은 아래 2채널을 제공합니다. Web 페이지에서 Notification 패널을 통해서 알람을 받을 수도 있으며, Webhook URL 설정을 통해서 Teams 혹은 Slack 통한 메시지 노티를 받을 수 있습니다.
Notification 설정은 웹 사용자별 설정을 따르며, Webhook URL 설정은 사용자별 설정이 아닌 채널별 설정 값을 따릅니다.
알림의 구성
알림은 사용자에게 전달되어야 하는 아래 속성들을 가지고 있습니다.
- 알림 등급 : 알림의 심각도나 긴급도에 따른 분류 등급
- INFO : 사용자가 알면 좋을 정보나 업데이트 사항
- WARNING : 주의가 필요할 수 있는 상황을 알리는 알림
- ERROR : 사용자나 시스템이 해결해야할 문제가 발생했음을 알림
- CRITICAL : 즉각적인 대응이 필요한 매우 중요한 상황을 알리는 알림
- 알림 시간 : 알림이 발생한 시간
- 알림 출처 : 알림이 발생한 위치 또는 알림에 따라 확인이 필요한 위치를 의미
- 알림 요약 : 알림이 발생한 이벤트에 대한 요약된 설명
- 알림 시 필요 정보 : 해당 알림이 발생했을 때, 사용자에게 제공할 추가적인 정보
- 알림 메시지 : 알림이 발생했을 때, 사용자에게 전달될 메시지로, 다른 속성들의 조합으로 이루어집니다.
알림 유형
알림 종류 | Catalog | Sub-Catalog | 알림등급 | 알림출처 | 알림요약 | 알림 메시지 |
---|---|---|---|---|---|---|
Edge Disconnection | Edges | Disconnection | ERROR | {Edge} | Edge Disconnection | [ERROR][{datetime}][{Edge}][Edge Disconnection] Edge Connection is lost |
Inference 실패 | Edges | Inference | ERROR | {Edge} | Inference Failed | [ERROR][{datetime}][{Edge}][Inference Failed] Inferece is failure. [{Error Code}] {Error Msg} |
Inference Score 경고 | Edges | Inference | WARNING | {Edge} | Inference Score Warning | [WARNING][{datetime}][{Edge}][Inference Score Warning] Inference score is below threhold. {Score} < {Threshold} |
Update 시작 | Edges | Updates | INFO | {Edge} | Update Started | [INFO][{datetime}][{Edge}][Update Started] Updating to {Update Version} |
Update 실패 | Edges | Updates | ERROR | {Edge} | Update Failed | [ERROR][{datetime}][{Edge}][Update Failed] Failed to update Edge App {Update Version}. [{Error Code}] {Error Msg} |
Update 시간 경과 | Edges | Updates | WARNING | {Edge} | Update Time Warning | [WARNING][{datetime}][{Edge}][Update Time Warning] {Update Version} update has been running for 3 hours. Verification is recommended. |
Update 성공 | Edges | Updates | INFO | {Edge} | Update Success | [INFO][{datetime}][{Edge}][Update Success] Update Finished : {Update Version} |
학습 시작 | Stream | Train | INFO | {Stream} | Train Started | [INFO][{datetime}][{Stream}][Train Started] Model training is started. |
학습 성공 | Stream | Train | INFO | {Stream} | Train Success | [INFO][{datetime}][{Stream}][Train Success] Training Finished : {model version} |
학습 시간 경과 | Stream | Train | WARNING | {Stream} | Training Time Warning | [WARNING][{datetime}][{Stream}][Training Time Warning] Model training has been running for 3 hours. Verification is recommended. |
학습 실패 | Stream | Train | ERROR | {Stream} | Train Failed | [ERROR][{datetime}][{Stream}][Train Failed] Failed to train model. Check the logs. |
배포 시작 | Stream | Deploy | INFO | {Stream} | Deploy Started | [INFO][{datetime}][{Stream}][Deploy Started] Model {model verison} deploying is started : {Edge1}, {Edge2}, {...} |
배포 성공 | Stream | Deploy | INFO | {Stream} | Deploy Success | [INFO][{datetime}][{Stream}][Deploy Success] Deploying Finished : {model version} to {Edge} |
배포 시간 경과 | Stream | Deploy | WARNING | {Stream} | Deploying Time Warning | [WARNING][{datetime}][{Stream}][Deploying Time Warning] Model {model version} deploying has been running for 3 hours : {Edge}. Verification is recommended. |
배포 실패 | Stream | Deploy | WARNING | {Stream} | Deploy Failed | [ERROR][{datetime}][{Stream}][Deploy Failed] Failed to deploy the model {model verison} to {Edge} |
※ 알림은 요구에 따라 지속 추가될 예정입니다.
Notification
Edge Conductor에서 일어나는 주요 이벤트들을 우측 상단의 Notification을 통해 알림을 받을 수 있습니다. Edge Conductor의 Notification 알림은 사용자(account) 별로 수신 여부를 설정할 수 있습니다. 사용자는 Notification 패널의 X 버튼을 통해 패널을 삭제하거나, 전체를 Clear 할 수 있습니다.
Web-hook
Edge Conductor에서 발생하는 모든 알림은 Teams 또는 Slack을 통해 받을 수 있습니다. 알림은 1개의 채널으로만 보낼 수 있습니다. Edge Conductor의 메신저 알림은 admin 유저만이 설정을 변경할 수 있습니다. Edge Conductor admin은 사용자들이 알림을 메신저로 받을 수 있도록 알림 채널을 마련해야합니다. 웹훅으로 받고자 하는 알림의 종류를 선택할 수 있습니다.
Teams Workflow Setup
아래 는 Teams에서 workflow 생성 및 json 구문 작성 예제를 보입니다. Teams 채널을 사용하고자 하는 경우 참고하실 수 있습니다.
- 워크플로우를 생성하고자 하는 채널 또는 채팅에서 옵션의 워크플로를 클릭 후 **'웹후크 요청이 수신되면 채팅에 게시'**를 선택합니다.
- 이름을 입력하고 계정이 인증되면 '다음'를 선택합니다. 다음 페이지에서 이 알림이 게시될 팀, 채널 또는 채팅을 선택할 수 있습니다. 이 필드들은 자동으로 채워집니다. 필요한 세부 정보를 입력한 후 '워크플로우 추가'를 선택합니다.
- 워크플로우가 생성되면, 복사할 수 있는 URL이 포함된 새로운 대화 상자가 나타납니다. 워크플로우 URL을 다시 복사해야 하는 경우, Teams 내에서 워크플로앱을 열고 생성된 워크플로우를 선택한 다음, 편집을 선택하여 'When a Teams webhook request is received' 트리거를 확장하여 찾을 수 있습니다.
- 생성한 워크플로우의 편집 창에 진입하여 아래의 모습으로 워크플로우를 구성하고 저장합니다.
JSON 구문분석 항목의 스키마:
{
"type": "object",
"properties": {
"@@type": {
"type": "string"
},
"@@context": {
"type": "string"
},
"summary": {
"type": "string"
},
"sender": {
"type": "string"
}
}
}
Edge Conductor 관리자 계정을 통해 Edge Conductor 좌측 네비의 Webhook 선택 후 상기 3번 과정에서 복사한 URL을 Destination에 붙혀넣으면, Notification 수신이 가능합니다.