소스 유형 구조 조정
소스 유형 구조에 추출된 속성을 사용자 지정하여 상태 로그 분석가 내부 로그 메시지를 읽고 예외를 탐지하는 방법을 세부적으로 조정합니다.
시작하기 전에
필요한 역할: evt_mgmt_admin
프로시저
- 다음으로 이동 모두 > 상태 로그 분석 > 데이터 입력 > 소스 유형 구조.
-
기록을 엽니다.
주:
- 기본적으로 자동 추출은 상태 로그 분석가 내부 로그 메시지에서 전송 헤더를 자동으로 분리하도록 선택됩니다.
- 소스 유형 구조가 처음 표시될 때 상태 로그 분석가 로그 샘플을 자동으로 가져옵니다. 다음 세션에서 샘플 새로 고침을 선택하여 최신 샘플을 가져옵니다.
- 옵션:
기존 JavaScript 함수가 로그 라인에 어떤 영향을 주는지 확인합니다.
- 수동 샘플 테스트 필드에 샘플 메시지를 추가합니다.
- 이동을 선택합니다.
- 키/값 매핑 탭에서 JavaScript 함수가 로그 라인에 어떤 영향을 주는지 확인합니다.
-
원시 입력 샘플 필드에서 로그 메시지를 선택합니다.
JavaScript 함수를 테스트할 때 상태 로그 분석는 이 샘플 메시지를 사용하여 자동 추출과 JavaScript 함수가 함께 로그 라인에 미치는 영향을 보여줍니다.
다음 필드는 읽기 전용입니다.필드 설명 지속 시간(밀리초) 모든 샘플의 처리 시간(밀리초)입니다. 삭제 모든 샘플에서 삭제된 총 로그 수입니다. 오류 모든 샘플에서 발생한 총 오류 수입니다. 타임스탬프 추출 실패 모든 샘플 안에서 타임스탬프 추출 실패가 발생한 횟수입니다. 심각도 추출 실패 모든 샘플 안에서 심각도 추출 실패가 발생한 총 횟수입니다. 메시지 추출 실패 모든 샘플 안에서 메시지 추출 실패가 발생한 총 횟수입니다. 길이 속성 모든 샘플의 길이 속성의 총 수입니다. 길이 속성은 256자를 초과합니다.주:그러한 속성은 상태 로그 분석에서 추출되지 않기 때문에 Elasticsearch에서 키워드로 인덱싱되지 않습니다. -
자동으로 추출된 속성을 사용자 지정하거나 소스 유형 구조에 속성을 추가하는 JavaScript 함수를 정의합니다.
-
JavaScript 콘솔에서 기본 제공 JavaScript 함수를 변경하거나, 기존의 사용자 지정 JavaScript 함수를 수정하거나, 새 JavaScript 함수를 정의합니다.
주:기본 JavaScript 함수 외에도 상태 로그 분석는 소스 유형 구조를 구체화하기 위한 여러 JS 함수 템플릿을 제공합니다. 이 템플릿은 사용자 지정 스크립트 코드의 시작점 역할을 할 수 있습니다. 이 기능은 ServiceNow Store에서 제공되는 상태 로그 분석 애플리케이션(버전 20.0.11 - 2021년 7월)에서 지원됩니다.
소스 유형 구조를 조정하는 JavaScript 함수는 다음 객체를 사용합니다.JS 함수 템플릿 설명 정규 표현식을 사용하여 키-값 추출 정규 표현식을 사용하여 특정 정규 표현식 패턴을 식별함으로써 로그를 일련의 키:값 쌍으로 구문 분석하는 데 사용되는 스크립트입니다. 소스 유형으로 전송되는 로그 데이터에 따라 내부 메시지 또는 전체 로그 라인을 구문 분석합니다. 소스 유형 구조로 로드되는 샘플에 데이터가 표시되는 방식을 볼 수 있습니다.
이 프로세스는 반복적인 과정이며, 모든 키:값 쌍을 찾을 때까지 반복됩니다.
분할 정규 표현식을 사용하여 키-값 추출 정규 표현식을 사용하여 특정 정규 표현식 패턴을 식별함으로써 로그를 일련의 키:값 쌍으로 구문 분석하는 데 사용되는 스크립트입니다. 이 프로세스는 먼저 목록 양식의 값을 캡처한 다음 Java 분할 함수를 사용하여 키:값 쌍을 생성합니다.
원시 입력에 데이터가 표시되는 방식에 따라 이 함수가
정규 표현식을 사용하여 키-값 추출보다 효과적일 수 있습니다. 원시 입력은 헤더 탐지가 전달하는 내부 메시지이거나, 헤더 탐지가 해당하는 특정 로그에서 비활성화되거나 작동하지 않는 경우에는 전체 원시 로그입니다.JSON 구문 분석 - 평면화 원시 입력에서 다른 텍스트 문자열의 일부인 JSON 정보를 추출하는 데 사용되는 스크립트입니다. 예를 들어 이 정보는 더 긴 내부 메시지의 일부로 작성된 JSON 요청일 수 있습니다. 내부 JSON 섹션은 분할하기 어렵습니다. 이러한 경우 이 스크립트를 사용하여 키:값 쌍을 "평면화" 또는 구문 분석할 수 있습니다.
원시 입력에서 새 필드 추출 새 필드의 패턴을 식별하기 위해 캡처 그룹이 있는 정규 표현식을 사용하여 원시 입력에서 새 필드를 추출하는 데 사용되는 스크립트입니다. XML 형식 구문 분석 XML 형식을 식별하기 위해 정규 표현식을 사용하여 XML에서 키:값 쌍을 추출하는 데 사용되는 스크립트입니다. 이 프로세스는 반복적인 과정이며, 모든 키:값 쌍을 찾을 때까지 반복됩니다.
숫자 심각도 수준을 텍스트 값으로 설정 숫자 심각도 값을 해당 텍스트 심각도 값으로 변환하는 데 사용되는 스크립트입니다. 주:시스템이 로그의 심각도 수준을 올바르게 식별할 수 있도록 하려면 심각도를 텍스트 형식으로 제공해야 합니다. 숫자 심각도 값이 남아 있어서는 안 됩니다.트리밍 함수 값에서 문자열을 둘러싸고 있는 큰따옴표를 제거하는 데 사용되는 스크립트입니다. 이 함수를 사용하면 키:값 쌍의 출력 값을 둘러싸는 다른 모든 문자를 제거할 수 있습니다.
표 1. 서명 - 함수 생성(sample, output) 객체 설명 sample 샘플 메시지에서 추출한 내부 메시지입니다. output 키-값 쌍 맵을 포함하는 객체입니다. - 테스트를 선택하여 JavaScript 함수를 테스트합니다.
-
관련 목록에서 JavaScript 함수의 결과를 보고 필요한 경우 변경합니다.
- 키/값 매핑 탭에는 JavaScript 함수가 시스템의 자동 추출과 함께 원시 입력 샘플에 미치는 영향이 표시됩니다.
필요한 경우 사용자가 키를 수정할 수 있습니다.
- 분류 필드를 사용하여 속성 분류를 재설정할 수 있습니다. 사용 가능한 유형은 다음과 같습니다.
유형 설명 예 측정기 이 분류의 속성은 각 로그 메시지에 속성이 나타나는 횟수에 있어 예외를 탐지합니다. 자동 근본원인 분석의 일부로 이 값의 수량에 대한 변경 사항을 나타냅니다. 주:측정기로 분류된 속성은 자원을 사용합니다.상태 코드, 응답 코드, 작업 또는 패턴 게이지 이 분류의 속성은 지속적으로 보고되는 숫자 값의 예외를 탐지합니다. 주:게이지로 분류된 속성은 자원을 사용합니다.CPU, 메모리 또는 응답 시간 타임리스 게이지 이 분류의 속성은 지속적으로 보고되지 않는 숫자 값의 예외를 탐지합니다. 시스템에서 예외의 발생 시점과 관계없이 이 값의 예외에 대해 알립니다. 주:이 기능은 ServiceNow Store에서 제공되는 상태 로그 분석 애플리케이션(버전 20.0.11 - 2021년 7월)에서 지원됩니다.자동 근본 원인(ARC만) 이 분류의 속성은 자체 예외가 아닌 다른 예외의 자동 근본원인 분석의 일부로 속성을 보고합니다. 사용자 이름, IP 주소, 애플리케이션 구성요소 또는 데이터센터 잘못됨 이 분류의 속성은 자동 근본원인 분석에 계산되거나 표시되지 않습니다. 주:잘못됨으로 분류된 속성은 자원을 절약합니다. - 할당 레이블 필드를 사용하면 레이블에 속성을 설정할 수 있습니다.
레이블 설명 타임스탬프 이벤트의 타임스탬프를 보유하는 속성입니다. 주:자동 헤더 속성 탐지가 활성화되어 있으며 소스 유형에 타임스탬프가 없는 경우 시스템이 전송 헤더에서 타임스탬프를 추출합니다. 헤더 탐지가 비활성화되었거나 데이터 입력의 관련 로그 라인에 대해 작동하지 않는 경우 모든 로그 라인에는 적절한 타임스탬프가 있어야 합니다.심각도 로그의 심각도 수준을 나타내는 속성입니다. 메시지 로그 메시지입니다. 시스템이 이 속성을 사용하여 데이터의 텍스트 패턴을 식별합니다. 호스트 이벤트를 보낸 호스트를 나타내는 속성입니다. 주:자동 헤더 속성 탐지가 활성화되어 있으며 소스 유형에 호스트가 없는 경우 시스템이 전송 헤더에서 호스트를 추출합니다. 헤더 탐지가 비활성화되었거나 데이터 입력의 관련 로그 라인에 대해 작동하지 않는 경우 모든 로그 라인에는 호스트가 있어야 합니다.외부 ID 이 이벤트 유형의 고유 식별자 역할을 하는 속성입니다. 예를 들어 Windows 이벤트 로그 안의 이벤트 ID입니다. - 키 이름 재지정 필드를 사용하여 키 이름을 다시 지정할 수 있습니다.
- 분류 필드를 사용하여 속성 분류를 재설정할 수 있습니다. 사용 가능한 유형은 다음과 같습니다.
- 결과 키-값 탭에는 JavaScript 함수가 데이터를 처리한 방식이 표시됩니다.
- 나머지 탭에는 오류, 메시지 추출 실패, 심각도 추출 실패, 타임스탬프 추출 실패 및 길이 속성이 표시됩니다.
주:새 JavaScript 함수가 예상대로 작동하지 않는 경우 JS 함수 되돌리기 관련 링크를 선택하여 마지막으로 게시된 함수로 돌아갈 수 있습니다. - 키/값 매핑 탭에는 JavaScript 함수가 시스템의 자동 추출과 함께 원시 입력 샘플에 미치는 영향이 표시됩니다.
- 옵션: (옵션) 필요한 조정을 수행한 다음 JavaScript 함수를 다시 테스트합니다.
-
JavaScript 콘솔에서 기본 제공 JavaScript 함수를 변경하거나, 기존의 사용자 지정 JavaScript 함수를 수정하거나, 새 JavaScript 함수를 정의합니다.
-
템플릿 저장 옵션을 선택하여 JavaScript 함수를 저장합니다.
JavaScript 함수를 새 템플릿으로 저장하거나 현재 선택한 템플릿을 덮어쓰기할 수 있습니다.
- JavaScript 함수를 새 템플릿으로 저장하려면 템플릿 이름 필드에 새 이름을 입력합니다.
- JS 함수 템플릿 필드에서 현재 선택한 템플릿을 덮어쓰기하려면 템플릿 이름 필드를 비워 두십시오.
- 게시를 선택하여 JavaScript 함수를 데이터베이스에 저장합니다.
결과
새 스크립트는 선택할 수 있는 JS 함수 템플릿 목록에 자동으로 추가됩니다. 이 기능은 ServiceNow Store에서 제공되는 상태 로그 분석 애플리케이션(버전 20.0.11 - 2021년 7월)에서 지원됩니다.
다음에 수행할 작업
나머지 데이터 입력 설정 작업을 계속합니다. 모든 로그 소스가 존재하고 활성 상태에 있는지를 확인하고, 필요한 경우 타임스탬프 형식을 추가합니다.