Как выгрузить логи из Kibana в файл

Допустим, составили вы запрос в Kibana, посмотрели результаты. Их много. Смотреть в браузере их неудобно. Хотелось бы выгрузить их в файл. Так вот. Выгрузить в файл можно, для этого в Discovery в результатах поиска кликните на маленькую стрелочку под графиком:

Появится таблица с вкладками Table, Request, Response, Statistics. Скопируйте содержимое вкладки Request:

Kibana Table, Request, Response, Statistics

Сохраните содержимое вкладки Request в файл “elk.txt”. Откройте его в текстовом редакторе и посмотрите на строчки (здесь показана только часть):

Поменяйте значение у "size"  с 1000 на 10000 (у меня почему-то больше 10000 не давало ставить).

Теперь минимизируем JSON в нашем файле (флаг -c  означает, что мы именно минимизируем):

После этой команды у нас в “elk-minified.txt” должно храниться минимизированное содержимое JSON. Откройте его в вашем текстовом редакторе и добавьте в начало строку с содержимым {}  (ЭТО НУЖНО ОБЯЗАТЕЛЬНО). Получится примерно так:

После выполнения этих процедур мы можем получить полноценных лог из нашей Kibana / Elastic Search с помощью curl:

Здесь у нас:

-H "Content-Type: application/json" — указываем HTTP Content-Type.

--data-binary — файл, из которого читаем запрос.

-H "kbn-xsrf: reporting" — это обязательно нужно, без него будет ошибка: “Request must contain a kbn-xsrf header.

-u admin:password — указываем наш логин и пароль.

--output out.txt — записываем результат в “out.txt”.

Готово. У нас есть результат в “out.txt”. Но он в одну строку и читать его трудно. Преобразуем его в красивый вид:

Теперь у нас в файле “out-pretty.json” содержится выгруженный лог по нашему запросу.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *