Webhook는 HTTP POST를 사용하여 특정 경고에 의해 트리거되는 다른 애플리케이션에 데이터를 전달합니다. 경고가 발생할 때마다 소스는 Webhook에 대해 구성된 대상 애플리케이션에 HTTP 요청을 보냅니다. SD-WAN Orchestrator는 이벤트가 발생할 때 자동으로 HTTP POST를 통해 대상 애플리케이션으로 메시지를 보내는 Webhook를 지원합니다. 엔터프라이즈 포털에서 대상 URL을 설정하고 SD-WAN Orchestrator에 의해 트리거되는 경고에 대한 응답으로 작업을 자동화할 수 있습니다. 잠재적으로 민감한 경고 페이로드의 개인 정보 보호를 보장하려면 Webhook 받는 사람이 HTTPS를 지원해야 하며 유효한 인증서가 있어야 합니다. 이렇게 하면 페이로드 무단 변경이 방지됩니다.

경고 구성(Alert Configuration) 창의 Webhook(Webhooks) 페이지에서 다음 세부 정보를 구성할 수 있습니다.
옵션 설명
URL 올바른 HTTPS URL을 입력하십시오. Webhook에 대한 대상 애플리케이션 역할을 합니다.
코드

각 Webhook 받는 사람에 대해 예상되는 HTTP 응답 상태 코드를 입력합니다. 기본적으로 SD-WAN Orchestrator는 Webhook 수신자가 HTTP 200 상태 코드를 사용하여 HTTP POST 요청에 응답하도록 요구합니다.

SD-WAN Orchestrator는 수신자 서버 또는 프록시 서버에서 예기치 않은 상태 코드를 수신하면 경고 배달이 실패한 것으로 간주하고 ALERT_DELIVERY_FAILED 고객 이벤트를 생성합니다. 이 이벤트는 Webhook 수신자 서버가 예상대로 작동하지 않을 수 있는 경우를 식별하는 데 도움이 됩니다.

암호

구성된 각 Webhook 수신자에 대해 암호 토큰을 지정합니다. 이 토큰은 해당 수신자에게 전송된 각 Webhook 요청에 대해 HMAC를 계산하는 데 사용됩니다. HMAC는 서명 알고리즘과 타임 스탬프를 식별하는 버전 매개 변수와 함께 X-Webhook-Signature HTTP 헤더에 포함되어 있습니다.

X-Webhook-Signature: v=<signature-version>&t=<timestamp>&s=<hmac> 
수신자는 구성 요소를 다음과 같이 해석합니다.
  • v: 서명을 생성하는 데 사용되는 알고리즘의 버전입니다. 유일하게 지원되는 값은 1입니다.
  • t: 요청이 실행된 시간에 해당하는 밀리초의 정밀도의 Epoch 타임 스탬프입니다.
  • s: SD-WAN Orchestrator에서 계산되는 HMAC입니다. HMAC는 HMAC-SHA256(request-body + '.' + timestamp, secret)과 같이 계산됩니다.

HMAC를 계산하는 데 사용되는 메시지는 요청 본문, 단일 기간 및 서명 헤더에 표시되는 타임 스탬프 매개 변수의 값을 연결하 여 구성합니다. 코드를 생성하는 데 사용되는 특정 HMAC 알고리즘은 HMAC-SHA256입니다.

Webhook 요청을 받은 후 수신 서버는 동일한 알고리즘에 따라 자체 HMAC-SHA256 서명을 계산하여 요청의 신뢰성을 확인하고, 새로 계산된 서명을 SD-WAN Orchestrator에서 생성된 서명과 비교할 수 있습니다.

JSON 페이로드 템플릿

이것은 필수 필드입니다. SD-WAN Orchestrator는 나가는 HTTP POST 요청의 본문에 포함된 JSON 페이로드를 통해 각 Webhook 수신자에게 경고 알림을 전달합니다. SD-WAN Orchestrator는 변수 보간을 수행하여 알림이 전송될 때 페이로드 컨텐츠를 동적으로 생성합니다. 사용자 구성 페이로드 템플릿의 지원되는 자리 표시자 변수가 경고 특정 값으로 바뀝니다.

확인 입력한 세부 정보를 검증하려면 이 옵션을 클릭합니다.
JSON 페이로드 템플릿(JSON Payload Template) 옵션에서 페이로드 템플릿 구성(Configure Payload Template) 링크를 클릭하여 다음을 구성합니다.
옵션 설명
경고 시간 경고를 트리거해야 하는 날짜와 시간을 입력합니다.
경고 유형 드롭다운 메뉴에서 경고 유형을 선택합니다. 기본적으로 N/A로 표시합니다.
고객 논리적 ID 알림을 보내야만 하는 고객의 논리적 ID를 입력합니다.
고객 알림을 보내야만 하는 고객의 이름을 입력합니다.
디바이스 논리적 ID 경고가 적용되어야 하는 Edge의 논리적 ID를 입력합니다.
디바이스 설명 경고가 적용되어야 하는 Edge를 설명하는 간단한 메시지를 입력합니다.
디바이스 일련번호 경고가 적용되어야 하는 Edge의 일련번호를 입력합니다.
디바이스 이름 경고가 적용되어야 하는 Edge의 이름을 입력합니다.
마지막 연락(Last Contact) 영향을 받는 Edge가 SD-WAN Orchestrator와 최근에 통신한 날짜 및 시간을 입력합니다. 이것은 Edge 경고에만 해당합니다.
VCO 알림이 전송되어야 하는 소스 SD-WAN Orchestrator의 호스트 이름 또는 공용 IP를 입력합니다.
메시지(Message) 경고를 트리거해야 하는 이벤트를 설명하는 간단한 메시지를 입력합니다.
영향을 받는 엔티티 경고가 적용되어야 하는 엔티티인 Edge, 링크 또는 VNF의 이름을 입력합니다.

다음 예에서는 샘플 JSON 페이로드 템플릿을 보여 줍니다.

{
   "alertTime": "alertTime",
   "alertType": "alertType",      
   "customer": "customer",
   "customerLogicalId": "customerLogicalId",
   "entityAffected": "entityAffected",
   "deviceLogicalId": "deviceLogicalId",
   "lastContact": "lastContact",
   "message": "message",
   "vco": "vco",
   "deviceName": "deviceName",
   "deviceDescription": "deviceDescription",
   "deviceSerialNumber": "deviceSerialNumber"
}

저장(Save)을 클릭한 다음, Webhook(Webhooks) 페이지에서 변경 내용 저장(Save Changes)을 클릭하여 Webhook 구성을 저장합니다.

경고가 트리거될 때마다 관련 정보와 함께 경고 메시지가 대상 URL로 전송됩니다.