Назад | Перейти на главную страницу

плавное правильное отображение и индексация @timestamp

Отметка времени в Кибане - это long поле (содержащее временную метку unix) со следующей конфигурацией:

<source>
  @type tail
  path /logs/other_vhosts_access.log
  pos_file /logs/access.log.pos
  tag apache.access
  <parse>
    @type regexp
    # IPv4 only! Matches "GET <url> HTTP/x.x"
    expression ^(?<serveraddress>.*?) (?<clientaddress>.*?) - (?<user>.*?) \[(?<@timestamp>.*?)\] "(?<method>\w+) (?<url>.*?) HTTP\/\d\.\d" (?<status>\d+) (?<bytes>\d+) "(?<referrer>.*?)" "(?<agent>.*?)"$
    time_key @timestamp
    # https://docs.ruby-lang.org/en/2.4.0/Time.html#method-i-strftime
    # 04/Dec/2019:12:35:56 +0100
    time_format %d/%b/%Y:%H:%M:%S %z
    time_key_exclude_timestamp false
    keep_time_key true
    types message:string, status:integer, bytes:integer, @timestamp:time:%d/%b/%Y:%H:%M:%S %z
  </parse>
</source>

Когда я удаляю @timestamp:time:%d/%b/%Y:%H:%M:%S %z, то @timestamp это string но в правильном формате.

Видеть https://docs.fluentd.org/configuration/parse-section

Очевидно, что для правильного использования в Кибане мне нужно datetime поле, а не string или long.

Какие настройки следует использовать в fluentd.conf для этого (я использую fluentd 1.7)?