Я пытаюсь справиться с журнал доступа nginx в логсташе.
Чтобы получить точность в миллисекундах для своих временных меток, я использую $msec
переменная. Это означает, что метки времени будут иметь вид 1430832725.814
, где целая часть - это временная метка UNIX, а дробная часть - в миллисекундах. К сожалению, я не могу найти формат даты logstash который может анализировать временные метки UNIX.
Есть ли другой способ заставить nginx вести журнал с точностью до миллисекунды? Или способ заставить фильтр даты logstash анализировать временные метки UNIX?
во-первых, использование фильтра grok для сопоставления поля $ msec с полем вывода
grok {
match => { "message" =>\[%{GREEDYDATA:unix_timestamp}\]
}
затем используя другой фильтр даты, чтобы преобразовать его в поле @timestamp
date {
match => ["unix_timestamp", "UNIX"]
}
Если вы хотите отобразить поля, отличные от @timestamp, обратитесь к Ссылка на Logstash
В UNIX
литерал формата может обрабатывать дробные секунды, поэтому он сможет анализировать $msec
поле.