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 원문 보기