라이브 테일
로그 조회 권한이 없을 경우 해당 메뉴에 진입할 수 없습니다.
홈 화면 > 프로젝트 선택 > Log > Live Tail
Live Tail 메뉴에서 서버 콘솔에 접근 없이 모니터링 화면상에서 로그 데이터 스트림을 쉽게 확인할 수 있습니다. 대량의 로그 중 필요한 로그를 선별하고 하이라이트 기능을 통해 원하는 로그를 빠르게 인지할 수 있습니다.
Live Tail 메뉴에서 복잡한 로그들도 손쉽게 접근 가능합니다. 필요에 따라 Filter 혹은 Highlight 등의 기능을 활용해 실시간으로 조회할 수 있습니다. 로그 데이터 조회 주기는 2초입니다.
주요 용어는 다음과 같습니다.
- Category: 로그의 수집 및 조회 단위입니다.
- Content: 로그 메시지입니다.
- Search Key: 로그 파서 설정을 통해 생성합니다.
- Tag: 수집된 로그를 검색할 수 있는 검색 키입니다.
로그 테이블 컬럼 가장자리를 드래그해 컬럼 너비를 수정할 수 있습니다.
에이전트 옵션
에이전트 옵션이 설정된 경우 로그 레벨을 수집해 로그 레벨 기준 색상이 다음과 같이 표시됩니다.
에이전트 옵션 설정
-
에이전트 옵션은 다음과 같습니다.
# 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를 포함할 경우 로그 레벨 색상을 표시합니다.
필터 영역
필터 적용
필터를 적용하면 입력한 조건에 맞는 로그를 필터링합니다. 복수의 필터를 입력할 수 있습니다. 필터의 태그가 같은 경우 OR(||
)로, 그렇지 않은 경우는 AND(&&
)로 적용됩니다.
입력 창에 값을 직접 입력하거나 Filter 입력 창을 클릭해 필터를 지정할 수 있습니다. 필터 태그는 검색 키
, 연산자
, 검색 값
의 순서로 입력합니다. Search 버튼을 선택하면 필터가 적용된 데이터를 영역에서 조회할 수 있습니다.
가이드 UI
다음과 같이 입력 창 아래 가이드 UI를 제공합니다. 입력 창 또는 필터 태그에 마우스 커서가 있을 때 ESC 키를 통해 가이드 UI를 닫을 수 있습니다.
검색 키, 연산자, 검색 값 입력
-
검색 키
입력 시 일반 인덱스, 예약어 인덱스, 숫자만 입력할 수 있는 인덱스를 구분해 추천 값을 제공합니다 -
연산자
입력 시 일반 인덱스 검색 키의 경우==
,!=
옵션을 하단에 안내합니다. 숫자만 입력할 수 있는 인덱스의 경우>
,<
,<=
,>=
,==
,!=
옵션을 제공합니다. -
검색 값
입력 시 일치 검색(>
,<
,<=
,>=
,==
)일 때 파란색으로, 제외 검색(!=
)일 때 붉은색으로 하이라이팅합니다. -
검색 값
입력 시 대소문자 구분 옵션을 활용해 검색할 수 있습니다.
-
필터 태그가 2줄 이상 길어지는 경우 접기 아이콘을 선택해 접어둘 수 있습니다.
-
필터 태그 입력 후 입력 창에서 Shift와 Tab 키를 동시에 사용하여 이전 필터 태그로 이동할 수 있습니다.
-
필터 태그 입력 후 입력 창에서 Tab 키를 통해 다음 필터 태그로 이동할 수 있습니다.
필터 태그 추가
-
입력 창에 텍스트를 입력하고 키보드의 Enter 키 또는 Tab 키를 통해 추가할 수 있습니다.
-
입력 창 아래 가이드 UI에서 추천 값을 클릭하여 추가할 수 있습니다.
-
입력 창 아래 가이드 UI에서 키보드의 위아래 방향키로 추천 값을 선택할 수 있고 Enter, Tab키로 태그를 추가할 수 있습니다.
필터 태그 제거
-
Backspace로 삭제할 수 있습니다.
-
태그의 X 아이콘 선택 시 태그를 삭제할 수 있습니다.
-
입력 창의 전체 삭제 X 아이콘 선택 시 전체 태그를 삭제할 수 있습니다.
필터 즐겨찾기
필터 즐겨찾기 기능을 제공합니다. 입력 창 오른쪽의 즐겨찾기 아이콘을 선택하여 원하는 필터 검색 조건을 즐겨찾기에 추가, 제거 및 기존 즐겨찾기를 선택할 수 있습니다. 즐겨찾기는 최대 50개까지 저장됩니다.
필터 적용 예외 상황
-
숫자만 입력할 수 있는 인덱스(
.n
으로 끝나는검색 키
)를 입력한 태그에서검색 값
은 숫자만 입력할 수 있습니다. -
중복된
검색 키
,검색 값
은 입력할 수 없습니다. -
검색 키
,검색 값
중 하나라도 없는 태그가 존재할 때 검색할 수 없습니다. 유효하지 않는 태그의 경우 회색으로 표시합니다.
-
Live Tail
검색 키
로category
를 입력할 수 없습니다. -
입력된 필터 값 아래에 있는 수식(expression)은 로그 데이터 조회 시 적용될 필터 수식 미리 보기입니다.
미파싱 키워드 필터 적용
로그에서 파싱되지 않은 즉 인덱스가 생성되지 않은 키워드를 포함한 로그를 조회할 수 있습니다. 이 경우 지정 범위 내 모든 로그를 Full Scan합니다. 그렇기 때문에 인덱스가 생성된 키와 비교해 검색 속도가 다소 떨어질 수 있습니다. 정형화된 로그 데이터의 경우 Log parser setting을 통해 인덱스 키 값을 활용해 검색하는 것을 권장합니다.
-
Category를 선택하세요.
-
Filter 입력창에
content
기준 띄어쓰기 후 검색을 원하는 키워드를 입력하세요.예시,
content *select*
-
검색 버튼을 클릭해 로그를 조회하세요.
- Live Tail의 경우 모든 로그 검색이 가능해 카테고리를 지정할 필요가 없습니다.
-
파서 설정에 대한 자세한 내용은 다음 문서를 참조하세요.
필터 수정
필터에 값을 입력한 뒤 입력한 값을 클릭하면 해당 값을 수정할 수 있습니다.
-
입력 창에 텍스트 재입력해 수정할 수 있습니다.
-
입력 창 아래 가이드 UI를 통해 추천 값을 선택해 수정할 수 있습니다.
검색 키(Search Key)
다음 이미지에서 파란색 박스 부분은 파싱(parsing)된 검색 키입니다. 검색 키는 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 | - |
로그 본문 키워드 | content | 로그 본문 | - 키: content - 값: 사용자 입력값 | content: *ERROR* |
Content 검색 키
-
Content 검색 키는 인덱싱되지 않은 로그의 본문을 대상으로 검색합니다. 예를 들어
content *ERROR*
와 같이 입력하는 경우 로그 본문 중ERROR
를 포함한 로그를 검색합니다. -
어떤 키워드로 인덱싱을 걸어야하는지 모르는 경우 Content 검색 키를 활용해 문제가 되는 키워드를 포함한 로그를 식별합니다. 이후 Log Configuration 메뉴의 로그 파서 설정을 통해 해당 키워드로 파서를 설정해 인덱스를 생성하는 방식으로 검색 속도를 향상시킬 수 있습니다.
공통 문법
문법 종류 | 설명 | 예시 |
---|---|---|
==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 아이콘을 클릭하세요.
예시,
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을 공유합니다.