원시 로그 데이터 매핑

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 7분
  • 인스턴스로 스트리밍되는 원시 로그 데이터를 매핑하면 데이터가 처리되는 방식이 결정됩니다. 상태 로그 분석는 자동으로 로그를 구조화하고, 예외 탐지를 위한 메트릭을 생성하고, 데이터 태그 지정 방식에 따라 경보를 표시합니다.

    시작하기 전에

    필요한 역할: evt_mgmt_admin

    이 태스크 정보

    기본적으로 상태 로그 분석는 모든 수신 로그 라인을 올바른 태그에 자동 매핑하려 합니다. 속성이 자동으로 검색되지 않는 경우 JavaScript 함수를 정의하여 데이터 입력 소스를 수동으로 매핑합니다.

    JavaScript 함수에서는 애플리케이션 서비스만 매핑해야 합니다. 구성요소와 소스 유형을 매핑하는 것은 선택 사항이며, 상태 로그 분석는 자동으로 로그 데이터에서 값을 추출하려고 시도합니다. 시도가 실패하면 기본값이 할당됩니다. 구성요소를 매핑하지만 소스 유형이 아니거나 그 반대인 경우 시스템이 로그 데이터에서 누락된 값을 추출하려고 시도합니다. 실패한 경우 매핑한 대상에 따라 구성요소 값을 소스 유형에 할당하거나 그 반대로 할당합니다. 이 기능은 ServiceNow Store에서 제공되는 상태 로그 분석 애플리케이션(버전 20.0.11 - 2021년 7월)에서 지원됩니다.

    주:

    (ACC 데이터 입력에만 해당) 에이전트 클라이언트 수집기가 페일오버 보호를 제공하기 위해 다른 MID 서버로 전환되면 다른 ACC 데이터 입력으로 전환되어야 합니다. 따라서 모든 ACC 데이터 입력에는 동일한 JavaScript 함수가 있어야 합니다. 상태 로그 분석는 최신 게시된 JavaScript 함수를 기존 및 미래의 모든 ACC 데이터 입력에 제공하며 이전 스크립트를 대체합니다. 이 기능은 ServiceNow Store에서 제공되는 상태 로그 분석 애플리케이션(버전 22.0.12 - 2021년 12월 이후 릴리스)에서 지원됩니다. 에이전트 클라이언트 수집기 로그 분석(ACC-L)의 페일오버 보호에 관한 자세한 내용은 에이전트 클라이언트 수집기 로그 분석 문서를 참조하십시오.

    주:
    상태 로그 분석가 원시 로그 데이터를 매핑 및 구조화하기 전에 사용자가 원시 로그 데이터를 처리할 수 있습니다. 자세한 내용은 처리 전 원시 로그 데이터 편집을 참조하십시오.

    프로시저

    1. 다음으로 이동 모두 > 상태 로그 분석 > 매핑 > 데이터 입력 매핑.
    2. 기록을 엽니다.
      주:
      데이터 입력 매핑 양식이 처음 표시될 때 상태 로그 분석가 로그 샘플을 자동으로 가져옵니다. 다음 세션에서 샘플 새로 고침을 선택하여 새 샘플을 가져옵니다.
    3. 옵션: 전체 원시 로그 메시지를 전달하려면 헤더 탐지 사용 안 함을 선택하여 이 데이터 입력에 대한 자동 헤더 속성 탐지를 비활성화합니다.
      자세한 내용은 헤더 속성 탐지 문서를 참조하십시오.
    4. 옵션: 테스트 모드 값을 켜짐으로 설정하여 테스트 모드를 활성화합니다.
      테스트 모드에서 상태 로그 분석는 소스 유형, 소스 또는 표준 플로우에서 생성되는 기타 객체를 생성하지 않으므로 샘플 데이터로 Elasticsearch 저장소가 가득 차는 문제를 방지할 수 있습니다. 자세한 내용은 로그 데이터 자동 매핑 및 매핑 문서를 참조하십시오.
    5. 옵션: 기존 JavaScript 함수가 로그 라인에 어떤 영향을 주는지 확인합니다.
      1. 수동 샘플 테스트 필드에 샘플 메시지를 추가합니다.
      2. 이동을 선택합니다.
      3. 기존 JavaScript 함수가 로그 라인에 어떤 영향을 주는지 확인합니다.
    6. 원시 입력 샘플 필드에서 테스트할 때 로그 라인에 새 JavaScript 함수의 영향을 표시할 로그 샘플을 선택합니다.
    7. 데이터 입력 소스를 애플리케이션 서비스, 구성요소 및 소스 유형에 올바르게 매핑하는 JavaScript 함수를 정의합니다.
      주:
      (ACC 데이터 입력만 해당) JavaScript 함수를 사용하여 모든 ACC 데이터 입력에서 스트리밍된 데이터를 처리할 수 있는지 확인합니다.
      1. JavaScript 콘솔에서 기본 제공 JavaScript 함수를 변경하거나, 기존의 사용자 지정 JavaScript 함수를 수정하거나, 새 JavaScript 함수를 정의합니다.
        주:
        기본 JavaScript 함수 외에도, 상태 로그 분석는 syslog로 스트리밍된 Linux OS 로그, Filebeat로 스트리밍된 Windows 이벤트 로그, Winlogbeat로 스트리밍된 Winlogbeat 이벤트 로그의 데이터 매핑을 위해 JS 함수 템플릿을 제공합니다. 이 템플릿은 사용자 지정 스크립트 코드의 시작점 역할을 할 수 있습니다. 이 기능은 ServiceNow Store에서 제공되는 상태 로그 분석 애플리케이션(버전 20.0.11 - 2021년 7월)에서 지원됩니다.
        표 1. JavaScript 함수 템플릿
        템플릿 설명
        Syslog로 스트리밍된 Linux OS 로그 Linux 로그 매핑에 사용되는 스크립트입니다. 다양한 디먼의 로그를 올바른 소스 유형, 구성요소 및 애플리케이션 서비스에 매핑합니다.
        주:
        이 JavaScript 함수가 제대로 작동하려면 로그에 syslog 래퍼가 있어야 합니다.
        Filebeat로 스트리밍된 Windows 이벤트 로그 Filebeat로 스트리밍된 Windows 이벤트 로그 매핑에 사용되는 스크립트입니다. 다양한 Windows 서비스를 소스 유형, 구성요소 및 애플리케이션 서비스에 매핑하고 그룹화합니다.
        Winlogbeat로 스트리밍된 Windows - Winlogbeat 로그 Winlogbeat로 스트리밍된 Windows 이벤트 로그 매핑에 사용되는 스크립트입니다. 다양한 Windows 서비스를 올바른 소스 유형, 구성요소 및 애플리케이션 서비스에 매핑합니다.
        원시 로그 데이터 매핑을 위한 JavaScript 함수는 다음 객체를 사용합니다.
        • 서명: 함수 맵(sample, metadata)
          객체 설명
          sample 전처리 후 현재 로그 샘플입니다.
          metadata 다음을 포함하는 객체입니다.
          • 이벤트 스트림: 액세스 경유: <메타데이터 값>. 예: metadata.eventStream.origin
          • 변환 헤더 1: 액세스 경유: <메타데이터 값>. 예: metadata.headers.i1.type
          • 변환 헤더 2: 액세스 경유: <메타데이터 값>. 예: metadata.headers.i2.type
          • 유형 변환 헤더 3: 액세스 경유: <메타데이터 값>. 예: metadata.headers.i3.type
          • 폴백 할당: 액세스 경유: <메타데이터 값>. 예: metadata.fallBacks.host
          주:
          소스 유형별로 여러 서비스를 생성하고 연결할 수 있습니다.
        • 반환 유형 및 구조
          주:
          JavaScript 함수는 두 항목의 맵을 반환합니다. 이 반환 구조를 변경하지 마십시오.
          객체 설명
          applicationService 이 샘플을 할당할 기존 애플리케이션 서비스입니다.
          주:
          애플리케이션 서비스는 로그와 관련된 예외 경보에 바인딩되어야 합니다.
          component 이 샘플을 할당할 구성요소입니다.
          sourceType 이 샘플을 할당할 소스 유형입니다.
        • 로그 메시지를 삭제하려면 return drop()을 호출합니다.
      2. 테스트를 선택하여 JavaScript 함수를 테스트합니다.

        JavaScript 함수를 테스트하면 로그 샘플에서 스크립트의 결과를 볼 수 있습니다. 표시된 필드에 대한 설명은 JavaScript 함수 테스트 결과 필드 문서를 참조하십시오.

        주:
        새 JavaScript 함수가 예상대로 작동하지 않는 경우 JS 함수 되돌리기 관련 링크를 선택하여 마지막으로 게시된 함수로 돌아갈 수 있습니다.
      3. 옵션: (옵션) 필요한 조정을 수행한 다음 JavaScript 함수를 다시 테스트합니다.
      4. 옵션: 여러 테스트의 결과를 비교합니다.
        여러 버전의 JavaScript 함수의 테스트 결과를 비교하면 원하는 결과를 얻을 때까지 스크립트를 수정하는 데 도움이 됩니다.
    8. JavaScript 함수를 확정했으면 템플릿 저장을 선택하여 저장합니다.
      JavaScript 함수를 새 템플릿으로 저장하거나 현재 선택한 템플릿을 덮어쓰기할 수 있습니다.
      • JavaScript 함수를 새 템플릿으로 저장하려면 템플릿 이름 필드에 새 이름을 입력합니다.
      • JS 함수 템플릿 필드에서 현재 선택한 템플릿을 덮어쓰기하려면 템플릿 이름 필드를 비워 두십시오.
    9. 게시를 선택하여 JavaScript 함수를 데이터베이스에 저장합니다.

    결과

    JavaScript 함수가 게시되면 상태 로그 분석가 이 함수를 사용하여 데이터 입력 소스를 매핑합니다.

    새 스크립트는 선택할 수 있는 JS 함수 템플릿 목록에 자동으로 추가됩니다. 이 기능은 ServiceNow Store에서 제공되는 상태 로그 분석 애플리케이션(버전 20.0.11 - 2021년 7월)에서 지원됩니다.

    (ACC 데이터 입력만 해당) 상태 로그 분석는 기존 및 미래의 모든 ACC 데이터 입력에 게시된 JavaScript 함수를 제공합니다. 새 JavaScript 함수가 이전 스크립트를 대체합니다.

    다음에 수행할 작업

    • (옵션) 상태 로그 분석가 원시 로그 데이터를 매핑 및 구조화하기 전에 사용자가 원시 로그 데이터를 편집할 수 있습니다. 즉시 이 작업을 수행하려면 전처리기로 이동 관련 링크를 클릭하여 데이터 입력 전 처리기 페이지로 이동합니다.
    • (옵션) 소스 유형 구조를 구체화하여 시스템이 로그 데이터를 읽는 방법을 세부적으로 조정합니다. 이 단계를 통해 자동 분류 속성을 재분류하고 자동 매핑된 레이블을 변경할 수 있습니다.