2.5. 로깅 수집기 구성


Red Hat OpenShift의 로깅은 클러스터에서 작업 및 애플리케이션 로그를 수집하고 Kubernetes Pod 및 프로젝트 메타데이터로 데이터를 강화합니다. 로그 수집기에 대한 지원되는 모든 수정 사항은 ClusterLogForwarder CR(사용자 정의 리소스)의 spec.collection 스탠자를 통해 수행됩니다.

2.5.1. LogFileMetricExporter 리소스 생성

컨테이너를 실행하여 생성된 로그에서 메트릭을 생성하려면 LogFileMetricExporter CR(사용자 정의 리소스)을 생성해야 합니다.

LogFileMetricExporter CR을 생성하지 않으면 OpenShift Container Platform 웹 콘솔 대시보드에 Produced LogsNo datapoints found 메시지가 표시될 수 있습니다.

사전 요구 사항

  • 관리자 권한이 있습니다.
  • Red Hat OpenShift Logging Operator가 설치되어 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  1. LogFileMetricExporter CR을 YAML 파일로 생성합니다.

    LogFileMetricExporter CR 예

    apiVersion: logging.openshift.io/v1alpha1
    kind: LogFileMetricExporter
    metadata:
      name: instance
      namespace: openshift-logging
    spec:
      nodeSelector: {} 
    1
    
      resources: 
    2
    
        limits:
          cpu: 500m
          memory: 256Mi
        requests:
          cpu: 200m
          memory: 128Mi
      tolerations: [] 
    3
    
    # ...
    Copy to Clipboard Toggle word wrap

    1
    선택 사항: nodeSelector 스탠자는 어떤 노드에서 예약된 Pod를 정의합니다.
    2
    resources 스탠자는 LogFileMetricExporter CR에 대한 리소스 요구 사항을 정의합니다.
    3
    선택 사항: tolerations 스탠자는 Pod에서 허용하는 허용 오차를 정의합니다.
  2. 다음 명령을 실행하여 LogFileMetricExporter CR을 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

2.5.2. 로그 수집기 CPU 및 메모리 제한 구성

로그 수집기를 사용하여 CPU 및 메모리 제한을 조정합니다.

프로세스

  • ClusterLogForwarder 사용자 정의 리소스(CR)를 편집합니다.

    $ oc -n openshift-logging edit ClusterLogging instance
    Copy to Clipboard Toggle word wrap
    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: instance
      namespace: openshift-logging
    spec:
      collector:
        resources:
          limits: 
    1
    
            memory: 736Mi
          requests:
            cpu: 100m
            memory: 736Mi
    # ...
    Copy to Clipboard Toggle word wrap
    1
    필요에 따라 CPU 및 메모리 제한 및 요청을 지정합니다. 표시된 값이 기본값입니다.

2.5.3. 입력 수신자 구성

Red Hat OpenShift Logging Operator는 구성된 각 입력 수신자에 대한 서비스를 배포하여 클라이언트가 컬렉터에 쓸 수 있도록 합니다. 이 서비스는 입력 수신자에 지정된 포트를 노출합니다. 로그 전달자 ClusterLogForwarder CR 배포의 경우 서비스 이름은 < clusterlogforwarder_resource_name>-<input_name > 형식으로 되어 있습니다.

2.5.3.1. 감사 로그를 HTTP 서버로 수신하도록 수집기 구성

ClusterLogForwarder CR(사용자 정의 리소스)에서 http 를 수신자 입력으로 지정하여 HTTP 연결만 수신 대기하도록 로그 수집기를 구성할 수 있습니다.

중요

HTTP 수신자 입력은 다음 시나리오에서만 지원됩니다.

  • 로깅은 호스팅된 컨트롤 플레인에 설치됩니다.
  • Red Hat OpenShift Logging Operator와 동일한 클러스터에 설치된 Red Hat 지원 제품에서 로그가 시작된 경우 예를 들면 다음과 같습니다.

    • OpenShift Virtualization

사전 요구 사항

  • 관리자 권한이 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • Red Hat OpenShift Logging Operator가 설치되어 있습니다.
  • ClusterLogForwarder CR을 생성했습니다.

프로세스

  1. http 수신자 입력 구성을 추가하도록 ClusterLogForwarder CR을 수정합니다.

    ClusterLogForwarder CR의 예

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
    # ...
    spec:
      inputs:
      - name: http-receiver 
    1
    
        type: receiver
        receiver:
          type: http 
    2
    
          port: 8443 
    3
    
          http:
            format: kubeAPIAudit 
    4
    
      outputs:
      - name: default-lokistack
        lokiStack:
          authentication:
            token:
              from: serviceAccount
          target:
            name: logging-loki
            namespace: openshift-logging
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
        type: lokiStack
    # ...
      pipelines: 
    5
    
        - name: http-pipeline
          inputRefs:
            - http-receiver
          outputRefs:
            - <output_name>
    # ...
    Copy to Clipboard Toggle word wrap

    1
    입력 수신자의 이름을 지정합니다.
    2
    입력 수신자 유형을 http 로 지정합니다.
    3
    선택 사항: 입력 수신자가 수신 대기하는 포트를 지정합니다. 1024 ~65535 사이의 값이어야 합니다. 기본값은 8443 입니다.
    4
    현재는 http 입력 수신자에 대해 kube-apiserver 웹 후크 형식만 지원됩니다.
    5
    입력 수신자에 대한 파이프라인을 구성합니다.
  2. 다음 명령을 실행하여 ClusterLogForwarder CR에 변경 사항을 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

