7.13. 특정 프로젝트의 애플리케이션 로그 전달
Cluster Log Forwarder를 사용하여 특정 프로젝트의 애플리케이션 로그 사본을 외부 로그 수집기로 보낼 수 있습니다. 기본 Elasticsearch 로그 저장소를 사용하여 추가하거나 대신 이 작업을 수행할 수 있습니다. OpenShift Container Platform에서 로그 데이터를 수신하도록 외부 로그 수집기를 구성해야 합니다.
프로젝트의 애플리케이션 로그 전달을 구성하려면 프로젝트에서 하나 이상의 입력, 다른 로그 집계기에 대한 선택적 출력, 이러한 입력 및 출력을 사용하는 파이프라인을 사용하여 ClusterLogForwarder
사용자 정의 리소스(CR)를 생성해야 합니다.
사전 요구 사항
- 지정된 프로토콜 또는 형식을 사용하여 로깅 데이터를 수신하도록 구성된 로깅 서버가 있어야 합니다.
절차
ClusterLogForwarder
CR 오브젝트를 정의하는 YAML 파일을 생성하거나 편집합니다.apiVersion: logging.openshift.io/v1 kind: ClusterLogForwarder metadata: name: instance 1 namespace: openshift-logging 2 spec: outputs: - name: fluentd-server-secure 3 type: fluentdForward 4 url: 'tls://fluentdserver.security.example.com:24224' 5 secret: 6 name: fluentd-secret - name: fluentd-server-insecure type: fluentdForward url: 'tcp://fluentdserver.home.example.com:24224' inputs: 7 - name: my-app-logs application: namespaces: - my-project pipelines: - name: forward-to-fluentd-insecure 8 inputRefs: 9 - my-app-logs outputRefs: 10 - fluentd-server-insecure parse: json 11 labels: project: "my-project" 12 - name: forward-to-fluentd-secure 13 inputRefs: - application - audit - infrastructure outputRefs: - fluentd-server-secure - default labels: clusterId: "C1234"
- 1
ClusterLogForwarder
CR의 이름은instance
여야 합니다.- 2
ClusterLogForwarder
CR의 네임스페이스는openshift-logging
이어야 합니다.- 3
- 출력 이름을 지정합니다.
- 4
- 출력 유형을
elasticsearch
,fluentdForward
,syslog
또는kafka
로 지정합니다. - 5
- 외부 로그 집계기의 URL 및 포트를 유효한 절대 URL로 지정합니다. CIDR 주석을 사용하는 클러스터 전체 프록시가 활성화된 경우 출력은 IP 주소가 아닌 서버 이름 또는 FQDN이어야 합니다.
- 6
tls
접두사를 사용하는 경우 TLS 통신을 위해 끝점에서 요구하는 시크릿 이름을 지정해야 합니다. 시크릿은openshift-logging
프로젝트에 있어야 하며 각각의 인증서를 가리키는 tls.crt, tls.key, 및 ca-bundle.crt 키가 있어야 합니다.- 7
- 지정된 프로젝트에서 애플리케이션 로그를 필터링하기 위한 입력 구성입니다.
- 8
- 입력을 사용하여 프로젝트 애플리케이션 로그를 외부 Fluentd 인스턴스로 보내는 파이프라인 구성입니다.
- 9
my-app-logs
입력입니다.- 10
- 사용할 출력의 이름입니다.
- 11
- 선택 사항: 구조화된 JSON 로그 항목을
structured
필드에서 JSON 오브젝트로 전달할지 여부를 지정합니다. 로그 항목에 유효한 구조화된 JSON이 포함되어야 합니다. 그렇지 않으면 OpenShift Logging이structured
필드를 제거하고 대신 기본 인덱스인app-00000x
로 로그 항목을 보냅니다. - 12
- 선택 사항: 문자열. 로그에 추가할 하나 이상의 레이블입니다.
- 13
- 로그를 다른 로그 집계기로 보내는 파이프라인 구성입니다.
- 선택사항: 파이프라인의 이름을 지정합니다.
-
파이프라인을 사용하여 전달할 로그 유형 (
application,
infrastructure
, 또는audit
)을 지정합니다. - 이 파이프라인으로 로그를 전달할 때 사용할 출력 이름을 지정합니다.
-
선택사항:
default
출력을 지정하여 내부 Elasticsearch 인스턴스로 로그를 전달합니다. - 선택 사항: 문자열. 로그에 추가할 하나 이상의 레이블입니다.
CR 오브젝트를 생성합니다.
$ oc create -f <file-name>.yaml