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