Infograb logo
로거 구성

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 심각도 수준을 선택하면 주의 규칙에 의해 warningerror도 적용됩니다.

로그 출력에 대한 기본 형식은 text입니다. 또 다른 사용 가능한 형식은 json으로, Logstash, Loki 또는 기타 로그 집계기와 같은 시스템에서 로그 파싱을 단순화할 수 있습니다.

형식 extra_fields는 로그 출력에 추가해야 하는 추가 필드를 정의합니다:

  • level은 상세도를 저장하는 로그 필드입니다.
  • component는 호출하는 구성 요소를 저장하는 로그 필드입니다.
  • caller는 호출하는 파일과 줄 번호를 저장하는 로그 필드입니다.
  • timestamp는 로그가 발생한 타임스탬프를 저장하는 필드입니다.

systemd 기반 배포판에서는 다음 명령어를 실행하여 로그 출력을 모니터링할 수 있습니다:

teleport install systemd -o /etc/systemd/system/teleport.service
systemctl enable teleport
journalctl -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}
Teleport 원문 보기