7.10. 레거시 syslog 방법을 사용하여 로그 전달

syslog RFC3164 프로토콜을 사용하여 구성 파일 및 구성 맵을 생성하여 OpenShift Container Platform 클러스터 외부의 대상으로 로그를 보낼 수 있습니다. OpenShift Container Platform에서 로그를 수신하도록 syslog 서버와 같은 외부 로그 수집기를 구성해야 합니다.

중요

이 로그 전달 방법은 OpenShift Container Platform에서 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.

syslog 프로토콜에는 두 가지 버전이 있습니다.

  • out_syslog: UDP를 통해 통신하는 버퍼 없는 구현은 데이터를 버퍼링하지 않고 결과를 즉시 씁니다.
  • out_syslog_buffered: TCP 및 버퍼를 통해 데이터를 청크로 통신하는 버퍼링된 구현입니다.

syslog 프로토콜을 사용하여 로그를 보내려면 로그를 전달하는 데 필요한 정보와 함께 syslog.conf라는 구성 파일을 생성합니다. 그런 다음 해당 파일을 사용하여 OpenShift Container Platform에서 로그를 전달할 때 사용하는 openshift-logging 프로젝트에 syslog라는 구성 맵을 생성합니다.

사전 요구 사항

  • 지정된 프로토콜 또는 형식을 사용하여 로깅 데이터를 수신하도록 구성된 로깅 서버가 있어야 합니다.

샘플 syslog 구성 파일

<store>
@type syslog_buffered
remote_syslog rsyslogserver.example.com
port 514
hostname ${hostname}
remove_tag_prefix tag
facility local0
severity info
use_record true
payload_key message
rfc 3164
</store>

다음 syslog 매개변수를 구성할 수 있습니다. 자세한 내용은 syslog RFC3164를 참조하십시오.

  • 기능: syslog 기능. 값은 10진수 정수 또는 대소문자를 구분하지 않는 키워드일 수 있습니다.

    • 커널 메시지의 경우 0 또는 kern
    • 사용자 수준 메시지의 경우 1 또는 user, 기본값입니다.
    • 2 또는 mail 시스템용 메일
    • 시스템 데몬의 경우 3 또는 daemon
    • 보안/인증 메시지의 경우 4 또는 auth
    • syslogd에 의해 내부적으로 생성된 메시지의 경우 5 또는 syslog
    • 라인 프린터 하위 시스템의 경우 6 또는 lpr
    • 네트워크 뉴스 서브 시스템의 경우 7 또는 news
    • UUCP 하위 시스템의 경우 8 또는 uucp
    • 시계 데몬의 경우 9 또는 cron
    • 보안 인증 메시지의 경우 10 또는 authpriv
    • FTP 데몬의 경우 11 또는 ftp
    • NTP 하위 시스템의 경우 12 또는 ntp
    • syslog 감사 로그의 경우 13 또는 security
    • syslog 경고 로그의 경우 14 또는 console
    • 스케줄링 데몬의 경우 15 또는 solaris-cron
    • 로컬에서 사용되는 시설의 경우 1623 또는 local0local7
  • payloadKey: syslog 메시지의 페이로드로 사용할 레코드 필드입니다.
  • rfc: syslog를 사용하여 로그를 전송하는 데 사용할 RFC입니다.
  • 심각도: 발신 syslog 레코드에 설정할 syslog 심각도 입니다. 값은 10진수 정수 또는 대소문자를 구분하지 않는 키워드일 수 있습니다.

    • 시스템을 사용할 수 없음을 나타내는 메시지의 경우 0 또는 Emergency
    • 조치를 즉시 취해야 함을 나타내는 메시지의 경우 1 또는 Alert
    • 위험 상태를 나타내는 메시지의 경우 2 또는 Critical
    • 오류 상태를 나타내는 메시지의 경우 3 또는 Error
    • 경고 조건을 나타내는 메시지의 경우 4 또는 Warning
    • 정상이지만 중요한 조건을 나타내는 메시지의 경우 5 또는 Notice
    • 정보성 메시지를 나타내는 메시지의 경우 6 또는 Informational
    • 디버그 수준 메시지를 나타내는 메시지의 경우 7 또는 Debug, 기본값
  • 태그: syslog 메시지에서 태그로 사용할 레코드 필드입니다.
  • trimPrefix: 태그에서 제거할 접두사입니다.

절차

레거시 구성 방법을 사용하여 로그를 전달하도록 OpenShift Container Platform을 구성하려면 다음을 수행하십시오.

  1. syslog.conf라는 구성 파일을 생성하고 <store> 스탠자에서 다음과 유사한 매개변수를 지정합니다.

    <store>
    @type <type> 1
    remote_syslog <syslog-server> 2
    port 514 3
    hostname ${hostname}
    remove_tag_prefix <prefix> 4
    facility <value>
    severity <value>
    use_record <value>
    payload_key message
    rfc 3164 5
    </store>
    1
    사용할 프로토콜을 syslog 또는 syslog_buffered로 지정합니다.
    2
    syslog 서버의 FQDN 또는 IP 주소를 지정합니다.
    3
    syslog 서버의 포트를 지정합니다.
    4
    선택 사항: 적절한 syslog 매개변수를 지정합니다. 예를 들면 다음과 같습니다.
    • syslog 접두사에서 지정된 태그 필드를 제거하기 위한 매개변수입니다.
    • 지정된 필드를 syslog 키로 설정하는 매개변수입니다.
    • syslog 로그 기능 또는 소스를 지정하는 매개변수입니다.
    • syslog 로그 심각도를 지정하는 매개변수입니다.
    • 가능한 경우 레코드에서 심각도 및 기능을 사용하는 매개변수입니다. true인 경우 container_name, namespace_name, pod_name이 출력 콘텐츠에 포함됩니다.
    • syslog 메시지의 페이로드를 설정하기 위한 키를 지정하는 매개변수입니다. 기본값은 message입니다.
    5
    기존 syslog 방법을 사용하여 rfc 값으로 3164를 지정해야 합니다.
  2. 구성 파일에서 openshift-logging 프로젝트에 syslog라는 구성 맵을 생성합니다.

    $ oc create configmap syslog --from-file=syslog.conf -n openshift-logging

Red Hat OpenShift Logging Operator는 Fluentd Pod를 재배포합니다. Pod가 재배포되지 않으면 Fluentd Pod를 삭제하여 강제로 재배포할 수 있습니다.

$ oc delete pod --selector logging-infra=fluentd