API Task에서 서버에 기록 작업 구성

서버에 기록 작업을 사용하면 런타임 및 사용자 정의 로그를 외부 SIEM 서버로 전달하여 중앙 집중식 모니터링과 규정 준수를 구현할 수 있습니다. 사용자 정의 로그에 필요한 헤더, 로그 수준 및 데이터 소스 태그를 추가할 수 있습니다.

이 예제에서는 ServiceNow 인시던트 기록의 세부 정보를 검색할 때 런타임 로그와 변수를 Pipedream HTTP 엔드포인트로 전달하도록 서버에 기록 작업을 구성합니다.

전제 조건

다음 조건이 충족되는지 확인합니다.
  • API 태스크를 생성하고 실행할 수 있는 권한.
  • SIEM 서버를 구성할 수 있는 권한.
  • ServiceNow 인스턴스에 대한 활성 OAuth 연결. ServiceNow OAuth 연결 설정에 대한 자세한 내용은 OAuth 연결 생성 항목을 참조하십시오.
  • Logging이라는 이름의 소스가 있는 Pipedream 계정. Pipedream 포털에서 소스 > HTTP/웹훅 > 새 요청으로 이동하여 소스를 생성합니다. 소스를 생성하면 포털이 사용자 정의 HTTP 엔드포인트를 생성합니다. 이 엔드포인트를 SIEM 서버로 사용하여 로그를 수집합니다.

프로시저

  1. Control Room에 로그인합니다.
  2. 다음 작업을 수행하여 Pipedream HTTP 엔드포인트를 로그용 SIEM 서버로 추가하십시오.
    1. 관리 > 설정 > SIEM 통합 구성으로 이동합니다.
    2. 외부 SIEM 통합 구성에서 활성화를 선택합니다.
    3. SIEM 서버 엔드포인트Pipedream HTTP 엔드포인트를 입력합니다.
      Pipedream HTTP 엔드포인트의 형식은 https://<unique_source_id>.m.pipedream.net입니다. Pipedream 포털은 소스를 생성할 때 자동으로 unique_source_id를 생성합니다.
    4. POSTHTTP Method에서 HTTP 요청 방식으로 선택합니다.
    5. 메시지이벤트 속성의 JSON 파일에 대한 이벤트 속성으로 입력합니다.
    6. 변경 사항 저장을 클릭하여 구성을 저장합니다.
  3. 다음 단계를 따라 API Task를 생성하십시오.
    1. 자동화 > 생성 > API 태스크로 이동하여 자동화 페이지에서 API Task를 생성합니다.
    2. API 태스크 생성 모달의 이름 필드에 servicenow-logging을 입력한 다음, 생성 및 편집을 클릭합니다.
      이름이 loggingAPI Task가 편집기 페이지에 나타납니다.
  4. 다음 단계를 수행하여 ServiceNow 인증 작업을 추가하고 구성합니다.
    1. ServiceNow > 인증으로 이동하여 작업을 추가합니다.
    2. 인증 유형에서 Control Room OAuth 연결을 선택합니다.
    3. 선택을 클릭하여 구성된 ServiceNow OAuth 연결을 선택합니다.
    4. 옵션: 세션 이름에 사용자 정의 이름을 입력합니다.
      기본적으로 Default가 세션 이름으로 설정되어 있습니다.
  5. 다음 단계를 수행하여 ServiceNow 기록 가져오기 작업을 추가하고 구성합니다.
    1. ServiceNow > 기록 가져오기로 이동하여 작업을 추가합니다.
    2. 테이블 이름incident를 입력합니다.
    3. Record sys_id에 있는 인시던트 기록의 sys_id를 입력합니다.
    4. 여러 변수를 선택하고 출력을 사전 변수에 할당에 다음 변수를 추가합니다.
      • incident_state: 기록의 상태를 캡처하는 키 상태를 가진 string 변수.
      • incident_short_description: 기록에 대한 간단한 설명을 캡처하는 키 short_description을 가진 문자열 변수.
      • incident_sys_id: 인시던트의 sys_id를 캡처하는 키 sys_id를 가진 string 변수.
  6. 다음 단계를 수행하여 서버에 로그 작업을 추가하고 구성합니다.
    1. 작업 > 로깅으로 이동한 다음, 서버에 로그 작업을 자동화에 추가합니다.
    2. 로그할 텍스트 필드에 servicenow incident logs를 입력하여 로그 콘텐츠 헤더를 설정합니다.
    3. 로그할 변수(선택 사항) 설정에서 사용자 정의 선택 탭을 선택합니다.
    4. 이전 단계에서 생성된 변수를 활성화합니다.
      확인란을 활성화하면 문자열 변수와 해당 값이 엔드포인트로 전달됩니다.
    5. 데이터 소스 태그(선택 사항) 필드에 incident_record를 입력하여 서버의 로그 콘텐츠에 대한 고유 식별자를 설정합니다.
      태그 지정은 로그를 쉽게 필터링할 수 있게 합니다. 로그 콘텐츠에 태그를 지정할 때 문자열 변수를 사용할 수도 있습니다.
    6. 정보(6)를 선택하여 로그 수준을 설정합니다.
  7. 저장을 선택하여 자동화를 저장합니다.
