우선순위 인사이트 검색 결과가 표시되지 않는 이유는 무엇인가요?
우선순위 인사이트 을 사용하여 IBM® Cloud Logs 에서 검색할 때 예상한 결과가 표시되지 않습니다. 내 로그에서 검색하려는 필드가 존재한다는 것을 알고 있지만 IBM Cloud Logs 에서 검색할 때 해당 필드를 찾지 못하는 것 같습니다.
필드 값을 검색하면 예상 결과가 반환되지 않습니다.
이 문제는 종종 매핑 예외와 관련이 있습니다.
새 로그 필드가 이전에 IBM Cloud Logs에서 수집한 필드 이름으로 수집되었지만 값 유형이 다른 경우 매핑 예외가 발생할 수 있습니다. IBM Cloud Logs가 수집된 데이터를 색인하면 다음 유형 중 하나에 필드를 매핑하려고 시도합니다:
StringNumericObjectArray
예를 들어 user 필드가 수집되었고 첫 번째 수신된 값이 "username"인 경우, IBM Cloud Logs는 user 필드에 대해 string 형식의 인덱스를 생성할 수 있습니다:
"user": “username”`
나중에 이와 같이 형식이 지정된 "user"라는 필드가 있는 새 로그가 수집되는 경우:
"user": {
“email”: “username@yourcompany.com”,
”login”: “username”`
}
매핑 예외는 IBM Cloud Logs에 생성됩니다. user 필드를 찾는 우선순위 인사이트 검색은 user 필드로 수집된 첫 번째 로그에 따라 string 값을 가질 것으로 예상됩니다.
array 유형(user.email 또는 user.login)으로 user 을 검색하는 우선순위 인사이트 은 매핑 예외로 인해 결과를 반환하지 않습니다.
매핑 예외가 있는지 확인하려면 IBM Cloud Logs UI를 사용하세요.
매핑 예외를 식별하려면 다음 단계를 완료하세요:
-
로그 수 옆에 있는 아이콘이 있는 IBM Cloud Logs UI를 확인하세요.
매핑 예외 아이콘 아이콘 위에 마우스를 올리면 선택한 기간 내 쿼리 결과에서 매핑 예외가 있는 로그의 수가 표시됩니다.
-
적절하게 인덱싱되지 않은 특정 로그를 식별하려면
Show Mapping errors옵션을 활성화하세요.
매핑 오류를 표시하는 방법 선택 -
이 옵션을 활성화한 후 브라우저를 새로 고칩니다.
매핑 예외가 있고 인덱싱되지 않은 필드에는 느낌표가 표시됩니다.
매핑 예외가 있는 필드 플래깅 매핑 예외가 있는 필드를 빠르게 식별하는 또 다른 방법은
_exists_: coralogix.failed_reason쿼리를 실행하는 것입니다.
매핑 예외를 표시하는 쿼리입니다. 이 쿼리는 선택한 기간에 대한 매핑 예외가 있는 로그 줄만 반환합니다.
매핑 예외를 해결하는 방법은 두 가지가 있습니다.
-
옵션 1: 인덱싱 없이 검색
매핑 예외로 인해 쿼리 시 필드를 찾을 수 없는 경우,
All LogsPriority Insights' 대신 'code1'에서 검색할 수 있습니다.All Logs에서 검색할 때 인덱싱 및 매핑 예외는 검색을 통해 우회됩니다. -
옵션 2: 수집 시 로그 레코드를 수정합니다.
필드 이름은 같지만 데이터 유형이 다른 새 로그 레코드가 수집되는 것을 방지할 수 있습니다.
-
필드 이름을 적절한 접미사로 바꾸려면 RegEx 표현식을 만듭니다. 예를 들어, 다음과 같습니다.
field_obj- IBM Cloud Logs 이 문자열을 기대했지만 객체를 찾은 경우:
- 정규식:
("field"\s*:\s*{) - 바꿀 문자열:
"field_obj":{
- 정규식:
field_arr- IBM Cloud Logs 이 문자열을 기대했지만 배열을 찾은 경우:
- 정규식:
("field"\s*:\s*[) - 바꿀 문자열:
"field_arr":[
- 정규식:
field_str- IBM Cloud Logs 이 객체를 기대했지만 문자열을 찾은 경우:
- 정규식:
("field"\s*:\s*") - 바꿀 문자열:
"field_str":"
- 정규식:
-
RegEx 사용하여 새로운 로그를 수정하기 위한 구문 분석 바꾸기 규칙을 만듭니다.
-