2017-01-04 6 views
0

Google Cloud Dataprocクラスタでスパークジョブ(スパークストリーミングの多く)を実行しています。google-fluentd:クラウドログの重大度を変更するlog_level

私たちは、クラッシュロギングを使用して、スパークジョブによって生成されたすべてのログを収集しています。 現在、多くの "INFO"メッセージが生成されているため、ログボリューム全体のサイズは数TBになります。

google-fluentdの設定を編集して、ログレベルを「INFO」ではなく「ERROR」レベルに制限します。

は、設定を"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は、Stackdriver Loggingが取り込むフィールドです。

fluentdをseverityの下にERRORから除外するには、gre35フィルタを/etc/google-fluentd/google-fluentd.confに追加して明示的に名前を除外することができます。

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

severityフィールドのレコードをチェックし、値が正規表現と一致した場合に、それを拒否します:以下を追加<match **>ブロックの前にいくつかの時点で

関連する問題