2017-01-04 2 views
0

Мы работаем с искровыми работами (партия искровых потоков) в облачных Dataproc-кластерах Google.google-fluentd: изменить серьезность в облачном протоколе log_level

Мы используем облачную регистрацию для сбора всех журналов, созданных работами искры. В настоящее время он генерирует много сообщений «INFO», что приводит к тому, что все объемы журналов составляют несколько ТБ.

Я хочу изменить конфигурацию 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> 

ответ

2

Correct. Как говорится в комментарии, @log_level и серьезность не совпадают, что в лучшем случае запутывает. @log_level конфигурирует многословие для регистратора компонента, тогда как severity - это поле, в которое записывается запись в Stackdriver Logging.

Для того, чтобы сделать флудентификацию без исключений severity ниже ERROR вы можете добавить фильтр grep к /etc/google-fluentd/google-fluentd.conf, который явно не содержит эти имени.

В какой-то момент перед <match **> блока добавить следующее:

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

который проверяет запись на severity поле и отклонить его, если значение совпадает с регулярным выражением.

Смежные вопросы