리포지토리 페이지의 세로 줄임표 메뉴에서 API Task 실행 > 지금 실행 옵션을 사용하여 자동화를 실행하면 자동화는 ServiceNow 인시던트 기록의 세부 정보를 가져오고 모든 런타임 및 사용자 정의 로그를 Pipedream HTTP 엔드포인트로 전송합니다.

다음 단계

Pipedream 포털에 로그인하고 소스 > 로깅 > 이벤트로 이동하여 로그를 확인합니다. 최종 로그 항목에는 서버에 로그 작업이 생성하는 사용자 정의 로그가 포함되어 있습니다. 시스템은 사용자 정의 로그를 다음 형식으로 HTTP 엔드포인트에 전달합니다.
{
  "method": "POST",
  "path": "/",
  "query": {},
  "client_ip": "35.155.28.36",
  "url": "https://04038b46964107d148cfdd251d89c826.m.pipedream.net/",
  "headers": {
    "host": "04038b46964107d148cfdd251d89c826.m.pipedream.net",
    "content-length": "459",
    "accept-encoding": "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
    "accept": "*/*",
    "user-agent": "Ruby",
    "content-type": "application/x-ndjson"
  },
  "bodyRaw": "{\"logMessage\":{\"logContent\":\"servicenow incident logs\",\"variableValues\":{\"incident_state\":\"1\",\"incident_sys_id\":\"57af7aec73d423002728660c4cf6a71c\",\"incident_short_description\":\"API call issue\"}},\"executionId\":\"b2e45a6d-186b-4b96-a2a2-3509808909f9_88f3a7ff9e646cc7\",\"logLevel\":\"INFO\",\"sysLogSource\":\"incident_record\",\"botName\":\"servicenow-logging\",\"botId\":\"45\",\"logCreatedTime\":\"2025-10-24T18:13:41.267798Z\",\"_tenantId\":\"dc170ff6-42d0-4f3d-8e9f-1904278d77f8\"}\n",
  "body": {
    "logMessage": {
      "logContent": "servicenow incident logs",
      "variableValues": {
        "incident_state": "1",
        "incident_sys_id": "57af7aec73d423002728660c4cf6a71c",
        "incident_short_description": "API call issue"
      }
    },
    "executionId": "b2e45a6d-186b-4b96-a2a2-3509808909f9_88f3a7ff9e646cc7",
    "logLevel": "INFO",
    "sysLogSource": "incident_record",
    "botName": "servicenow-logging",
    "botId": "45",
    "logCreatedTime": "2025-10-24T18:13:41.267798Z",
    "_tenantId": "dc170ff6-42d0-4f3d-8e9f-1904278d77f8"
  }
}