인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
로거 구성
Teleport 인스턴스의 구성 파일에서 출력 목적지, 심각도 수준 및 출력 형식을 정의하여 로거의 동작을 구성할 수 있습니다.
teleport:
log:
output: stderr
severity: INFO
format:
output: text
extra_fields: [caller, level]
출력 매개변수가 정의되지 않거나 비어 있는 경우, 기본적으로는 stderr
(별칭 err
또는 2
)가 사용됩니다. 출력을 정의할 수 있는 다른 옵션으로는 stdout
(별칭 out
또는 1
), syslog 파일에 기록하는 syslog
, 또는 로그 파일 목적지에 직접 쓰기 위한 파일 경로가 있습니다.
심각도는 여러 수준을 가지며, 우선 순위가 감소하는 순서로 정렬됩니다:
err
,error
- 사용자로부터 조치가 필요한 오류에 사용됩니다.warn
,warning
- 주의가 필요한 비치명적인 항목.info
또는 빈 값 - 애플리케이션 내부에서 발생하는 일반적인 운영 항목.debug
- 보통 디버깅 시에만 활성화되며, 자세한 로깅입니다.trace
- 행동 및 이벤트에 대한 더 자세한 정보를 나타냅니다.
info
심각도 수준을 선택하면 warning
및 error
도 우선 순위 규칙에 따라 적용됩니다.
로그 출력의 기본 형식은 text
입니다. 다른 사용 가능한 형식으로는 json
이 있으며, 이는 Logstash, Loki 또는 다른 로그 집계기와 같은 시스템에서 로그 구문 분석을 단순화할 수 있습니다.
형식 extra_fields
는 로그 출력에 추가해야 하는 필드를 정의합니다:
level
은 상세도를 저장하는 로그 필드입니다.component
는 호출되는 구성 요소를 저장하는 로그 필드입니다.caller
는 호출 파일 및 라인 번호를 저장하는 로그 필드입니다.timestamp
는 로그가 생성된 타임스탬프를 저장하는 필드입니다.
systemd 기반 배포판에서는 다음 명령어를 실행하여 로그 출력을 볼 수 있습니다:
teleport install systemd -o /etc/systemd/system/teleport.servicesystemctl enable teleportjournalctl -fu teleport
로그 회전 지원
로그를 파일로 저장하려면 log.output
구성에 파일 경로를 설정해야 합니다.
teleport:
log:
output: /var/lib/teleport/log/output.log
Teleport가 새 로그 파일을 열거나 생성할 때, 파일 수정 사항을 모니터링하기 위해 백그라운드에서 파일 시스템 감시자가 실행됩니다. 로그 파일 이름이 변경되거나 이동되거나 삭제되면, Teleport는 자동으로 새 파일을 생성합니다. 이는 주요 서비스를 재시작하거나 중단할 필요 없이 로그 회전을 구현하는 데 유용합니다.
예를 들어 logrotate
를 사용하여 매주 Teleport 로그 파일을 회전시키기 위해 다음 구성 /etc/logrotate.d/teleport.conf
를 정의할 수 있습니다:
/var/lib/teleport/log/output.log { weekly compress notifempty}