이벤트 알림 관리 Open API
Event Notification Management Open API는 이벤트 [em_event] 테이블에서 이벤트를 생성, 업데이트 및 삭제하는 엔드포인트를 제공합니다.
이벤트 알림 관리 Open API(sn_ind_tmf688)는 TM Forum Open API 사양의 구현입니다ServiceNow. 이 API는 TMF688 이벤트 관리 API 사용자 가이드 v4.0.0을 기반으로 합니다. TMF642 경보 관리 API 사용 설명서에서 추가 경보 정보를 찾을 수 있습니다.
이 API는 필수 매개변수, 요청 본문 확인, 추가 REST 작업 및 필드 매핑을 사용자 지정하도록 확장할 수 있습니다. 자세한 내용은 다음을 참조하십시오. 그만큼 이벤트 알림 관리 Open API 개발자 가이드.
Event Notification Management Open API – POST instance_name/scope_id/GUID
연결된 요청의 페이로드를 NowMQ 큐에 배치합니다. 그런 다음 이 큐는 백그라운드에서 처리되어 이벤트 [em_event] 테이블 내의 이벤트를 생성, 업데이트 및 삭제합니다.
이 엔드포인트는 플랫폼의 ServiceNow 다른 엔드포인트와 다릅니다. 만들기, 업데이트 및 삭제와 같은 각 특정 작업에 대한 엔드포인트가 있는 대신 모든 기능에 대한 단일 엔드포인트만 있습니다. 호출 페이로드의 매개변수 eventType 는 전달된 AlarmCreateEvent, AlarmUpdateEvent 또는 AlarmDeleteEvent 값을 기반으로 수행할 작업을 결정합니다.
REST 호출의 형식도 표준 REST 구현과 다릅니다. Kafka, 데이터베이스 모니터 또는 기타 애플리케이션과 같이 이 API를 사용할 각 외부 시스템은 먼저 플랫폼에 ServiceNow 등록해야 합니다. 또한 등록 중에 제공된 정보를 사용하여 instance_name, 애플리케이션 scope_id 및 고유 GUID를 포함하여 이 엔드포인트를 호출하는 데 필요한 서명을 생성하는 자체 웹후크가 있어야 합니다. GUID는 요청이 시작된 외부 네트워크 시스템을 식별합니다.
TMFAlarmAPIConstants 스크립트 포함에 정의된 페이로드와 상관 관계가 있어야 합니다. 페이로드에 전달되고 스키마에 정의되지 않은 매개변수는 엔드포인트에서 무시됩니다.AlarmCreateEvent:ALARM_CREATE_EVENT_SCHEMAAlarmUpdateEvent:ALARM_CHANGE_EVENT_SCHEMAAlarmDeleteEvent:ALARM_DELETE_EVENT_SCHEMA
URL 형식
기본 URL: <instance_name>/<scope_id>/<GUID>
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 이벤트 | 발생한 이벤트에 대한 상세 정보입니다. 데이터 유형: 객체 |
| 이벤트.알람 | AlarmCreateEvent인 경우 eventType 필요합니다. 연결된 경보에 대한 상세 정보입니다. 데이터 유형: 객체 |
| event.alarm.affectedService | 경보의 영향을 받는 하나 이상의 서비스 목록입니다. 데이터 유형: 객체 배열 |
| event.alarm.affectedService.href | 영향을 받는 서비스에 대한 상세 정보를 제공하는 URL 참조입니다. 데이터 유형: 문자열 |
| event.alarm.affectedService.id | 경보의 영향을 받는 서비스의 식별자입니다. 이 값은 경보의 영향을 받는 CI(구성 항목)에 매핑됩니다. 데이터 유형: 문자열 |
| event.alarm.alarmedObject | 이벤트를 생성할 때 필요합니다. 경보 객체의 상세 정보입니다. 데이터 유형: 객체 |
| event.alarm.alarmedObject.href | 이벤트를 생성할 때 필요합니다. 경보 객체의 상세 정보를 가져오기 위한 URL 참조입니다. 데이터 유형: 문자열 |
| event.alarm.alarmedObject.id | AlarmCreateEvent인 경우 eventType 필요합니다. 경보 객체의 고유 식별자입니다. 이 값은 시스템의 CI에 매핑됩니다. 데이터 유형: 문자열 |
| event.alarm.alarmType | AlarmCreateEvent인 경우 eventType 필요합니다. 경보 유형입니다. 경보를 분류하는 데 사용됩니다. 예: "QualityOfServiceAlarm" 데이터 유형: 문자열 |
| event.alarm.crossedThresholdInfomation | 초과된 임계치에 대한 상세 정보입니다. 데이터 유형: 객체 |
| event.alarm.crossedThresholdInfomation.thresholdId | 경보를 발생시킨 임계치의 고유 식별자입니다. 데이터 유형: 문자열 |
| event.alarm.externalAlarmId | AlarmCreateEvent인 경우 eventType 필요합니다. 매개변수가 Id 지정되지 않은 경우 AlarmDeleteEvent 또는 AlarmChangeEvent인 경우 eventType 필요합니다. 경보를 게시하는 소스 시스템에서 경보에 대한 고유 식별자입니다. 데이터 유형: 문자열 |
| event.alarm.href | 경보에 대한 URL 참조입니다. 예: "http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00" 데이터 유형: 문자열 |
| event.alarm.id | 지정되지 않은 경우 externalAlarmIdAlarmDeleteEvent 또는 AlarmChangeEvent인 경우 eventType 필요합니다. 경보의 고유 식별자입니다. 경보 소유 시스템에서 지정합니다. 예: "8675399" 데이터 유형: 문자열 |
| event.alarm.perceivedSeverity | AlarmCreateEvent인 경우 eventType 필요합니다. 경보와 관련되어 있을 수 있는 심각도입니다. 이 값은 ITU-T 권장 사항 X.733과 일치합니다. 경보가 지워지면 인지된 심각도가 'CLEAR'로 설정되고 더 이상 설정할 수 없습니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| event.alarm.probableCause | AlarmCreateEvent인 경우 eventType 필요합니다.경보를 트리거할 가능성이 가장 높은 상황입니다. 함께 alarmType 사용하여 경보를 검증합니다. 가능한 값은 ITU-T 권장 사항 X.733 또는 3GPP TS 32.111-2 부록 B와 일치합니다. 예: "임계치 초과" 데이터 유형: 문자열 |
| event.alarm.sourceSystemId | AlarmCreateEvent인 경우 eventType 필요합니다. 경보 소스 시스템의 고유 식별자입니다. 예: "SOURCE_SYSTEM_vManage_00000_000_00" 데이터 유형: 문자열 |
| event.alarm.specificProblem | 경보를 트리거하는 특정 문제입니다. tparameter와 함께 probableCause 사용하면 알람을 검증할 수 있습니다. 예: "인바운드 트래픽 임계치 초과" 데이터 유형: 문자열 |
| eventType | 필수 처리할 이벤트의 유형입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.
| 머리글 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 머리글 | 설명 |
|---|---|
| 안 함 |
상태 코드
이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.
| 상태 코드 | 설명 |
|---|---|
| 200 | 호출의 실제 처리 상태와 관계없이 모든 호출에 대해 반환됩니다. 엔드포인트가 요청을 받았다는 것만 나타냅니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 없음 | 이 엔드포인트는 비동기적이므로 응답 데이터를 반환하지 않습니다. |
cURL 요청
다음은 경보 생성 이벤트에 대한 가능한 페이로드를 보여줍니다. 이 예시는 기본 구현(AlarmCreateEventSchema)에 있는 매개변수를 반영합니다.
--data "{
"eventType": "AlarmCreateNotification",
"event": {
"alarm": {
"id": "",
"externalAlarmId": "ext123456",
"alarmType": "QualityOfServiceAlarm",
"perceivedSeverity": "MINOR",
"alarmedObject": {
"id": "vManage_000000",
"href": " http://api/alarmedobject/000000"
},
"probableCause": "Threshold crossed",
"sourceSystemId": "SOURCE_SYSTEM_vManage_00000_000_00",
"href": "http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00",
"specificProblem": "Inbound Traffic threshold crossed",
"crossedThresholdInformation": {
"thresholdId": "12fasdfasdfasd"
},
"affectedService": [
{
"id": "SD WAN Enterprise Solutions",
"href": "http://api/service/vlan_dot0_dot0"
}
]
}
}
}
반환된 응답이 없습니다.
cURL 요청
다음은 변경 경보 이벤트의 가능한 페이로드를 보여줍니다. 이 예는 기본 구현(AlarmChangeEventSchema)에 있는 매개변수를 반영합니다.
--data "{
"eventType": "AlarmChangeEventSchema",
"event": {
"alarm": {
"id": "",
"externalAlarmId": "ext123456",
"perceivedSeverity": "MAJOR",
"probableCause": "Threshold crossed",
"crossedThresholdInformation": {
"thresholdId": "12fasdfasdfasd"
},
"affectedService": [
{
"id": "SD WAN Enterprise Solutions",
"href": "http://api/service/vlan_dot0_dot0"
}
]
}
}
}
반환된 응답이 없습니다.
cURL 요청
다음은 삭제(지우기) 경보 이벤트의 가능한 페이로드를 보여줍니다. 이 예시는 기본 구현(AlarmDeleteEventSchema)에 있는 매개변수를 반영합니다.
--data "{
"eventType": "AlarmDeleteEventSchema",
"event": {
"alarm": {
"id": "",
"externalAlarmId": "ext123456",
"perceivedSeverity": "MAJOR",
"probableCause": "Threshold crossed",
"crossedThresholdInformation": {
"thresholdId": "12fasdfasdfasd"
}
}
}
}
반환된 응답이 없습니다.