как получить отсутствующее поле из журнала apache в событие

Я пытаюсь настроить logstash для анализа журналов Apache в пользовательском формате.

Этот фильтр grok работает, за исключением того, что %{URIHOST} не попадает в импортированные данные.

grok {
    match => { "message" => "%{URIHOST} %{COMBINEDAPACHELOG}" }
}

Необработанная строка файла журнала выглядит так:

yards-dev.oursite.org:80 192.168.1.114 - - [15/Apr/2015:10:49:28 -0400] "GET /about-us/chapters/dc HTTP/1.0" 200 8463 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"

Я пытаюсь зафиксировать «yards-dev.oursite.org» в проиндексированном поле.


person brainbuz    schedule 15.04.2015    source источник


Ответы (1)


добавление :fieldname сработало

 match => { "message" => "%{URIHOST:hostname} %{COMBINEDAPACHELOG}" }

Я использовал :hostname, потому что, когда я пытался использовать :host, который уже имеет сопоставление, но в моих данных отображается как 0.0.0.0, мое захваченное значение было добавлено к бесполезному значению.

Есть бесполезные значения, такие как host=0.0.0.0 и значения, которые никогда не заполняются, которые я хотел бы удалить, я думаю, это следующее, что нужно выяснить.

person brainbuz    schedule 15.04.2015