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}