Отметка времени в Кибане - это 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)?