Cloud SIEM працює на базі Datadog Log Management, тому експорт «Cloud SIEM logs» означає експорт логів, які стоять за ним. Використовуйте Logs Search API, POST /api/v2/logs/events/search, з API-ключем і ключем додатка, і продовжуйте стежити за курсором, доки не з’явиться наступна сторінка; кожна сторінка містить до 1 000 логів. Для історії, що перевищує термін збереження вашого індексу, читайте ваші архіви логів у S3, GCS або Azure Storage, або відновлюйте їх. Оповіщення безпеки – окремий API.
Datadog – це місце, де багато хмароорієнтованих команд вже зберігають свої логи, що робить його природним джерелом для зрізу розслідування. Prime Core має 23,983 правила виявлення для Datadog, що відповідають 676 технікам MITRE ATT&CK. Нижче наведено спосіб отримання логів, їх очищення та безкоштовного розслідування в LogTotal.
Перед тим, як почати
Два ключі. Logs Search API потребує API-ключ (DD-API-KEY) і ключ додатка (DD-APPLICATION-KEY). Ключ додатка має належати користувачеві або обліковому запису служби, який може читати логи, і якщо він має область дії, йому потрібен доступ для читання логів.
Ваш сайт Datadog. Хост API відповідає вашому сайту: api.datadoghq.com (US1), api.us3.datadoghq.com, api.us5.datadoghq.com, api.datadoghq.eu, api.ap1.datadoghq.com та інші. Використовуйте той, який відповідає вашій URL-адресі входу.
Збереження. Індексовані логи можна шукати стільки, скільки індекс їх зберігає. Старі логи існують лише в архівах, якщо ви їх налаштували.
Експорт за допомогою Logs Search API
DD="https://api.datadoghq.eu"
BODY='{"filter": {"query": "host:web-03 source:sshd", "from": "2026-10-19T00:00:00Z", "to": "2026-10-20T00:00:00Z"}, "page": {"limit": 1000}, "sort": "timestamp"}'
: > dd_web03_1019.jsonl
CURSOR=""
while :; do
REQ=$(echo "$BODY" | jq --arg c "$CURSOR" 'if $c != "" then .page.cursor = $c else . end')
RESP=$(curl -sS -X POST "$DD/api/v2/logs/events/search"
-H "DD-API-KEY: $DD_API_KEY" -H "DD-APPLICATION-KEY: $DD_APP_KEY"
-H 'Content-Type: application/json' -d "$REQ")
echo "$RESP" | jq -c '.data[]' >> dd_web03_1019.jsonl
CURSOR=$(echo "$RESP" | jq -r '.meta.page.after // empty')
[ -z "$CURSOR" ] && break
done
# тільки сирі повідомлення
jq -r '.attributes.message' dd_web03_1019.jsonl > dd_web03_1019.log
API має обмеження швидкості. Для великих вікон очікуйте, що знадобиться час, і припиніть, коли бачите 429.
Старі логи: архіви
Якщо ви налаштували архіви логів, Datadog записує стиснуті JSON-файли у ваш бак, організовані за датою та годиною. Завантажте потрібні години і розархівуйте їх:
aws s3 cp s3://my-dd-archive/dt=20261019/ ./dd-archive/ --recursive
zcat ./dd-archive/*/*.json.gz > dd_archive_1019.jsonl
Завантажте, очистіть та перегляньте у LogTotal
- Завантажити. Відкрити logtotal.com і додайте файл.
- Очистити.
- Переглянути.
Коли щось йде не так
| Симптом | Ймовірна причина | Fix |
|---|---|---|
| 403 Forbidden | Ключ додатка не має доступу до читання логів | Використовуйте ключ від користувача або облікового запису служби, що може читати логи |
| Дійсні ключі, даних немає | Неправильний сайт Datadog | Використовуйте хост API вашого сайту |
| Немає нічого старше кількох днів | Збереження індексу | Читайте архіви або відновлюйте |
| 429 Too Many Requests | Обмеження швидкості | Почекайте, потім продовжте з тим самим курсором |
| Лише 1,000 результатів | Курсор не було виконано | Цикл до тих пір, поки meta.page.after не порожнє |
FAQ
Як експортувати Cloud SIEM сигнали?
Сигнали мають свою власну кінцеву точку під Security Monitoring API. Для LogTotal експортуйте логи, що їх супроводжують.
А як щодо Flex Logs?
Журнали Flex-tier можна шукати у Datadog, але вони можуть працювати інакше в API.