로그 내보내기

이 페이지는 인프라 운영자용으로 작성되었습니다.

fluent-bit 추가 출력 구성

로그를 클러스터에서 실행 중인 Loki 외에도 다른 대상으로 내보낼 수 있습니다. 지원되는 대상 목록을 참조하세요. 이 설정을 클러스터별로 또는 전역으로 구성할 수 있습니다.

전역 구성

  1. anthos-management-center 네임스페이스에서 logmon: system_logs 라벨로 configmap을 만듭니다. 추가 출력 구성은 fluent-bit 출력 플러그인과 동일한 구문을 포함하며, data 필드 아래의 output.conf 파일에 추가됩니다. 샘플 구성 파일을 참조하세요.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # The name should match the configmap name specified in step 3.
      name: <customized-system-logs-fluent-bit-output-config>
      # Don't change the namespace
      namespace: anthos-management-center
      labels:
        # This label is required.
        logmon: system_logs
    data:
      # The file name must be output.conf
      output.conf: |
        # Add a customized fluent-bit output plugin configuration here
    
  2. 다음 명령어를 실행하여 명령줄 편집기에서 Observability 커스텀 리소스를 엽니다.

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n anthos-management-center edit observability default
    
  3. Observability 커스텀 리소스에서 spec/logging 필드 아래에 additionalSink 필드를 추가합니다.

    apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
    kind: Observability
    metadata:
      # Don't change the name
      name: default
      # Don't change the namespace
      namespace: anthos-management-center
    spec:
      enabled: true
      logging:
        additionalSink:
          fluentbitConfigMaps:
          # The name should match the configmap name created in step 1.
          - "<customized-system-logs-fluent-bit-output-config>"
          # Scheme: []v1.VolumeMount. Add volumeMounts if necessary
          volumeMounts:
          - ...
          - ...
          # Scheme: []v1.Volume. Add volumes if necessary
          volumes:
          - ...
          - ...
    
  4. 변경사항을 Observability 커스텀 리소스에 저장하려면 명령줄 편집기를 저장하고 종료합니다.

클러스터별 구성

  1. Observability 커스텀 리소스의 spec/logging/additionalSink/clusterSelector/exclude 목록에 클러스터 이름을 추가하여 전역 구성에서 클러스터를 제외합니다.

    apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
    kind: Observability
    metadata:
      # Don't change the name
      name: default
      # Don't change the namespace
      namespace: anthos-management-center
    spec:
      enabled: true
      logging:
        additionalSink:
          clusterSelector:
            exclude:
            - cluster-name
          ...
    
  2. kube-system 네임스페이스에서 logmon: system_logs 라벨로 configmap을 만듭니다. 추가 출력 구성은 fluent-bit 출력 플러그인과 동일한 구문을 포함하며, data 필드 아래의 output.conf 파일에 추가됩니다. 샘플 구성 파일을 참조하세요.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # The name should match the configmap name specified in step 3.
      name: <customized-system-logs-fluent-bit-output-config>
      # Don't change the namespace
      namespace: kube-system
      labels:
        # This label is required.
        logmon: system_logs
    data:
      # The file name must be output.conf
      output.conf: |
        # Add a customized fluent-bit output plugin configuration here
    
  3. 다음 명령어를 실행하여 명령줄 편집기에서 LogMon 커스텀 리소스를 엽니다.

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  4. LogMon 커스텀 리소스에서 spec/system_logs/outputs 필드 아래에 additionalOutput 필드를 추가합니다.

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          additionalOutput:
            fluentbitConfigmaps:
            # The name should match the configmap name created in step 1.
            - "<customized-system-logs-fluent-bit-output-config>"
            # Scheme: []v1.VolumeMount. Add volumeMounts if necessary
            volumeMounts:
            - ...
            - ...
            # Scheme: []v1.Volume. Add volumes if necessary
            volumes:
            - ...
            - ...
    
  5. 변경사항을 LogMon 커스텀 리소스에 저장하려면 명령줄 편집기를 저장하고 종료합니다.