Я использую стек EFK в моем кластере Kubernetes для анализа журналов с контроллера nginx. Хотя я могу указать тип поля в Fluentd, и оно будет правильно отправлено в Elasticsearch, Kibana не распознает поле как числовое.
- elasticsearch: v6.2.5
- kibana-ОСС: 6.2.4
- fluentd-elasticsearch: v2.2.0
Конфигурация Fluentd
<filter kubernetes.var.log.containers.nginx-ingress-controller-**.log>
@type parser
format /(?<remote_addr>[^ ]*) - \[(?<proxy_protocol_addr>[^ ]*)\] - (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<request>[^\"]*) +\S*)?" (?<code>[^ ]*) (?<size>[^ ]*) "(?<referer>[^\"]*)" "(?<agent>[^\"]*)" (?<request_length>[^ ]*) (?<request_time>[^ ]*) \[(?<proxy_upstream_name>[^ ]*)\] (?<upstream_addr>[^ ]*) (?<upstream_response_length>[^ ]*) (?<upstream_response_time>[^ ]*) (?<upstream_status>[^ ]*) (?<upstream_id>[^ ]*)/
time_format %d/%b/%Y:%H:%M:%S %z
key_name log
# Retain the original "log" field after parsing out the data.
reserve_data true
# These get sent to ES as the correct types.
types request_length:integer,request_time:float
</filter>
Они отображаются в документе в виде цифр:
"request_length": 426,
"request_time": 0.007,
Но Кибана все еще называет их строками

Я обновил индекс и даже удалил и заново создал его в Кибане, но все так же.