1.7. 로그 페이로드 및 전달 튜닝


ClusterLogForwarder CR(사용자 정의 리소스)의 tuning 사양은 로그의 처리량 또는 지속성을 우선시하도록 배포를 구성하는 수단을 제공합니다.

예를 들어 수집기가 다시 시작될 때 로그 손실 가능성을 줄여야 하거나 규제 요구 사항을 지원하기 위해 수집기를 다시 시작하여 수집된 로그 메시지가 필요한 경우 로그 지속성을 우선시하도록 배포를 조정할 수 있습니다. 수신할 수 있는 일괄 처리 크기에 대한 하드 제한 사항이 있는 출력을 사용하는 경우 로그 처리량 우선 순위를 지정하도록 배포를 조정할 수 있습니다.

중요

이 기능을 사용하려면 Vector 수집기를 사용하도록 로깅 배포를 구성해야 합니다. Fluentd 수집기를 사용하는 경우 ClusterLogForwarder CR의 튜닝 사양은 지원되지 않습니다.

다음 예제에서는 로그 전달자 출력을 조정하도록 수정할 수 있는 ClusterLogForwarder CR 옵션을 보여줍니다.

ClusterLogForwarder CR 튜닝 옵션의 예

apiVersion: observability.openshift.io/v1
kind: ClusterLogForwarder
metadata:
# ...
spec:
  # ...
  outputs:
  - name: default-lokistack
    type: lokiStack
    lokiStack:
      tuning:
        deliveryMode: AtLeastOnce 
1

        compression: none 
2

        maxWrite: <integer> 
3

        minRetryDuration: 1s 
4

        maxRetryDuration: 1s 
5

# ...
Copy to Clipboard Toggle word wrap

1
로그 전달을 위한 전달 모드를 지정합니다.
  • AtLeastOnce 전송은 로그 전달자가 충돌하거나 재시작되면 크래시 전에 읽히지만 대상에 전송되지 않은 모든 로그가 다시 전송됩니다. 충돌 후 일부 로그가 중복될 수 있습니다.
  • At CryostatOnce 전송은 로그 전달자가 충돌 중에 손실된 로그를 복구하기 위해 아무런 노력을 기울이지 않음을 의미합니다. 이 모드에서는 처리량이 향상되지만 로그 손실이 증가할 수 있습니다.
2
압축 구성을 지정하면 네트워크를 통해 데이터를 전송하기 전에 데이터가 압축됩니다. 모든 출력 유형이 압축을 지원하는 것은 아니며 지정된 압축 유형이 출력에서 지원되지 않는 경우 오류가 발생합니다. 자세한 내용은 "컨트롤링에 지원되는 압축 유형"을 참조하십시오.
3
출력에 대한 단일 전송 작업의 최대 페이로드에 대한 제한을 지정합니다.
4
실패 후 전달을 재시도하기 전에 시도 사이에 대기하는 최소 기간을 지정합니다. 이 값은 문자열이며 밀리초(ms), 초(s) 또는 분(m)으로 지정할 수 있습니다.
5
실패 후 전달을 재시도하기 전에 시도 사이에 대기할 최대 기간을 지정합니다. 이 값은 문자열이며 밀리초(ms), 초(s) 또는 분(m)으로 지정할 수 있습니다.
Expand
표 1.1. 튜닝 출력에 지원되는 압축 유형
압축 알고리즘SplunkAmazon CloudwatchElasticsearch 8LokiStackApache KafkaHTTPSyslogGoogle CloudMicrosoft Azure Monitoring

gzip

X

X

X

X

 

X

   

snappy

 

X

 

X

X

X

   

zlib

 

X

X

  

X

   

zstd

 

X

  

X

X

   

lz4

    

X

    

1.7.1. 여러 줄 예외 탐지 활성화

컨테이너 로그의 여러 줄 오류 감지를 활성화합니다.

주의

이 기능을 활성화하면 성능에 영향을 미칠 수 있으며 추가 컴퓨팅 리소스 또는 대체 로깅 솔루션이 필요할 수 있습니다.

로그 구문 분석기가 별도의 예외와 동일한 예외의 별도의 행을 잘못 식별하는 경우가 많습니다. 이로 인해 추가 로그 항목과 추적된 정보에 대한 불완전하거나 부정확한 보기가 발생합니다.

Java 예외 예

java.lang.NullPointerException: Cannot invoke "String.toString()" because "<param1>" is null
    at testjava.Main.handle(Main.java:47)
    at testjava.Main.printMe(Main.java:19)
    at testjava.Main.main(Main.java:10)
Copy to Clipboard Toggle word wrap

  • 로깅을 사용하여 여러 줄 예외를 감지하고 이를 단일 로그 항목으로 재조정하려면 ClusterLogForwarder 사용자 정의 리소스(CR)에 .spec.filters 아래의 detectMultilineErrors 필드가 포함되어 있는지 확인합니다.

Example ClusterLogForwarder CR

apiVersion: "observability.openshift.io/v1"
kind: ClusterLogForwarder
metadata:
  name: <log_forwarder_name>
  namespace: <log_forwarder_namespace>
spec:
  serviceAccount:
    name: <service_account_name>
  filters:
  - name: <name>
    type: detectMultilineException
  pipelines:
    - inputRefs:
        - <input-name>
      name: <pipeline-name>
      filterRefs:
        - <filter-name>
      outputRefs:
        - <output-name>
Copy to Clipboard Toggle word wrap

1.7.1.1. 세부 정보

로그 메시지가 예외 스택 추적을 형성하는 연속 시퀀스로 표시되면 단일 통합 로그 레코드로 결합됩니다. 첫 번째 로그 메시지의 콘텐츠는 시퀀스의 모든 메시지 필드의 연결된 콘텐츠로 교체됩니다.

수집기는 다음 언어를 지원합니다.

  • Java
  • JS
  • Ruby
  • Python
  • Golang
  • PHP
  • Dart
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat