This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.9. Fluentd 정방향 프로토콜을 사용하여 로그 전달
Fluentd 전달 프로토콜을 사용하여 기본 Elasticsearch 로그 저장소 대신 또는 기본 Elasticsearch 로그 저장소 외에 프로토콜을 수락하도록 구성된 외부 로그 집계기로 로그 사본을 보낼 수 있습니다. OpenShift Container Platform에서 로그를 수신하도록 외부 로그 집계기를 구성해야 합니다.
전달 프로토콜을 사용하여 로그 전달을 구성하려면 해당 출력을 사용하는 Fluentd 서버 및 파이프라인에 대한 출력이 하나 이상 있는 ClusterLogForwarder
사용자 정의 리소스(CR)를 생성해야 합니다. Fluentd 출력은 TCP(비보안) 또는 TLS(보안 TCP) 연결을 사용할 수 있습니다.
또는 구성 맵을 사용하여 전달 프로토콜을 사용하여 로그를 전달할 수 있습니다. 그러나 이 방법은 OpenShift Container Platform에서 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
사전 요구 사항
- 지정된 프로토콜 또는 형식을 사용하여 로깅 데이터를 수신하도록 구성된 로깅 서버가 있어야 합니다.
절차
ClusterLogForwarder
CR 오브젝트를 정의하는 YAML 파일을 생성하거나 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarder
CR의 이름은instance
여야 합니다.- 2
ClusterLogForwarder
CR의 네임스페이스는openshift-logging
이어야 합니다.- 3
- 출력 이름을 지정합니다.
- 4
fluentdForward
유형을 지정합니다.- 5
- 유효한 절대 URL로 외부 Fluentd 인스턴스의 URL 및 포트를 지정합니다.
tcp
(비보안) 또는tls
(보안 TCP) 프로토콜을 사용할 수 있습니다. CIDR 주석을 사용하는 클러스터 전체 프록시가 활성화된 경우 출력은 IP 주소가 아닌 서버 이름 또는 FQDN이어야 합니다. - 6
tls
접두사를 사용하는 경우 TLS 통신을 위해 끝점에서 요구하는 시크릿 이름을 지정해야 합니다. 시크릿은openshift-logging
프로젝트에 있어야 하며 해당하는 각 인증서를 가리키는 tls.crt,tls.key 및 ca-bundle.crt 키가 있어야 합니다. 그렇지 않으면 http 및 https 접두사의 경우 사용자 이름 및 암호가 포함된 보안을 지정할 수 있습니다. 자세한 내용은 다음 "예: 사용자 이름과 암호가 포함된 시크릿 설정".- 7
- 선택 사항: 파이프라인의 이름을 지정합니다.
- 8
- 파이프라인을 사용하여 전달할 로그 유형 (
application,
infrastructure
, 또는audit
)을 지정합니다. - 9
- 이 파이프라인으로 로그를 전달할 때 사용할 출력 이름을 지정합니다.
- 10
- 선택 사항: 로그를 내부 Elasticsearch 인스턴스로 전달하려면
default
출력을 지정합니다. - 11
- 선택 사항: 구조화된
필드에서
JSON 오브젝트로 구조화된 JSON 로그 항목을 전달할지 여부를 지정합니다. 로그 항목에 유효한 구조화된 JSON이 포함되어야 합니다. 그렇지 않으면 OpenShift Logging이structured
필드를 제거하고 대신 기본 인덱스인app-00000x
로 로그 항목을 보냅니다. - 12
- 선택 사항: 문자열. 로그에 추가할 하나 이상의 레이블입니다.
- 13
- 선택 사항: 지원되는 유형의 다른 외부 로그 집계기로 로그를 전달하도록 다중 출력을 구성합니다.
- 파이프라인을 설명하는 이름입니다.
-
inputRefs
는 pipeline:application,
infrastructure
또는audit
를 사용하여 전달할 로그 유형입니다. -
outputRefs
는 사용할 출력의 이름입니다. - 선택 사항: 문자열. 로그에 추가할 하나 이상의 레이블입니다.
CR 오브젝트를 생성합니다.
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.9.1. Logstash가 fluentd에서 데이터를 수집할 수 있도록 nanosecond precision 사용 링크 복사링크가 클립보드에 복사되었습니다!
fluentd에서 로그 데이터를 수집하려면 Logstash 구성 파일에서 nanosecond precision을 활성화해야 합니다.
절차
-
Logstash 설정 파일에서
nanosecond_ precision
을true
로 설정합니다.
Logstash 구성 파일 예
input { tcp { codec => fluent { nanosecond_precision => true } port => 24114 } } filter { } output { stdout { codec => rubydebug } }
input { tcp { codec => fluent { nanosecond_precision => true } port => 24114 } }
filter { }
output { stdout { codec => rubydebug } }