검증

  1. 다음 명령을 실행하여 수집기가 < clusterlogforwarder_resource_name>-<input_name > 형식에 이름이 있는 서비스에서 수신 대기 중인지 확인합니다.

    $ oc get svc
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)            AGE
    collector                 ClusterIP   172.30.85.239    <none>        24231/TCP          3m6s
    collector-http-receiver   ClusterIP   172.30.205.160   <none>        8443/TCP           3m6s
    Copy to Clipboard Toggle word wrap

    이 예제 출력에서 서비스 이름은 collector-http-receiver 입니다.

  2. 다음 명령을 실행하여 CA(인증 기관) 인증서 파일을 추출합니다.

    $ oc extract cm/openshift-service-ca.crt -n <namespace>
    Copy to Clipboard Toggle word wrap
  3. curl 명령을 사용하여 다음 명령을 실행하여 로그를 보냅니다.

    $ curl --cacert <openshift_service_ca.crt> https://collector-http-receiver.<namespace>.svc:8443 -XPOST -d '{"<prefix>":"<msessage>"}'
    Copy to Clipboard Toggle word wrap

    & lt;openshift_service_ca.crt&gt;를 추출된 CA 인증서 파일로 바꿉니다.

    참고

    확인 단계에 따라 클러스터 내에서만 로그를 전달할 수 있습니다.

2.5.3.2. 연결을 syslog 서버로 수신 대기하도록 수집기 구성

ClusterLogForwarder 사용자 정의 리소스(CR)에서 syslog 를 수신자 입력으로 지정하여 저널 형식 인프라 로그를 수집하도록 로그 수집기를 구성할 수 있습니다.

중요

syslog 수신자 입력은 다음 시나리오에서만 지원됩니다.

  • 로깅은 호스팅된 컨트롤 플레인에 설치됩니다.
  • Red Hat OpenShift Logging Operator와 동일한 클러스터에 설치된 Red Hat 지원 제품에서 로그가 시작된 경우 예를 들면 다음과 같습니다.

    • Red Hat OpenStack Services on OpenShift(RHOSO)
    • OpenShift Virtualization

사전 요구 사항

  • 관리자 권한이 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • Red Hat OpenShift Logging Operator가 설치되어 있습니다.
  • ClusterLogForwarder CR을 생성했습니다.

프로세스

  1. 다음 명령을 실행하여 collect-infrastructure-logs 클러스터 역할을 서비스 계정에 부여합니다.

    바인딩 명령 예

    $ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z logcollector
    Copy to Clipboard Toggle word wrap

  2. ClusterLogForwarder CR을 수정하여 syslog 수신자 입력 구성을 추가합니다.

    ClusterLogForwarder CR의 예

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
    # ...
    spec:
      serviceAccount:
        name: <service_account_name>
      inputs:
        - name: syslog-receiver 
    1
    
          type: receiver
          receiver:
            type: syslog 
    2
    
            port: 10514 
    3
    
      outputs:
      - name: default-lokistack
        lokiStack:
          authentication:
            token:
              from: serviceAccount
          target:
            name: logging-loki
            namespace: openshift-logging
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
        type: lokiStack
    # ...
      pipelines: 
    4
    
        - name: syslog-pipeline
          inputRefs:
            - syslog-receiver
          outputRefs:
            - <output_name>
    # ...
    Copy to Clipboard Toggle word wrap

    1
    입력 수신자의 이름을 지정합니다.
    2
    입력 수신자 유형을 syslog 로 지정합니다.
    3
    선택 사항: 입력 수신자가 수신 대기하는 포트를 지정합니다. 1024 ~65535 사이의 값이어야 합니다.
    4
    입력 수신자에 대한 파이프라인을 구성합니다.
  3. 다음 명령을 실행하여 ClusterLogForwarder CR에 변경 사항을 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 수집기가 < clusterlogforwarder_resource_name>-<input_name > 형식에 이름이 있는 서비스에서 수신 대기 중인지 확인합니다.

    $ oc get svc
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)            AGE
    collector                   ClusterIP   172.30.85.239    <none>        24231/TCP          33m
    collector-syslog-receiver   ClusterIP   172.30.216.142   <none>        10514/TCP          2m20s
    Copy to Clipboard Toggle word wrap

    이 예제 출력에서 서비스 이름은 collector-syslog-receiver 입니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat