Kubernetes
쿠버네티스 컨테이너와 컨테이너 내부 애플리케이션의 로그를 수집하려면 다음을 확인하세요.
에이전트 업데이트
쿠버네티스 에이전트 1.1.35 버전부터 가능합니다. 업데이트 방법은 다음 문서를 참조하세요.
에이전트 설정 확인
홈 화면 > 프로젝트 선택 > 로그 > 로그 설정
와탭 모니터링 서비스 초기 화면에서 프로젝트를 선택한 다음 프로젝트 메뉴 하위에 로그 > 로그 설정 메뉴를 선택하세요. 에이전트 설정 및 로그 모니터링 활성화 섹션의 에이전트 설정 확인 탭의 안내를 참조해 진행하세요.
컨테이너 로그 수집 활성화
쿠버네티스 컨테이너에 로그를 수집하려면 에이전트 설정 확인 탭에서 로그 설정 적용하기 버튼을 선택하세요.
컨테이너 내부 애플리케이션 로그 수집 활성화
Java 2.1.1, Python 1.2.2 버전부터 가능합니다. 쿠버네티스 컨테이너 상에서 실행되는 애플리케이션의 로그를 수집할 수 있도록 다음을 참조하세요.
-
에이전트 설정 확인 탭 하단의 에이전트 설정 버튼을 선택하세요.
-
애플리케이션 에이전트 설정 메뉴로 이동 후 옵션 작성 창에서 직접 입력을 선택하세요.
-
다음의 에이전트 설정 명령어의 키
logsink_enabled
와 값true
를 입력창에 입력하세요.logsink_enabled=true
-
적용 버튼을 선택하세요. 쿠버네티스 컨테이너 내 애플리케이션의 로그를 수집할 수 있습니다.
로그 모니터링 활성화
홈 화면 > 프로젝트 선택 > 로그 > 로그 설정
로그 모니터링 시작하기 섹션의 로그 모니터링 활성화 탭에서 토글 버튼으로 와탭 로그 모니터링을 활성화 또는 비활성화 할 수 있습니다.
- 토글 버튼을 켜면 로그 모니터링이 활성화됩니다. 활성화한 날부터 15일 동안 무료로 체험하실 수 있습니다.
- 토글 버튼을 끄면 로그 모니터링이 비활성화됩니다. 로그를 더 이상 저장하지 않습니다.
권한
에이전트 설치 후 프로젝트에 대한 수정 권한이 있는 경우에만 로그 모니터링을 활성화할 수 있습니다. 권한에 대한 자세한 내용은 다음 문서를 참조하세요.
쿠버네티스 로그 모니터링 카테고리 안내
쿠버네티스 관련 다양한 로그를 확인할 수 있습니다. 와탭 쿠버네티스에서 제공하는 모니터링 카테고리는 다음과 같습니다. 설정에 따라 중복된 로그 내용이 저장될 수 있으니 반드시 중복 여부를 확인하세요.
카테고리 | 설명 |
---|---|
#K8sEvent |
|
#WhatapEvent |
|
containerStdout |
|
AppLog |
|
containerStdOut 로그 필터 설정
홈 화면 > 프로젝트 선택 > 관리 > 에이전트 설정
쿠버네티스 로그에서 필요한 정보를 선별하기 위한 필터링 옵션을 안내합니다. 필터링을 통해 허용하거나 제외할 로그를 설정할 수 있습니다. 에이전트 설정 메뉴에서 옵션 작성 방식으로 직접 입력을 선택하세요.
로그 네이밍 규칙
쿠버네티스 containerStdOut 로그는 노드의 /var/log/containers/ 경로 하위에 생성됩니다. 다음과 같은 네이밍 규칙을 따르고 있습니다.
<podName>_<namespace>_<containerName>-<containerId>.log
로그 필터 옵션
-
log_filter_enabled bool
기본값
false
로그 필터 사용 여부를 설정합니다.
-
log_filter_allow_list list
허용할 로그의 리스트를 설정합니다. 필터링 적용 시 포함할 항목을 의미합니다.
-
log_filter_deny_list list
제외할 로그의 리스트를 설정합니다. 필터링 적용 시 제외할 항목을 의미합니다.
로그 필터 동작
log_filter_enabled
옵션이 활성화 된 경우에만 로그 필터가 동작합니다. 해당 옵션의 값이 true
로 설정된 상태에서 log_filter_allow_list
및 log_filter_deny_list
를 통해 로그를 선택적으로 수집할 수 있습니다.
로그 필터는 블랙리스트 기반으로 작동합니다. 예를 들어 log_filter_enabled
활성화 후 log_filter_allow_list
옵션에 추가할 항목을 설정하지 않을 경우 기본적으로 모든 컨테이너의 로그 수집이 차단됩니다.
또한 로그 필터는 allow 규칙 보다 deny 규칙의 우선 순위가 높습니다. 동일한 항목이 allow와 deny에 모두 설정된 경우, deny 규칙이 우선 적용되어 해당 로그는 수집되지 않습니다.
로그 필터 예시
단일 네임스페이스 로그 수집
- 허용 log_filter_allow_list
*_infra_*
infra
네임스페이스에 존재하는 모든 컨테이너가 수집 대상으로 특정됩니다.
다중 네임스페이스 로그 수집
- 허용 log_filter_allow_list
*_infra_*, *_monitoring_*
infra
, monitoring
네임스페이스에 존재하는 모든 컨테이너가 수집 대상으로 특정됩니다.
특정 단어를 포함하는 Pod 제외
-
허용 log_filter_allow_list
*_*_*
-
제외 log_filter_deny_list
*prod*_*_*
모든 컨테이너가 수집 대상으로 특정되지만, podName
에 prod
가 포함된 로그는 제외됩니다.
특정 단어를 포함하는 Pod 로그 수집
- 허용 log_filter_allow_list
*prod*_*_*
podName
에 prod
가 포함된 파드의 로그만 수집됩니다.
다중 네임스페이스 로그 수집 및 특정 단어 포함하는 Pod 제외
-
허용 log_filter_allow_list
*_infra_*, *_monitoring_*
-
제외 log_filter_deny_list
*prod*_*_*
infra
, monitoring
네임스페이스의 로그가 수집되고, podName
에 prod
가 포함된 로그는 제외됩니다.
컨테이너 이름 내 특정 단어로 시작하는 컨테이너 로그 제외
- 허용 log_filter_allow_list
*_*_db-*
모든 네임스페이스에서 containerName
이 db
로 시작하는 컨테이너의 로그는 제외됩니다.