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 tls 2 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> name 6 host 7 hostlabel 8 port 9 </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