Формат эластичного поиска результата - PullRequest
0 голосов
/ 11 июня 2018

Я использую Elasticsearch для получения нескольких журналов:

http: / localhost: 9200 / collection / _search? Q = type: "log"

Это приносит мне несколько просмотровкак это:

        {
                "_index": "collection",
                "_type": "doc",
                "_id": "UL878GMBYKUUOvfyQJWl",
                "_score": 6.487114,
                "_source": {
                    "@version": "1",
                    "type": "log",
                    "message": "64.242.88.10;[07/Mar/2004:16:11:58 -0800];"GET /twiki/bin/view/TWiki/WikiSyntax HTTP/1.1\"; 200 7352\r",
                    "@timestamp": "2018-06-11T19:03:23.163Z",
                    "host": "logstash",
                    "path": "/opt/access_log.log"
                }
            }

У каждого попадания есть «сообщение», которое похоже на строку из CSV «access_log.log».

Но каждая полезная информация находится внутри "сообщения" как одна большая строка.Поэтому мне нужно как-то извлечь, чтобы идентифицировать IP сервера (например, 64.242.88.10).

Как я могу разделить эту строку "message" используя ";"в качестве регулярного выражения, чтобы я мог получить только те данные, которые мне нужны?

1 Ответ

0 голосов
/ 12 июня 2018

Для этого вы можете использовать плагин фильтра Грока .

Grok - это отличный способ разбить неструктурированные данные журнала на что-то структурированное и запрашиваемое.

Этот инструмент идеально подходит для журналов системного журнала, apache и других журналов веб-сервера, журналов mysql иВ общем, любой формат журнала, который обычно написан для людей, а не для использования на компьютере.

Logstash поставляется с около 120 шаблонами по умолчанию.Вы можете найти их здесь: https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns. Вы можете добавить свой собственный тривиально.(См. Настройку templates_dir)

Если вам нужна помощь в построении шаблонов для соответствия вашим журналам, вы найдете приложения http://grokdebug.herokuapp.com и http://grokconstructor.appspot.com/ весьма полезными!

...