2017-01-04 3 views
0

Google Cloud Dataproc 클러스터에서 스파크 작업 (스파크 스트리밍 중 상당 부분)을 실행 중입니다.google-fluentd : Cloud Logging의 심각도 변경 log_level

우리는 스파크 작업에 의해 생성 된 모든 로그를 수집하기 위해 클라우드 로깅을 사용하고 있습니다. 현재 전체 로그 볼륨을 몇 TB 크기로 만드는 "INFO"메시지를 많이 생성하고 있습니다.

"INFO"대신 "ERROR"수준으로 로그 수준을 제한하려면 google-fluentd 구성을 편집하고 싶습니다.

은 설정을 "log_level error"으로 설정하려고했지만 작동하지 않았습니다. 는 또한 # Currently severity is a seperate field from the Cloud Logging log_level.

# Fluentd config to tail the hadoop, hive, and spark message log. 
# Currently severity is a seperate field from the Cloud Logging log_level. 
<source> 
    type tail 
    format multi_format 
    <pattern> 
     format /^((?<time>[^ ]* [^ ]*) *(?<severity>[^ ]*) *(?<class>[^ ]*): (?<message>.*))/ 
/etc/google-fluentd/google-fluentd.conf/etc/google-fluentd/google-fluentd.conf/etc/google-fluentd/google-fluentd.conf  time_format %Y-%m-%d %H:%M:%S,%L 
    </pattern> 
    <pattern> 
     format none 
    </pattern> 
    path /var/log/hadoop*/*.log,/var/log/hadoop-yarn/userlogs/**/stderr,/var/log/hive/*.log,/var/log/spark/*.log, 
    pos_file /var/tmp/fluentd.dataproc.hadoop.pos 
    refresh_interval 2s 
    read_from_head true 
    tag raw.tail.* 
</source> 

답변

2

올바른으로 /etc/google-fluentd/google-fluentd.conf의 코멘트 섹션에서 언급했다. 의견에 따르면 @log_level과 심각도는 동일하지 않으므로 혼란 스럽습니다. @log_level은 구성 요소의 로거에 대한 자세한 정보를 구성하지만 severity은 스택 드라이버 로깅에서 사용되는 필드입니다.

fluentd를 severity에서 ERROR 아래로 제외 시키려면 gre35 필터를 /etc/google-fluentd/google-fluentd.conf에 추가하여 명시 적으로 이름을 제외시킵니다.

<filter raw.tail.**> 
    @type grep 
    exclude1 severity (DEBUG|INFO|NOTICE|WARNING) 
</filter> 

severity 필드의 기록을 확인하고 값이 정규식과 일치하는 경우를 거부합니다 다음을 추가 <match **> 블록 전에 어떤 점에서

.