Журналы отправлены с неправильной отметкой времени и игнорируются - PullRequest
0 голосов
/ 07 мая 2019

Я хочу отправить свои журналы Убежища на s3. Исходя из этой проблемы я сделал это:

## vault input
<source>
  @type tail
  path /var/log/vault_audit.log
  pos_file /var/log/td-agent/vault.audit_log.pos
  <parse>
    @type json
  </parse>
  tag s3.vault.audit
</source>

## s3 output
<match s3.*.*>
  @type s3

  s3_bucket vault
  path logs/

  <buffer time>
    @type file
    path /var/log/td-agent/s3
    timekey 30m
    timekey_wait 5m
    chunk_limit_size 256m
  </buffer>

  time_slice_format %Y/%m/%d/%H%M
</match>

Я ожидаю, что мои журналы будут отправляться на S3 каждые 30 минут и форматироваться в каталогах как: logs/2019/05/01/1030

Вместо этого мои журналы отправляются в среднем каждые 2-3 минуты, а формат времени вывода в S3 начинается с эпохи, т. Е. logs/1970/01/01/0030_0.gz

(время правильно установлено в моей системе)

1 Ответ

1 голос
/ 08 мая 2019

Вот пример конфигурации, которая отлично сработала для меня.

Необходимо убедиться, что вы передаете time в буферную секцию, а также пытаетесь указать, какой тип format должен быть явно.

Проверьте, нормально ли работает ваше выражение соответствия, проверив журналы запуска агента.Также попробуйте с <match s3.**>

<match>
  @type s3

  s3_bucket somebucket
  s3_region "us-east-1"
  path "logs/%Y/%m/%d/%H"
  s3_object_key_format "%{path}/%{time_slice}_%{index}.%{file_extension}"
  include_time_key true
  time_format "%Y-%m-%dT%H:%M:%S.%L"

  <buffer tag,time>
    @type file
    path /fluentd/buffer/s3
    timekey_wait 5m
    timekey 30m
    chunk_limit_size 64m
    flush_at_shutdown true
    total_limit_size 256m
    overflow_action block
  </buffer>
  <format>
    @type json
  </format>
  time_slice_format %Y%m%d%H%M%S
</match>
...