웹 서비스 API를 사용하여 인스턴스에 이벤트 밀어넣기
ServiceNow에서 지원하는 웹 서비스 인터페이스를 사용하여 JSON 객체에서 데이터 입력 및 출력 형식으로 운영할 수 있습니다.
시작하기 전에
필요한 역할: evt_mgmt_integration
이 태스크 정보
https://<instancename>.service-now.com/api/global/em/jsonv2
주:
이 URL을 사용하면 이벤트 테이블의 비즈니스 규칙이 호출되지 않습니다.
이벤트 테이블 [em_event]에 사용자 지정 필드를 추가하여 이벤트에 필드를 추가하지 마십시오. 그러나 이벤트의 추가 정보 [additional_info] 필드에 추가 필드가 포함되어야 합니다. 이벤트에 추가 필드를 포함하는 방법에 대한 자세한 내용은 사용자 지정 경보 필드 문서를 참조하십시오.
비즈니스 규칙을 활성화하려는 경우 http://<instancename>.service-now.com/em_event.do?JSONv2&sysparm_action=insertMultiple 형식의 URL도 지원됩니다. 그러나 첫 번째 URL의 성능이 더 우수합니다.
=insertMultiple로 끝나는 URL을 사용하여 작업하려면 다음 속성을 해당 값과 함께 MID 서버에 추가합니다.- "mid.probe.event.queue.compress" - 값: False
- "mid.probe.event.bulk_size" - 값: 100
- "mid.probe.event.endpoint.url" - 값: em_event.do?JSONv2%26sysparm_action=insertMultiple
프로시저
-
다음 헤더를 사용하여 요청 보내기:
매개변수 유형 설명 수용 문자열 이 메시지에 허용되는 유형입니다. 기본값은 application/json입니다.
컨텐츠-형식 문자열 이 메시지의 컨텐츠 형식입니다. 기본값은 application/json입니다.
POST 문자열 요청 유형은 하나 이상의 트레일 기록이 있는 POST입니다. -
JSON 형식의 이벤트를 하나 이상 웹 서비스 호출의 페이로드로 보낼 수 있습니다.
다음과 같은 이벤트 필드를 채워야 합니다.
변수 설명 소스 이벤트 소스 유형의 이름입니다. 예를 들어 SCOM 또는 SolarWinds와 같습니다. event_class source의 특정 인스턴스입니다. 예를 들어 SCOM 2012 on 10.20.30.40 node 노드 필드에는 이벤트가 트리거된 호스트(서버/스위치/라우터/기타)에 대한 식별자가 포함되어야 합니다. 노드 필드의 값은 호스트의 다음 식별자 중 하나일 수 있습니다. - 이름
- FQDN
- IP
- Mac 주소
resource 이벤트가 디스크, CPU나 네트워크 어댑터 같은 장치 또는 호스트에서 실행되는 애플리케이션이나 서비스를 참조하는 경우에는 이 필드에 장치나 애플리케이션의 이름을 채워야 합니다. 예: 디스크 C:\ , Nic 001 또는 무역 웹 애플리케이션. metric_name 경보를 트리거한 메트릭의 이름입니다. 예: 사용된 메모리 또는 총 CPU 사용률. type 이벤트의 유형입니다. 이 유형은 metric_name 필드와 유사할 수 있지만, 이벤트 유형의 일반적인 그룹화에 사용됩니다. message_key 이 값은 이벤트의 복제를 취소하는 데 사용됩니다. 예를 들어, 동일 CI에 대해 두 개의 이벤트(한 이벤트의 CPU는 50%이고 다음 이벤트의 CPU는 99%)가 있을 수 있습니다. 두 이벤트 모두 동일한 ServiceNow 경보에 매핑되어야 하는 경우, 동일한 메시지 키를 갖고 있어야 합니다. 이 필드 값은 비어 있을 수 있고, 이 경우 필드 값은 기본적으로 소스+노드+유형+자원+metric_name입니다. message_key는 기본값보다 더 나은 식별자가 있는 경우에만 채워야 합니다. severity 이벤트의 심각도입니다. ServiceNow의 심각도 값 범위는 1 – 중대, 5 – 양호, 심각도 0 – 무결입니다. 원래 심각도 값은 추가 정보의 일부로 보내야 합니다. additional_info 이 필드는 JSON 키/값 형식으로 되어 있으며, 사용자가 사용할 수 있는 모든 정보를 포함합니다. 미리 정의된 ServiceNow 이벤트 필드로 매핑하지 않습니다. 예를 들면 이벤트 소스의 객체 ID, 이벤트 우선 순위(심각도와 같지 않은 경우), 할당 그룹 정보 등이 있습니다. JSON 키/값 형식이 아닌 이벤트의 추가 정보 필드 값은 이벤트가 처리될 때 JSON 형식으로 정규화됩니다. time_of_event 이벤트 원점에서 이벤트가 발생한 시간입니다. 형식은 다음과 같습니다. yyyy-MM-dd HH:mm:ss GMT에 따라 시간을 지정해야 합니다.
resolution_state 옵션 – 이벤트가 해결되었거나 더 이상 발생하지 않음을 나타내기 위해 일부 이벤트 모니터는 '무결' 심각도를 사용하고 다른 이벤트 모니터는 심각도에 '종결' 값을 사용합니다. 이 필드는 후자에 해당하는 모니터에 사용됩니다. 유효한 값은 새로 생성 및 닫는 중입니다. -
단일 호출로 여러 기록을 작성하려면 다음 URL을 사용하여 이벤트 웹 서비스를 트리거하십시오. 여기서 <instance name> 변수는 필요한 인스턴스 이름으로 대체됩니다.
https://<instancename>.service-now.com/api/global/em/jsonv2단일 웹 서비스 호출로 전송되는 두 이벤트에 대한 페이로드를 보여주는 예입니다.{ "records": [ { "source": "SCOM", "event_class": "SCOM 2012 on scom.server.com", "resource": "D:", "node": "name.of.node.com", "metric_name": "Percentage Logical Disk Free Space", "type": "Disk space", "severity": "4", "description": "The disk D: on computer V-W2K8-abc.abc.com is running out of disk space. The value that exceeded the threshold is 38% free space.", "additional_info": { "scom-severity": "Medium", "metric-value": "38", "os_type": "Windows.Server.2008" } }, { "source": "SCOM", "event_class": "SCOM 2012 on scom.server.com", "resource": "MSSQL-database-name", "node": "other.node.com", "metric_name": "DB Allocated Size (MB)", "type": "Database Storage", "severity": "3", "description": "High number of active connections for MSSQL-database-name running on name.of.node.com. Active connections exceed 5000.", "additional_info": { "scom-severity": "Medium", "metric-value": "38", "os_type": "Windows.Server.2008" } } ] } -
단일 호출로 하나의 기록을 작성하려면 다음 URL을 사용하여 이벤트 웹 서비스를 트리거하십시오. 여기서 <instancename> 변수는 필요한 인스턴스 이름으로 대체됩니다.
https://<instancename>.service-now.com/api/global/em/jsonv2단일 웹 서비스 호출로 전송된 하나의 이벤트에 대한 페이로드를 보여주는 예:{ "records": [ { "source": "SCOM", "event_class": "SCOM 2007 on scom.server.com", "resource": "C:", "node": "name.of.node.com", "metric_name": "Percentage Logical Disk Free Space", "type": "Disk space", "severity": "4", "description": "The disk C: on computer V-W2K8-dfg.dfg.com is running out of disk space. The value that exceeded the threshold is 41% free space.", "additional_info": { "scom-severity": "Medium", "metric-value": "38", "os_type": "Windows.Server.2008" } } ] }예: cURL 요청:{ curl -X POST "https://<instancename>.service-now.com/api/global/em/jsonv2" \ --header "Content-Type: application/json" \ --user "username:password" \ --data '{ "records": [ { "source": "SCOM", "event_class": "SCOM 2007 on scom.server.com", "resource": "C:", "node": "name.of.node.com", "metric_name": "Percentage Logical Disk Free Space", "type": "Disk space", "severity": "4", "description": "The disk C: on computer V-W2K8-dfg.dfg.com is running out of disk space. The value that exceeded the threshold is 41% free space.", "additional_info": { "scom-severity": "Medium", "metric-value": "38", "os_type": "Windows.Server.2008" } } ] }'