Коротка відповідь: запустіть пошук, натисніть Експорт на панелі інструментів під пошуковим рядком та оберіть Сирі події, CSV or JSON. Для кількох тисяч подій це все, що вам потрібно. Для більших вивантажень пропустіть браузер і використовуйте CLI пошуку splunk або точку експорту REST. Обидва потоково передають результати замість того, щоб змушувати Splunk Web створювати для вас один величезний файл.
Чому взагалі експортувати з Splunk, якщо дані вже індексовані? Зазвичай тому, що хтось поза вашої системою Splunk має їх переглянути: партнер з інцидентного реагування (IR), колега з іншої команди, або ви на ноутбуці без написання SPL протягом години. Prime Core має 23,674 правил виявлення для Splunk, які відповідають 676 технікам MITRE ATT&CK. Це маса логіки виявлення, яку ви можете застосувати до невеликої частини ваших даних, коли вони вже отримані. Нижче наведено, як отримати цю частину, очистити її та безкоштовно дослідити в LogTotal.
Коротко
| Маршрут | Використовуйте його, коли | Що вам потрібно |
|---|---|---|
| Splunk Web → Експорт | Разовий, невеликий експорт, ви вже відкрили пошук | Доступ до індексу для пошуку |
| CLI пошуку splunk | Ви маєте shell на пошуковій голові Splunk Enterprise | Доступ до ОС + облікові дані Splunk |
| REST search/jobs/export | Великі експорти, сценарії або Splunk Cloud | Доступ до порту управління (8089) + токен |
Перш ніж почати
Три речі визначають, який маршрут підходить для вас: де працює ваш Splunk, що ваше роль може шукати, і чи дозволено вам виводити дані.
- Доступ до індексу. Ви можете експортувати лише те, що ваша роль може шукати. Якщо пошук не дає результатів, але ви знаєте, що дані є, перевірте дозволені індекси вашої ролі, перш ніж переписувати SPL. Введіть index= у пошуку явно; не покладайтеся на індекси за замовчуванням.
- Splunk Cloud проти Enterprise. На платформі Splunk Cloud немає оболонки, тому маршрут CLI не підходить. REST API також не ввімкнений за замовчуванням: хтось має запитати доступ для вашої стека, і безкоштовні пробні версії взагалі не можуть його використовувати. Експорт Splunk Web працює всюди.
- Дозвіл на експорт. Сирі журнали містять імена користувачів, імена хостів, внутрішні IP, іноді токени у URL. LogTotal очищує завантаження перед аналізом, але політика обробки даних вашої компанії все ще діє. Отримайте дозвіл спочатку. Це займає п’ять хвилин, і вам захочеться мати його у письмовому вигляді, якщо це переросте в інцидент.
Команди нижче відповідають поточній документації Splunk для Splunk Enterprise і Splunk Cloud Platform, перевіреної в жовтні 2026 року. Посилання на кожну сторінку, яку ми використовували, наведено в кінці.
Крок 1: Обмежте пошук перед експортом
Найпоширеніша помилка – експорт цілого індексу «про всяк випадок». Ви отримуєте файл, який ніхто не бажає відкривати. Визначте, на яке запитання ви відповідаєте, потім уточніть індекс, sourcetype, хост і час:
index=linux sourcetype=linux_secure host=web-03 earliest=-24h@h latest=@h
Для подій безпеки Windows, зібраних додатком Splunk для Windows у режимі XML:
index=wineventlog source="XmlWinEventLog:Security" host=dc-01 earliest=-24h@h latest=@h
Два правила зберігають експорт корисним.
Зберігайте _raw. Якщо пошук закінчується на stats, table або chart, ви експортуєте зведення, а не журнали, і Splunk Web вимикає формат Сирі події. Експортуйте події, а не результати. Якщо ви вибираєте JSON, звужте витягнуті поля, щоб файл не збільшився втричі:
... | fields _time host source sourcetype _raw
Використовуйте абсолютний час, коли це важливо. earliest=-24h означає щось інше кожну хвилину. Якщо Splunk повинен повторно виконати ваш пошук під час експорту (докладніше про це нижче), відносне вікно може повернути дещо інший набір подій. Для усього, що пов’язано з інцидентом, використовуйте точні часові мітки.
Що потрібно знати про дані Windows: Splunk не зберігає оригінальні файли .evtx. Він індексує відображений текст події, XML або класичний формат ключ=значення. Тому ви експортуєте цей текст, а не двійковий EVTX.
Крок 2a: Експорт з Splunk Web
Добре для невеликих, разових експортів, коли пошук вже на вашому екрані.
- Запустіть пошук і дочекайтеся завершення роботи. Експорт працюючого завдання просто дає вам часткову картину.
- Натисніть Експорт (стрілка завантаження) в рядку дій завдання під пошуковим рядком.
- Обрати формат. Сирі події дають вам оригінальні журнальні рядки саме так, як вони були індексовані, що є тим, чого ви хочете для джерел у стилі syslog, таких як linux_secure. JSON зберігають хост, джерело та тип джерела поруч з кожною подією. Це допомагає, коли експорт охоплює кілька хостів.
- Назвіть файл так, щоб ви його впізнали через тиждень, наприклад web-03_sshd_2026-10-19.log.
- Залиште Кількість результатів порожнім, щоб експортувати все, що повернув пошук. Якщо ви введете 500, ви отримаєте перші 500, і нічого вам не покаже, що їх було більше.
- Натисніть Експорт.
Деталь, яка плутає людей: експорт працює з артефактів пошукового завдання, а не з того, що ви бачите у браузері. Якщо Splunk не зберіг кожен результат з завданням, діалогове вікно попереджає, що він перезапустить пошук спочатку. Це нормально. Просто це займає більше часу, саме тому абсолютний діапазон часу з Кроку 1 має значення. Дуже довгі експортування можуть також досягти тайм-ауту сеансу Splunk Web. Якщо експорт триває хвилинами, перейдіть на CLI або REST.
Крок 2b: Експорт з CLI Splunk (лише Enterprise)
Якщо у вас є оболонка на пошуковій голові, це найшвидший маршрут та найпростіший у сценарії. Увійдіть спершу, щоб ваш пароль не потрапив в історію оболонки так, як це могло б статися з -auth:
$SPLUNK_HOME/bin/splunk login
$SPLUNK_HOME/bin/splunk search
'index=linux sourcetype=linux_secure host=web-03 earliest="10/19/2026:00:00:00" latest="10/20/2026:00:00:00"'
-preview 0 -maxout 0 -output rawdata > web-03_sshd.log
Що робить кожен прапорець:
- -maxout 0 знімає обмеження. За замовчуванням CLI експортує 100 подій і зупиняється без попередження. Якщо у вашому файлі рівно 100 рядків, це причина, а не тихий хост.
- -preview 0 не включає результати перегляду в файл.
- -output rawdata записує оригінальні рядки. Використовуйте -output json, якщо ви хочете структуровані події з метаданими.
Ви можете також запустити CLI проти віддаленої пошукової голови за допомогою -uri https://<пошукова-голова>:8089, якщо порт управління доступний з вашого місця.
Два швидкі перевірки розумності перед завантаженням:
wc -l web-03_sshd.log
head -3 web-03_sshd.log
Для джерел з одним рядком, таких як linux_secure, кількість рядків має приблизно відповідати кількості подій, яку відображає Splunk Web для того ж пошуку. Перші рядки мають виглядати як журнальні рядки, а не як повідомлення помилки.
Крок 2c: Потокова передача результатів через REST API
Це маршрут для великих експортів, запланованих вивантажень і Splunk Cloud (якщо доступ до REST увімкнено для вашої стека). Кінцева точка експорту потоково передає результати, поки виконується пошук, тому немає необхідності опитувати завдання і немає результатів, які б потрібно було проходити.
Використовуйте токен автентифікації замість імені користувача і пароля. Ви створюєте його в Налаштування → Токени, якщо ваш адміністратор ввімкнув автентифікацію токенами.
export SPLUNK_TOKEN='<ваш токен>'
curl -sS
-H "Authorization: Bearer $SPLUNK_TOKEN"
https://sh01.example.com:8089/services/search/v2/jobs/export
--data-urlencode search='search index=linux sourcetype=linux_secure host=web-03'
-d earliest_time='2026-10-19T00:00:00.000+00:00'
-d latest_time='2026-10-20T00:00:00.000+00:00'
-d output_mode=raw
-o web-03_sshd.log
Речі, які заплутують людей:
- Рядок пошуку має починатися зі слова search (або генеруючої команди, наприклад | tstats). Вставте ваш запит без нього, і Splunk відхиляє його.
- output_mode=raw дає вам оригінальні рядки, і це найшвидший режим. output_mode=json потоково передає один об’єкт JSON на рядок, із подією під ключем “result”. Якщо ви хочете лише самі події, вилучте обгортку за допомогою jq: jq -c ‘select(.result) | .result’ export.json > events.ndjson. Для завантаження в LogTotal залишайте raw.
- Лабораторні інстанції часто використовують самопідписані сертифікати, і кожна відповідь на Stack Overflow скаже вам додати -k. У виробництві направляйте curl на ваш CA за допомогою –cacert.
- Якщо ви POST на search/v2/jobs і читаєте з /results, сервер обмежує кількість рядків на запит, і ви повинні здійснювати сторінковість з offset. export не дозволяє, що є причиною використати його тут.
Крок 3: Завантажте, очистіть та перегляньте в LogTotal
LogTotal – це безкоштовний сервіс SOC Prime для запуску логіки виявлення на файлі без будь-якої налаштування. Він очищує те, що ви завантажуєте, і не зберігає ваші файли.
- Завантажте. Відкрийте logtotal.com і перетягніть файл з Кроку 2.
- Очистити. Перегляньте його перед тим, як продовжити. Ви краще знаєте своє середовище, ніж будь-яке правило маскування.
- Перегляньте.
Коли експорт йде не так
| Симптом | Імовірна причина | Fix |
|---|---|---|
| CLI файл має рівно 100 подій | Значення за замовчуванням -maxout становить 100 | Додайте -maxout 0 |
| Сирі події недоступні в діалозі експорту | Пошук закінчується перетворюючою командою (stats, table, chart) | Експортуйте події замість цього або виберіть JSON |
| Пошук нічого не повертає, але дані є | Індекс не входить до дозволених або стандартних індексів вашої ролі, або неправильний діапазон часу | Додайте index= явно; запитайте у вашого адміністратора про роль |
| Діалогове вікно каже, що пошук буде виконаний повторно | Артефакт завдання не зберіг кожен результат | Очікувана поведінка; використовуйте абсолютний діапазон часу, щоб повторний запуск повернув ті самі події |
| Браузерний експорт затримується або файл обрізається | Тайм-аут сеансу Splunk Web на тривалому експорті | Перейдіть до CLI або REST |
| 401 Неавторизовано від curl | Токен сплив, відключений або автентифікація токенами вимкнена | Створіть новий токен у Налаштування → Токени |
| curl зависає або отримує відмову в з’єднанні на 8089 | Порт управління заблокований, або REST не ввімкнено на Splunk Cloud | Перевірте правила фаєрволу; запитайте доступ до REST для вашої стека в Cloud |
| REST повертає помилку синтаксису пошуку | Запит не починається зі слова search | Префіксуйте його словами search |
| Файл JSON набагато більший, ніж очікувалося | Кожне витягнуте поле було експортоване | Додайте | fields _time host source sourcetype _raw |
FAQ
Чи можу я експортувати логи з Splunk Cloud?
Так. Експорт через Splunk Web працює так само, як і на Enterprise. Кінцева точка експорту REST працює після того, як доступ до API ввімкнено для вашої стека; безкоштовні пробні версії цього не отримують. CLI не є варіантом, оскільки на Splunk Cloud немає оболонки.
Чи можу я повернути оригінальні EVTX файли з Splunk?
Ні. Splunk зберігає відображені тексти подій, а не двійковий .evtx. Ви можете експортувати цей текст як сирі події або JSON. Для справжніх EVTX файлів експортуйте їх з самого Windows-хоста.
Сирі події або JSON: що мені вибрати для LogTotal?
Сирі. Ви отримуєте ті самі рядки, які зберігаються на хості, і LogTotal читає файли у форматі syslog такими, якими вони є. JSON обгортає кожну подію в свою структуру Splunk. Це зручно, коли вам потрібні хост та sourcetype поруч з кожною подією, але для завантаження в LogTotal raw безпечніший вибір.
Чи безпечно завантажувати експорт Splunk у онлайн-інструмент?
LogTotal очищує завантаження перед аналізом та не зберігає файли.
Скільки подій я можу експортувати?
На боці Splunk, стільки, скільки хочете: залиште “Кількість результатів” порожнім у Splunk Web, або встановіть -maxout 0 у CLI. На практиці, обмеженням є розмір завантаження на іншому кінці. Отже, варто правильно окреслити пошук на Кроці 1.