로그 검색
로그 조회 권한이 없을 경우 해당 메뉴에 진입할 수 없습니다.
홈 화면 > 프로젝트 선택 > Log > Log Search
Log Search 메뉴에서 통합 수집된 대량의 로그를 다양한 조건으로 검색하고 사용자가 원하는 로그를 특정할 수 있습니다. 복수의 검색 조건을 파싱된 키와 밸류로 지정할 수 있어 원하는 조건에 일치하는 로그 데이터만 추출합니다.
동적 페이지로 검색된 로그 데이터를 정해진 라인 단위로 가져오며, 스크롤 등에 의해 하단에 닿으면 자동으로 다음 데이터를 가져와 표시합니다.
주요 용어는 다음과 같습니다.
- Category: 로그의 수집 및 조회 단위입니다.
- Content: 로그 메시지입니다.
- Search Key: 로그 파서 설정을 통해 생성합니다.
- Tag: 수집된 로그를 검색할 수 있는 검색 키입니다.
데이터 조회하기
-
스크롤이 바닥에 닿으면 다음 데이터를 조회합니다. 한 번에 10,000개의 로그를 조회합니다.
-
로그 테이블 상단 왼쪽에서 조회한 총 로그 개수를 확인할 수 있습니다.
-
로그 데이터를 시간 순과 역순으로 조회할 수 있습니다. 로그 테이블 상단 오른쪽에서 Oldest과 Newest 중 원하는 조회 방식을 선택하세요.
-
시간 범위 지정 후 Apply 버튼을 선택 해 조회 시간을 설정하고 Search 버튼을 선택해 데이터를 조회합니다.
-
로그 테이블 상단 오른쪽 Log full screen 아이콘을 선택하면 Log와 Timestamp를 전체 화면에서 확인할 수 있습니다.
-
에이전트 옵션이 설정된 경우 로그 레벨을 수집해 로그 레벨 기준 색상이 다음과 같이 표시됩니다.
Note에이전트 옵션 설정
-
에이전트 옵션은 다음과 같습니다.
# whatap.conf
weaving=log4j-2.17
weaving=logback-1.2.8 -
Java 에이전트 2.2.22 버전 이후부터 위빙 설정에 log4j-2.17 또는 logback-1.2.8 설정 시 사용할 수 있습니다. 에이전트 재시작이 필요합니다.
-
로그 레벨은 파싱된 키워드 중
level
,type
기준으로 판별합니다.level
,type
으로 파싱된 키가 존재하고 파싱 값이 FATAL, CRITICAL, ERROR, WARN, WARNING, INFO를 포함할 경우 로그 레벨 색상을 표시합니다.
Note로그 테이블 컬럼 가장자리를 드래그해 컬럼 너비를 수정할 수 있습니다.
-
로그 Content 확인하기
Content란?
Content는 로그 메시지를 의미합니다.
- 로그 컬럼의 첫 번째 줄은 로그의 파싱(parsing)된 키와 값이고 두 번째 줄은 로그의 Content입니다.
-
로그 테이블의 행(로그)마다 More 버튼이 있습니다. More 버튼을 선택하면 처럼 해당 로그의 전체 Content를 확인할 수 있습니다.
-
로그의 태그를 선택하면 Copy, Search, Exclusion search, Adjacent Log를 검색 할 수 있는 드롭다운 메뉴가 나타납니다.
필터
필터 적용
왼쪽 시간 선택창에서 시간 범위를 지정할 수 있습니다. 오른쪽에서 필터를 적용하면 입력한 조건에 맞는 로그를 필터링합니다. 복수의 필터를 입력할 수 있습니다. 필터의 태그가 같은 경우 OR(||
)로, 그렇지 않은 경우는 AND(&&
)로 적용됩니다.
입력 창에 값을 직접 입력하거나 Filter 입력 창을 클릭해 필터를 지정할 수 있습니다. 필터 태그는 검색 키
, 연산자
, 검색 값
의 순서로 입력합니다. Search 버튼을 선택하면 필터가 적용된 데이터를 영역에서 조회할 수 있습니다.
가이드 UI
다음과 같이 입력 창 아래 가이드 UI를 제공합니다. 입력 창 또는 필터 태그에 마우스 커서가 있을 때 ESC 키를 통해 가이드 UI를 닫을 수 있습니다.
검색 키, 연산자, 검색 값 입력
-
검색 키
입력 시 일반 인덱스, 예약어 인덱스, 숫자만 입력할 수 있는 인덱스를 구분해 추천 값을 제공합니다 -
연산자
입력 시 일반 인덱스 검색 키의 경우==
,!=
옵션을 하단에 안내합니다. 숫자만 입력할 수 있는 인덱스의 경우>
,<
,<=
,>=
,==
,!=
옵션을 제공합니다. -
검색 값
입력 시 일치 검색(>
,<
,<=
,>=
,==
)일 때 파란색으로, 제외 검색(!=
)일 때 붉은색으로 하이라이팅합니다. -
검색 값
입력 시 대소문자 구분 옵션을 활용해 검색할 수 있습니다.
-
필터 태그가 2줄 이상 길어지는 경우 접기 아이콘을 선택해 접어둘 수 있습니다.
-
필터 태그 입력 후 입력 창에서 Shift와 Tab 키를 동시에 사용하여 이전 필터 태그로 이동할 수 있습니다.
-
필터 태그 입력 후 입력 창에서 Tab 키를 통해 다음 필터 태그로 이동할 수 있습니다.
필터 태그 추가
-
입력 창에 텍스트를 입력하고 키보드의 Enter 키 또는 Tab 키를 통해 추가할 수 있습니다.
-
입력 창 아래 가이드 UI에서 추천 값을 클릭하여 추가할 수 있습니다.
-
입력 창 아래 가이드 UI에서 키보드의 위아래 방향키로 추천 값을 선택할 수 있고 Enter, Tab키로 태그를 추가할 수 있습니다.
필터 태그 제거
-
Backspace로 삭제할 수 있습니다.
-
태그의 X 아이콘 선택 시 태그를 삭제할 수 있습니다.
-
입력 창의 전체 삭제 X 아이콘 선택 시 전체 태그를 삭제할 수 있습니다.
필터 즐겨찾기
필터 즐겨찾기 기능을 제공합니다. 입력 창 오른쪽의 즐겨찾기 아이콘을 선택하여 원하는 필터 검색 조건을 즐겨찾기에 추가, 제거 및 기존 즐겨찾기를 선택할 수 있습니다. 즐겨찾기는 최대 50개까지 저장됩니다.
필터 적용 예외 상황
-
숫자만 입력할 수 있는 인덱스(
.n
으로 끝나는검색 키
)를 입력한 태그에서검색 값
은 숫자만 입력할 수 있습니다. -
중복된
검색 키
,검색 값
은 입력할 수 없습니다. -
검색 키
,검색 값
중 하나라도 없는 태그가 존재할 때 검색할 수 없습니다. 유효하지 않는 태그의 경우 회색으로 표시합니다.
미파싱 키워드 필터 적용
로그에서 파싱되지 않은 즉 인덱스가 생성되지 않은 키워드를 포함한 로그를 조회할 수 있습니다. 이 경우 지정 범위 내 모든 로그를 Full Scan합니다. 그렇기 때문에 인덱스가 생성된 키와 비교해 검색 속도가 다소 떨어질 수 있습니다. 정형화된 로그 데이터의 경우 Log parser setting을 통해 인덱스 키 값을 활용해 검색하는 것을 권장합니다.
-
Category를 선택하세요. 카테고리 지정이 필수적입니다.
-
Filter 입력창에
content
기준 띄어쓰기 후 검색을 원하는 키워드를 입력하세요.예시,
content *select*
-
검색 버튼을 클릭해 로그를 조회하세요. 전체 로그 중 일부 먼저 조회합니다. 1회당 검색 결과는 최대 1만 건입니다.
-
스크롤을 내려 하단의 View more 버튼 선택 시 추가 조회할 수 있습니다.
- 전체 로그 중 서버 조회 범위 당 1만 건씩 조회합니다. 서버 조회 범위의 경우 기본 20만 건이지만 전체 로그 양에 따라 비율이 달라질 수 있습니다.
-
파서 설정에 대한 자세한 내용은 다음 문서를 참조하세요.
필터 수정
필터에 값을 입력한 뒤 입력한 값을 클릭하면 해당 값을 수정할 수 있습니다.
-
입력 창에 텍스트 재입력해 수정할 수 있습니다.
-
입력 창 아래 가이드 UI를 통해 추천 값을 선택해 수정할 수 있습니다.
검색 키(Search Key)
검색 키는 로그 데이터 내에서 원하는 특정 값에 접근하기 위한 식별자를 의미합니다. 검색 키에 해당하는 실제 데이터가 검색 값입니다. 왼쪽 영역에 있는 태그는 카테고리별로 파싱(parsing) 된 검색 키입니다. 태그를 선택하여 필터를 입력할 수 있습니다. 주황색 태그는 카테고리, 파란색 태그는 검색 키입니다.
예를 들어 영역의 AppLog와 AppStdOut은 카테고리, 그 아래 oid와 같은 태그는 파싱(parsing) 된 검색 키입니다. 검색 키는 Log > Log Configuration의 Log parser setting 탭에서 파싱 로직을 등록해 설정할 수 있습니다.
필터 입력 문법
태그는 검색 키와 검색 값으로 구성되어있습니다. 다음의 예시에서 검색 키는 exception
, 검색 값은 UnknownHostException
입니다. 해당 예시는 수집한 로그 데이터 중 IP 주소와 도메인 주소가 매칭되지 않아 서버를 호스트에 연결할 수 없을 경우 발생하는 예외(UnknowHostException
)가 포함된 로그 데이터를 조회합니다.
검색 키 종류
검색 키 종류 | 검색 키 포멧 | 의미 | 검색 키와 검색 값 예시 | 검색 예시 |
---|---|---|---|---|
문자열 키워드 | keyword | 파일 이름 | - 키: fileName - 값: /data/whatap/logs/yard.log | fileName:/data/whatap/logs/yard.log |
숫자 키워드 | keyword.n | 응답시간 | - 키: response_time.n - 값: 2945 | response_time.n>=2945 |
예약어 키워드 (사전 정의 키워드) | @keyword | 트랜잭션 ID | - 키: @txid - 값: 85459614215434144 | - |
공통 문법
문법 종류 | 설명 | 예시 |
---|---|---|
==searchValue | 검색 값과 일치하는 로그를 검색합니다. | exception==RuntimeExceptionexception |
!=searchValue | 검색 값을 제외한 로그를 검색합니다. | exception!=RuntimeException |
*searchValue | 검색 값으로 끝나는 로그를 검색합니다. | word==*hello |
searchValue* | 검색 값으로 시작하는 로그를 검색합니다. | word==hello* |
*searchValue* | 검색 값으로 중간에 포함된 로그를 검색합니다. | word==*hello* |
*search*Value* | 검색 값으로 포함된 로그를 검색합니다. | word==*he*llo* |
re:{regexr} | 정규표현식에 매칭되는 로그를 검색합니다. | caller==re:^i\.w\.a\.w\.s\.v\.r\. |
** | 검색 키에 해당하는 모든 로그를 검색합니다. |
검색 키가 숫자 키워드(keyword.n)인 경우 문법
다음의 문법은 검색 키가 keyword.n
형식인 경우에만 지원합니다.
-
검색 값으로는 숫자만 올 수 있습니다.
-
.n
키워드의 값에는 prefix를 붙이지 않습니다..n
이 아닌 키워드는 모두 prefix를 붙여야합니다.예,
+>searchValue
는 유효하지 않습니다.
문법 종류 | 설명 | 예시 |
---|---|---|
>searchValue | 검색 값보다 큰 값이 포함된 로그를 조회합니다. | response_time.n>3000 |
>=searchValue | 검색 값보다 크거나 같은 값이 포함된 로그를 조회합니다. | response_time.n>=3000 |
==searchValue | 검색 값보다 같은 값이 포함된 로그를 조회합니다. | response_time.n==3000 |
!=searchValue | 검색 값보다 다른 값이 포함된 로그를 조회합니다. | response_time.n!=3000 |
<searchValue | 검색 값보다 작은 값이 포함된 로그를 조회합니다. | response_time.n<3000 |
<=searchValue | 검색 값보다 작거나 같은 값이 포함된 로그를 조회합니다. | response_time.n<=3000 |
로그 태그 옵션
로그 태그 선택 시 다음과 같이 드롭다운 메뉴가 나타납니다. Search, Exclusion search, Adjacent Log 옵션을 확인할 수 있습니다.
-
검색
Search 옵션을 선택하면 Filter에 해당 태그가 포함('==') 조건으로 입력됩니다.
-
제외 검색
Exclusion search 옵션을 선택하면 Filter에 해당 태그가 제외('!=') 조건으로 입력됩니다.
-
인접 로그
Adjacent Log 옵션을 선택하면 Adjacent Log 상세 창이 나타납니다. 선택한 로그의 서버를 대상으로 선택한 로그와 인접한 시간대의 로그를 조회합니다. Time selector 버튼을 클릭해 인접한 시간대의 로그를 조회할 수 있습니다. 기준 로그는 파란색 바탕으로 표시됩니다.
콘텐츠 하이라이트
로그의 콘텐츠 중 원하는 키워드를 손쉽게 식별하기 위해 하이라이트 기능을 제공합니다.
-
키워드 입력창에 하이라이트를 원하는 키워드를 입력 후 Search 아이콘을 클릭하세요.
예시,
select
-
예시 이미지와 같이 로그 목록에서 Content 내 키워드가 하이라이팅 됩니다.
-
단일 또는 복수 키워드로 필터를 걸 수 있습니다.
-
Log full screen 아이콘을 선택하면 Log와 Timestamp를 전체 화면에서 확인할 수 있습니다.
복수 키워드 조건
복수 키워드로 하이라이팅을 할 경우 다음과 같이 작성합니다.
입력 문자열 | 설명 | 결과 |
---|---|---|
a b c | 띄어쓰기로 각 키워드를 구분합니다. | a, b, c |
"Whatap is good." | 띄어쓰기를 키워드에 포함하고 싶은 경우 '' 또는 "" 로 감쌉니다. | Whatap is good. |
"Whatap\\ is good." | ""로 감싸진 키워드에서 \ 를 포함할 경우, \\ 로 입력해야합니다. | Whatap\ is good. |
하이라이트 색상 설정
Highlight 아이콘을 선택해 하이라이팅할 키워드 및 색상을 설정할 수 있습니다.
-
추가적으로 색상 설정을 원하는 키워드를 입력창에 입력하세요.
-
입력창 왼쪽 색상 클릭 시 선택할 수 있는 색상 메뉴가 나타납니다.
-
기본적으로 로그 레벨에 따른 하이라이팅(WARN, ERROR, FATAL)이 적용되어 있습니다.
-
설정한 내용은 프로젝트 단위로 저장됩니다.
테이블 설정하기
Column settings
영역 오른쪽에서 Column settings 버튼을 선택하세요. 컬럼을 추가하거나 순서를 설정할 수 있습니다.
-
컬럼 추가
태그를 선택하여 테이블에 컬럼을 추가할 수 있습니다. log 컬럼 선택을 해제할 경우 Log view detail setting을 확인할 수 없습니다. 반드시 한 개 이상의 컬럼을 선택하세요.
-
컬럼 순서 설정
컬럼을 추가하면 Display columns에 해당 컬럼이 추가됩니다. 원하는 컬럼을 드래그하여 컬럼의 순서를 변경하세요.
Log view detail setting
영역 오른쪽에서 Log view detail setting 버튼을 선택하세요. 기본으로 content, Tag 모두 체크가 되어있으며 두 가지 항목 모두 표시합니다. content와 Tag 중 하나는 반드시 선택하세요.
체크가 해제된 항목은 테이블에 표시되지 않습니다. 다음과 같이 Tag를 해제할 경우 테이블에서 로그의 Tag는 표시되지 않습니다.
Tag management 목록에 태그를 추가하면 추가한 순서대로 로그의 태그가 나열됩니다. 태그의 순서는 드래그하여 변경할 수 있습니다. 추가한 태그를 비활성화하면 비활성화한 태그는 로그의 태그에 노출되지 않습니다.
-
Column settings과 Log view detail setting은 Live Tail, Log Search, Log Trend 메뉴에서 사용할 수 있습니다.
-
동일한 프로젝트 내 Live Tail, Log Search, Log Trend 메뉴는 Column settings과 Log view detail setting을 공유합니다.