로그 검색
로그 조회 권한이 없을 경우 해당 메뉴에 진입할 수 없습니다.
홈 화면 > 프로젝트 선택 > 대시보드 > 로그 검색
로그 검색 메뉴에서 통합 수집된 대량의 로그를 다양한 조건으로 검색하고 사용자가 원하는 로그를 특정할 수 있습니다. 복수의 검색 조건을 파싱된 키와 밸류로 지정할 수 있어 원하는 조건에 일치하는 로그 데이터만 추출합니다.
동적 페이지로 검색된 로그 데이터를 정해진 라인 단위로 가져오며, 스크롤 등에 의해 하단에 닿으면 자동으로 다음 데이터를 가져와 표시합니다.
주요 용어는 다음과 같습니다.
- Category: 로그의 수집 및 조회 단위입니다.
- Content: 로그 메시지입니다.
- Search Key: 로그 파서 설정을 통해 생성합니다.
- Tag: 수집된 로그를 검색할 수 있는 검색 키입니다.
데이터 조회하기
-
스크롤이 바닥에 닿으면 다음 데이터를 조회합니다. 한 번에 10,000개의 로그를 조회합니다.
-
로그 테이블 상단 왼쪽에서 조회한 총 로그 개수를 확인할 수 있습니다.
-
로그 데이터를 시간 순과 역순으로 조회할 수 있습니다. 로그 테이블 상단 오른쪽에서 과거 순과 최근 순 중 원하는 조회 방식을 선택하세요.
-
시간 범위 지정 후 적용 버튼을 선택 해 조회 시간을 설정하고 검색 버튼을 선택해 데이터를 조회합니다.
-
로그 테이블 상단 오른쪽 로그 전체 화면 아이콘을 선택하면 로그와 타임스탬프를 전체 화면에서 확인할 수 있습니다.
-
에이전트 옵션이 설정된 경우 로그 레벨을 수집해 로그 레벨 기준 색상이 다음과 같이 표시됩니다.
노트에이전트 옵션 설정
-
에이전트 옵션은 다음과 같습니다.
# 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를 포함할 경우 로그 레벨 색상을 표시합 니다.
-
로그 Content 확인하기
Content란?
Content는 로그 메시지를 의미합니다.
- 로그 컬럼의 첫 번째 줄은 로그의 파싱(parsing)된 키와 값이고 두 번째 줄은 로그의 Content입니다.
-
로그 테이블의 행(로그)마다 더보기 버튼이 있습니다. 더보기 버튼을 선택하면 처럼 해당 로그의 전체 Content를 확인할 수 있습니다.
-
로그의 태그를 선택하면 복사, 검색, 제외 검색, 인접 로그를 검색 할 수 있는 드롭다운 메뉴가 나타납니다.
필터
필터 적용
왼쪽 시간 선택창에서 시간 범위를 지정할 수 있습니다. 오른쪽에서 필터를 적용하면 입력한 조건에 맞는 로그를 필터링합니다. 복수의 필터를 입력할 수 있습니다. 필터의 태그가 같은 경우 OR(||
)로, 그렇지 않은 경우는 AND(&&
)로 적용됩니다.
입력 창에 값을 직접 입력하거나 필터 입력 창을 클릭해 필터를 지정할 수 있습니다. 필터 태그는 검색 키
, 연산자
, 검색 값
의 순서로 입력합니다. 검색 버튼을 선택하면 필터가 적용된 데이터를 영역에서 조회할 수 있습니다.
가이드 UI
다음과 같이 입력 창 아래 가이드 UI를 제공합니다.
검색 키, 연산자, 검색 값 입력
-
검색 키
입력 시 일반 인덱스, 예약어 인덱스, 숫자만 입력할 수 있는 인덱스를 구분해 추천 값을 제공합니다 -
연산자
입력 시 일반 인덱스 검색 키의 경우==
,!=
옵션을 하단에 안내합니다. 숫자만 입력할 수 있는 인덱스의 경우>
,<
,<=
,>=
,==
,!=
옵션을 제공합니다. -
검색 값
입력 시 일치 검색(>
,<
,<=
,>=
,==
)일 때 파란색으로, 제외 검색(!=
)일 때 붉은색으로 하이라이팅합니다. -
검색 값
입력 시 대소문자 구분 옵션을 활용해 검색할 수 있습니다.
필터 태그가 2줄 이상 길어지는 경우 접기 아이콘을 선택해 접어둘 수 있습니다.
필터 태그 추가
-
입력 창에 텍스트를 입력하고 키보드의 Enter, Tab키를 통해 추가할 수 있습니다.
-
입력 창 아래 가이드 UI에서 추천 값을 클릭하여 추가할 수 있습니다.
-
입력 창 아래 가이드 UI에서 키보드의 위아래 방향키로 추천 값을 선택할 수 있고 Enter, Tab키로 태그를 추가할 수 있습니다.
필터 태그 제거
-
Backspace로 삭제할 수 있습니다.
-
태그의 X 아이콘 선택 시 태그를 삭제할 수 있습니다.
-
입력 창의 전체 삭제 X 아이콘 선택 시 전체 태그를 삭제할 수 있습니다.
필터 적용 예외 상황
-
숫자만 입력할 수 있는 인덱스(
.n
으로 끝나는검색 키
)를 입력한 태그에서검색 값
은 숫자만 입력할 수 있습니다. -
중복된
검색 키
,검색 값
은 입력할 수 없습니다. -
검색 키
,검색 값
중 하나라도 없는 태그가 존재할 때 검색할 수 없습니다. 유효하지 않는 태그의 경우 회색으로 표시합니다.
미파싱 키워드 필터 적용
로그에서 파싱되지 않은 즉 인덱스가 생성되지 않은 키워드를 포함한 로그를 조회할 수 있습니다. 이 경우 지정 범위 내 모든 로그를 Full Scan합니다. 그렇기 때문에 인덱스가 생성된 키와 비교해 검색 속도가 다소 떨어질 수 있습니다. 정형화된 로그 데이터의 경우 로그 파서 설정을 통해 인덱스 키 값을 활용해 검색하는 것을 권장합니다.
-
카테고리를 선택하세요. 카테고리 지정이 필수적입니다.
-
필터 입력창에
content
기준 띄어쓰기 후 검색을 원하는 키워드를 입력하세요.예시,
content *select*
-
검색 버튼을 클릭해 로그를 조회하세요. 전체 로그 중 일부 먼저 조회합니다. 1회당 검색 결과는 최대 1만 건입니다.
-
스크롤을 내려 하단의 추가 조회하기 버튼 선택 시 추가 조회할 수 있습니다.
- 전체 로그 중 서버 조회 범위 당 1만 건씩 조회합니다. 서버 조회 범위의 경우 기본 20만 건이지만 전체 로그 양에 따라 비율이 달라질 수 있습니다.
-
파서 설정에 대한 자세한 내용은 다음 문서를 참조하세요.
필터 수정
필터에 값을 입력한 뒤 입력한 값을 클릭하면 해당 값을 수정할 수 있습니다.
-
입력 창에 텍스트 재입력해 수정 할 수 있습니다.
-
입력 창 아래 가이드 UI를 통해 추천 값을 선택해 수정할 수 있습니다.
검색 키(Search Key)
검색 키는 로그 데이터 내에서 원하는 특정 값에 접근하기 위한 식별자를 의미합니다. 검색 키에 해당하는 실제 데이터가 검색 값입니다. 왼쪽 영역에 있는 태그는 카테고리별로 파싱(parsing) 된 검색 키입니다. 태그를 선택하여 필터를 입력할 수 있습니다. 주황색 태그는 카테고리, 파란색 태그는 검색 키입니다.
예를 들어 영역의 AppLog와 AppStdOut은 카테고리, 그 아래 oid와 같은 태그는 파싱(parsing) 된 검색 키입니다. 검색 키는 관리 > 로그 설정의 로그 파서 설정에서 파싱 로직을 등록해 설정할 수 있습니다.
필터 입력 문법
태그는 검색 키와 검색 값으로 구성되어있습니다. 다음의 예시에서 검색 키는 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 |
로그 태그 옵션
로그 태그 선택 시 다음과 같이 드롭다운 메뉴가 나타납니다. 검색, 제외 검색, 인접 로그 옵션을 확인할 수 있습니다.
-
검색
검색 옵션을 선택하면 필터에 해당 태그가 포함('==') 조건으로 입력됩니다.
-
제외 검색
제외 검색 옵션을 선택하면 필터에 해당 태그가 제외('!=') 조건으로 입력됩니다.
-
인접 로그
인접 로그 옵션을 선택하면 인접 로그 상세 창이 나타납니다. 선택한 로그의 서버를 대상으로 선택한 로그와 인접한 시간대의 로그를 조회합니다. 시간 선택 버튼을 클릭해 인접한 시간대의 로그를 조회할 수 있습니다. 기준 로그는 파란색 바탕으로 표시됩니다.
콘텐츠 하이라이트
로그의 콘텐츠 중 원하는 키워드를 손쉽게 식별하기 위해 하이라이트 기능을 제공합니다.
-
키워드 입력창에 하이라이트를 원하는 키워드를 입력 후 검색 아이콘을 클릭하세요.
예시,
select
-
예시 이미지와 같이 로그 목록에서 Content 내 키워드가 하이라이팅 됩니다.
-
단일 또는 복수 키워드로 필터를 걸 수 있습니다.
-
로그 전체 화면 아이콘을 선택하면 로그와 타임스탬프를 전체 화면에서 확인할 수 있습니다.
복수 키워드 조건
복수 키워드로 하이라이팅을 할 경우 다음과 같이 작성합니다.
입력 문자열 | 설명 | 결과 |
---|---|---|
a b c | 띄어쓰기로 각 키워드를 구분합니다. | a, b, c |
"Whatap is good." | 띄어쓰기를 키워드에 포함하고 싶은 경우 '' 또는 "" 로 감쌉니다. | Whatap is good. |
"Whatap\\ is good." | ""로 감싸진 키워드에서 \ 를 포함할 경우, \\ 로 입력해야합니다. | Whatap\ is good. |
하이라이트 색상 설정
하이라이트 아이콘을 선택해 하이라이팅할 키워드 및 색상을 설정할 수 있습니다.
-
추가적으로 색상 설정을 원하는 키워드를 입력창에 입력하세요.
-
입력창 왼쪽 색상 클릭 시 선택할 수 있는 색상 메뉴가 나타납니다.
-
기본적으로 로그 레벨에 따른 하이라이팅(WARN, ERROR, FATAL)이 적용되어 있습니다.
-
설정한 내용은 프로젝트 단위로 저장됩니다.
테이블 설정하기
-
영역 오른쪽 테이블 설정 메뉴는 라이브 테일, 로그 검색기, 로그 트렌드에서 사용할 수 있습니다.
-
테이블 설정 버튼을 선택하면 컬럼 설정과 로그 표시 상세 설정 옵션 메뉴가 나타납니다.
- 컬럼 설정
-
컬럼 추가: 태그를 선택하여 테이블에 컬럼을 추가할 수 있습니다.
-
컬럼 순서 설정: 컬럼을 추가하면 컬럼 순서 설정에 해당 컬럼이 추가됩니다. 원하는 컬럼을 드래그하여 컬럼의 순서를 변경하세요.
노트컬럼 추가 시 log 컬럼 선택을 해제할 경우 로그 표시 상세 설정을 확인할 수 없습니다.
- 로그 표시 상세 설정