7.9. 레거시 Fluentd 방법을 사용하여 로그 전달
Fluentd 전달 프로토콜을 사용하여 구성 파일 및 구성 맵을 생성하여 OpenShift Container Platform 클러스터 외부의 대상으로 로그를 보낼 수 있습니다. OpenShift Container Platform에서 로그 데이터를 수신하도록 외부 로그 집계기를 구성해야 합니다.
이 로그 전달 방법은 OpenShift Container Platform에서 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
Fluentd forward 프로토콜을 사용하여 로그를 보내려면 외부 로그 수집기를 가리키는 secure-forward.conf라는 구성 파일을 생성합니다. 그런 다음 해당 파일을 사용하여 OpenShift Container Platform에서 로그를 전달할 때 사용하는 openshift-logging 프로젝트에서 secure-forward라는 구성 맵을 생성합니다.
사전 요구 사항
- 지정된 프로토콜 또는 형식을 사용하여 로깅 데이터를 수신하도록 구성된 로깅 서버가 있어야 합니다.
샘플 Fluentd 구성 파일
<store>
@type forward
<security>
self_hostname ${hostname}
shared_key "fluent-receiver"
</security>
transport tls
tls_verify_hostname false
tls_cert_path '/etc/ocp-forward/ca-bundle.crt'
<buffer>
@type file
path '/var/lib/fluentd/secureforwardlegacy'
queued_chunks_limit_size "1024"
chunk_limit_size "1m"
flush_interval "5s"
flush_at_shutdown "false"
flush_thread_count "2"
retry_max_interval "300"
retry_forever true
overflow_action "#{ENV['BUFFER_QUEUE_FULL_ACTION'] || 'throw_exception'}"
</buffer>
<server>
host fluent-receiver.example.com
port 24224
</server>
</store>
프로세스
레거시 Fluentd 방법을 사용하여 로그를 전달하도록 OpenShift Container Platform을 구성하려면 다음을 수행하십시오.
secure-forward라는 구성 파일을 생성하고<store>스탠자에서 다음과 유사한 매개변수를 지정합니다.<store> @type forward <security> self_hostname ${hostname} shared_key <key>1 </security> transport tls2 tls_verify_hostname <value>3 tls_cert_path <path_to_file>4 <buffer>5 @type file path '/var/lib/fluentd/secureforwardlegacy' queued_chunks_limit_size "#{ENV['BUFFER_QUEUE_LIMIT'] || '1024' }" chunk_limit_size "#{ENV['BUFFER_SIZE_LIMIT'] || '1m' }" flush_interval "#{ENV['FORWARD_FLUSH_INTERVAL'] || '5s'}" flush_at_shutdown "#{ENV['FLUSH_AT_SHUTDOWN'] || 'false'}" flush_thread_count "#{ENV['FLUSH_THREAD_COUNT'] || 2}" retry_max_interval "#{ENV['FORWARD_RETRY_WAIT'] || '300'}" retry_forever true </buffer> <server> name6 host7 hostlabel8 port9 </server> <server>10 name host </server>- 1
- 노드 간 공유 키를 입력합니다.
- 2
- TLS 유효성 검증을 사용하려면
tls를 지정합니다. - 3
- 서버 인증서 호스트 이름을 확인하려면
true로 설정합니다. 서버 인증서 호스트 이름을 무시하려면false로 설정합니다. - 4
- 사설 CA 인증서 파일의 경로를
/etc/ocp-forward/ca_cert.pem으로 지정합니다. - 5
- 필요에 따라 Fluentd 버퍼 매개변수를 지정합니다.
- 6
- 선택적으로 이 서버의 이름을 입력합니다.
- 7
- 서버의 호스트 이름 또는 IP를 지정합니다.
- 8
- 서버의 호스트 레이블을 지정합니다.
- 9
- 서버의 포트를 지정합니다.
- 10
- 선택적으로 추가 서버를 추가합니다. 둘 이상의 서버를 지정하면 forward는 이러한 서버 노드를 라운드 로빈 순서로 사용합니다.
상호 TLS(mTLS) 인증을 사용하려면 Fluentd 설명서에서 클라이언트 인증서, 키 매개변수 및 기타 설정에 대한 정보를 참조하십시오.
구성 파일에서
openshift-logging프로젝트에secure-forward라는 구성 맵을 생성합니다.$ oc create configmap secure-forward --from-file=secure-forward.conf -n openshift-logging
Red Hat OpenShift Logging Operator는 Fluentd Pod를 재배포합니다. Pod가 재배포되지 않으면 Fluentd Pod를 삭제하여 강제로 재배포할 수 있습니다.
$ oc delete pod --selector logging-infra=fluentd