웹 서비스 API를 사용하여 인스턴스에 이벤트 밀어넣기

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 7분
  • ServiceNow에서 지원하는 웹 서비스 인터페이스를 사용하여 JSON 객체에서 데이터 입력 및 출력 형식으로 운영할 수 있습니다.

    시작하기 전에

    필요한 역할: evt_mgmt_integration

    이 태스크 정보

    단일 호출을 사용하여 이벤트 [em_event] 테이블에 기록을 삽입하려면 다음 웹 서비스 API를 사용하십시오.

    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

    프로시저

    1. 다음 헤더를 사용하여 요청 보내기:
      매개변수 유형 설명
      수용 문자열 이 메시지에 허용되는 유형입니다.

      기본값은 application/json입니다.

      컨텐츠-형식 문자열 이 메시지의 컨텐츠 형식입니다.

      기본값은 application/json입니다.

      POST 문자열 요청 유형은 하나 이상의 트레일 기록이 있는 POST입니다.
    2. JSON 형식의 이벤트를 하나 이상 웹 서비스 호출의 페이로드로 보낼 수 있습니다.
      다음과 같은 이벤트 필드를 채워야 합니다.
      변수 설명
      소스 이벤트 소스 유형의 이름입니다. 예를 들어 SCOM 또는 SolarWinds와 같습니다.
      소스 인스턴스(event_class) source의 특정 인스턴스입니다. 예를 들어 SCOM 2012 on 10.20.30.40
      node 노드 필드에는 이벤트가 트리거된 호스트(서버/스위치/라우터/기타)에 대한 식별자가 포함되어야 합니다. 노드 필드의 값은 호스트의 다음 식별자 중 하나일 수 있습니다.
      • 이름
      • FQDN
      • IP
      • Mac 주소
      이 값이 CMDB에 있으면 이벤트를 해당 ServiceNow CI에 바인딩하는 데도 사용됩니다.
      resource 이벤트가 디스크, CPU나 네트워크 어댑터 같은 장치 또는 호스트에서 실행되는 애플리케이션이나 서비스를 참조하는 경우에는 이 필드에 장치나 애플리케이션의 이름을 채워야 합니다. 예: 디스크 C:\ , Nic 001 또는 무역 웹 애플리케이션.
      em_event.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 옵션 – 이벤트가 해결되었거나 더 이상 발생하지 않음을 나타내기 위해 일부 이벤트 모니터는 '무결' 심각도를 사용하고 다른 이벤트 모니터는 심각도에 '종결' 값을 사용합니다. 이 필드는 후자에 해당하는 모니터에 사용됩니다. 유효한 값은 새로 생성닫는 중입니다.
    3. 단일 호출로 여러 기록을 작성하려면 다음 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"}'
        }
       ]
      }
    4. 단일 호출로 하나의 기록을 작성하려면 다음 URL을 사용하여 이벤트 웹 서비스를 트리거하십시오. 여기서 <instancename> 변수는 필요한 인스턴스 이름으로 대체됩니다.
      http://<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"}'
        }     
       ]
      }