Настройка конфигов для обработки логов в Logstash (В разработке)

Разный материал по темер обрабтки логов через Logstash, который я собираю и пробую применить на практике.

Материал по теме.

https://youtu.be/Mma7HKt-mk8 — Logstash Message Parsing with Grok Patterns (Хороший пример раскладки лога от Nginx и демонстрацией результата в Elasticsearch

https://github.com/logstash-plugins/logstash-patterns-core/blob/main/patterns/ecs-v1/grok-patterns

Мануал по grok фильтру — https://www.elastic.co/guide/en/logstash/8.6/plugins-filters-grok.html


Пример парсинга.

Лог.

220.181.108.96 - - [13/Jun/2015:21:14:28 +0000] "GET /blog/geekery/xvfb-firefox.html HTTP/1.1" 200 10975 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"

Паттерн

%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response:int} (?:-|%{NUMBER:bytes:int}) %{QS:referrer} %{QS:agent}

Результат:

{
«request»: «/blog/geekery/xvfb-firefox.html»,
«referrer»: «\»-\»»,
«agent»: «\»Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)\»»,
«auth»: «-«,
«ident»: «-«,
«response»: 200,
«bytes»: 10975,
«clientip»: «220.181.108.96»,
«verb»: «GET»,
«httpversion»: «1.1»,
«timestamp»: «13/Jun/2015:21:14:28 +0000»
}

Добавить комментарий