среда, 19 апреля 2017 г.

Splunk. Экспорт событий. CLI.

Приветствую, уважаемый читатель!

Относительно недавно я рассказывал, как можно выгрузить события из Splunk с использованием rest APIhttp://unitybas.blogspot.ru/2016/08/splunk-rest-api.html . Метод этот удобный, но не единственный в Splunk. О нескольких других методах сегодня и поговорим.




Экспорт через web-интерфейс


Начнём с самого простого и бесполезного метода, через web-интерфейс Splunk. После завершения выполнения запроса, станет доступна кнопка экспорта (на рисунке выделена жёлтым). 


 После нажатия, вам будет предложено выгрузить отфильтрованные события в нескольких форматах: csv, xml, json


В экспортируемый файл попадут все поля (fields) того index, source или sourcetype, из которого вы запрашиваете события. Если нужно ограничить набор полей, то можно воспользоваться оператором table, fields или stats.

Outputcsv

Ещё один вариант экспорта событий, это оператор SPL outputcsv. Как понятно из названия, он выгружает события в CSV-файл. В использовании он крайне прост:

sourcetype=Apache_access
| table _time,clientip,uri,method
| outputcsv myexport

После этого, ваши события выгрузятся в файл «myexport» в директории «$SPLUNK_HOME/var/run/splunk/csv». Данный оператор может пригодиться, если необходимо с заданной периодичностью выгружать подозрительные события.

У него есть параметр «append», позволяющий дописывать новые события в тот же файл.
| outputcsv append=true myexport


dump

Ещё одним оператором SPL, предназначенным для выгрузки событий, является dump. Он более умный, чем outputcsv, и позволяет, например, задать степень сжатия (compress) выгружаемых событий. Пример ниже:

sourcetype=Apache_access
| fields +clientip,uri,method

| dump format=raw compress=0 basefilename=Export


В отличие от outputcsv, данный оператор выгружает события в директорию, связанную с конкретным запросом в Splunk.

Например: $SPLUNK_HOME/var/run/splunk/dispatch/1492510091.1525/dump/Export.raw

Но, тут есть важный момент, директория dispatch с определённой периодичностью очищается от старых данных (вроде, по умолчанию раз в час).


CLI

Ещё один способ выгрузить события, воспользоваться интерфейсом командной строки. Для примера выгрузим в консоль события из лога Apache.

./splunk search "sourcetype=Apache_access earliest=01/02/2017:01:00:00 latest=01/04/2017:01:00:00 | table _time,clientip,uri,method"

Основное отличие в написании запроса в CLI и web-интерфейсе явное указание временных ограничителей (earliest, latest).



Для экспорта событий необходимо добавить ключ output и указать формат экспорта (доступные форматы: raw, json, csv, xml).

./splunk search "sourcetype=Apache_access earliest=01/02/2017:01:00:00 latest=01/04/2017:01:00:00 | table _time,clientip,uri,method" -output csv > /tmp/Export.csv



На этом пока всё J



Комментариев нет:

Отправить комментарий