我们正在Google云Dataproc群集上运行火花作业(很多火花流)。
我们正在使用云日志记录来收集spark作业生成的所有日志。 目前它正在产生很多" INFO"消息导致整个日志卷的大小为几TB。
我想编辑google-fluentd配置,将日志级别限制为" ERROR"等级而不是" INFO"。
尝试将配置设置为"log_level error"
,但无效。
它也在/etc/google-fluentd/google-fluentd.conf
的评论部分中提及# 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>
答案 0 :(得分:2)
正确。正如评论所述,@log_level
和严重程度不同,这充其量令人困惑。 @log_level
配置组件记录器的详细程度,而severity
是Stackdriver Logging接收的字段。
为了让流利的人排除ERROR下方的任何severity
,您可以向/etc/google-fluentd/google-fluentd.conf
添加一个明确排除这些名称的grep过滤器。
在<match **>
块之前的某个时刻添加以下内容:
<filter raw.tail.**>
@type grep
exclude1 severity (DEBUG|INFO|NOTICE|WARNING)
</filter>
这将检查severity
字段的记录,如果值与正则表达式匹配则拒绝它。