2.3. 입력 수신자 구성


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

2.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가 설치되어 있습니다.

프로세스

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

    ClusterLogForwarder CR의 예

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: <clusterlogforwarder_name> 
    1
    
      namespace: <namespace>
    # ...
    spec:
      serviceAccount:
        name: <service_account_name>
      inputs:
      - name: http-receiver 
    2
    
        type: receiver
        receiver:
          type: http 
    3
    
          port: 8443 
    4
    
          http:
            format: kubeAPIAudit 
    5
    
      outputs:
      - name: <output_name>
        type: http
        http:
          url: <url>
      pipelines: 
    6
    
        - name: http-pipeline
          inputRefs:
            - http-receiver
          outputRefs:
            - <output_name>
    # ...
    Copy to Clipboard Toggle word wrap

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

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 수집기가 < 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 입니다.

검증

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

    $ oc extract cm/openshift-service-ca.crt -n <namespace>
    Copy to Clipboard Toggle word wrap
    참고

    컬렉터가 변경 사항을 실행하는 클러스터의 CA가 변경되는 경우 CA 인증서 파일을 다시 추출해야 합니다.

  2. 예를 들어 다음 명령을 실행하여 로그를 보내 curl 명령을 사용합니다.

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

    <openshift_service_ca.crt>를 추출된 CA 인증서 파일로 바꿉니다.

2.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가 설치되어 있습니다.

프로세스

  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:
      name: <clusterlogforwarder_name> 
    1
    
      namespace: <namespace>
    # ...
    spec:
      serviceAccount:
        name: <service_account_name> 
    2
    
      inputs:
        - name: syslog-receiver 
    3
    
          type: receiver
          receiver:
            type: syslog 
    4
    
            port: 10514 
    5
    
      outputs:
      - name: <output_name>
        lokiStack:
          authentication:
            token:
              from: serviceAccount
          target:
            name: logging-loki
            namespace: openshift-logging
        tls: 
    6
    
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
        type: lokiStack
    # ...
      pipelines: 
    7
    
        - name: syslog-pipeline
          inputRefs:
            - syslog-receiver
          outputRefs:
            - <output_name>
    # ...
    Copy to Clipboard Toggle word wrap

    1 2
    이전 단계에서 collect-infrastructure-logs 권한이 부여된 서비스 계정을 사용합니다.
    3
    입력 수신자의 이름을 지정합니다.
    4
    입력 수신자 유형을 syslog 로 지정합니다.
    5
    선택 사항: 입력 수신자가 수신 대기하는 포트를 지정합니다. 1024 ~65535 사이의 값이어야 합니다.
    6
    TLS 구성이 설정되지 않은 경우 기본 인증서가 사용됩니다. 자세한 내용은 oc explain clusterlogforwarders.spec.inputs.receiver.tls 명령을 실행합니다.
    7
    입력 수신자에 대한 파이프라인을 구성합니다.
  3. 다음 명령을 실행하여 ClusterLogForwarder CR에 변경 사항을 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 수집기가 < 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 입니다.

검증

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

    $ oc extract cm/openshift-service-ca.crt -n <namespace>
    Copy to Clipboard Toggle word wrap
    참고

    컬렉터가 변경 사항을 실행하는 클러스터의 CA가 변경되는 경우 CA 인증서 파일을 다시 추출해야 합니다.

  2. 예를 들어 다음 명령을 실행하여 로그를 보내 curl 명령을 사용합니다.

    $ curl --cacert <openshift_service_ca.crt> collector-syslog-receiver.<namespace>.svc:10514  “test message”
    Copy to Clipboard Toggle word wrap

    <openshift_service_ca.crt>를 추출된 CA 인증서 파일로 바꿉니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat