Cloud SIEM działa na bazie Datadog Log Management, więc eksportowanie „logów Cloud SIEM” oznacza eksportowanie logów, które się za nim kryją. Użyj Logs Search API, POST /api/v2/logs/events/search, z kluczem API i kluczem aplikacji, i podążaj za kursorem, dopóki nie będzie kolejnej strony; każda strona zawiera do 1 000 logów. Aby uzyskać historię powyżej okresu retencji indeksu, przeglądaj archiwa logów w S3, GCS lub Azure Storage, lub je reaktywuj. Sygnały bezpieczeństwa to osobne API.
Datadog to miejsce, gdzie wiele zespołów oparte na chmurze już przechowuje swoje logi, co czyni go naturalnym źródłem do analizy. Prime Core ma 23 983 reguły detekcji dla Datadog, przypisane do 676 technik MITRE ATT&CK. Poniżej znajduje się opis, jak pobierać logi, sanować je i analizować za darmo w LogTotal.
Zanim zaczniesz
Dwa klucze. Logs Search API potrzebuje klucza API (DD-API-KEY) i klucza aplikacji (DD-APPLICATION-KEY). Klucz aplikacji musi należeć do użytkownika lub konta usługi, które może odczytywać logi, a jeśli ma zakres, potrzebuje dostępu do odczytu logów.
Twoja strona Datadog. Host API jest zgodny z twoją stroną: api.datadoghq.com (US1), api.us3.datadoghq.com, api.us5.datadoghq.com, api.datadoghq.eu, api.ap1.datadoghq.com i inne. Użyj tych, które pasują do twojego URL logowania.
Retencja. Zindeksowane logi są przeszukiwalne tak długo, jak ich indeks je przechowuje. Starsze logi istnieją tylko w archiwach, jeśli takie skonfigurowałeś.
Eksportuj za pomocą 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
# tylko surowe wiadomości
jq -r '.attributes.message' dd_web03_1019.jsonl > dd_web03_1019.log
API ma ograniczenia prędkości. Dla dużych przedziałów czasowych oczekuj, że to może trochę potrwać, i wycofaj się, gdy zobaczysz 429.
Starsze logi: archiwa
Jeśli skonfigurowałeś archiwa logów, Datadog zapisuje skompresowane pliki JSON do twojego zasobu, zorganizowane według daty i godziny. Pobierz potrzebne godziny i zdekompresuj je:
aws s3 cp s3://my-dd-archive/dt=20261019/ ./dd-archive/ --recursive
zcat ./dd-archive/*/*.json.gz > dd_archive_1019.jsonl
Prześlij, sanite i sprawdź w LogTotal
- Prześlij. Otwórz logtotal.com i wrzuć plik.]
- Sanituj.
- Sprawdź.
Kiedy coś pójdzie nie tak
| Objaw | Prawdopodobna przyczyna | Fix |
|---|---|---|
| 403 Forbidden | Klucz aplikacji nie ma dostępu do odczytu logów | Użyj klucza od użytkownika lub konta usługi, które może odczytywać logi |
| Prawidłowe klucze, brak danych | Zła strona Datadog | Użyj hosta API swojej strony |
| Nic starszego niż kilka dni | Retencja indeksu | Przeczytaj archiwa, lub reaktywuj |
| 429 Too Many Requests | Limit prędkości | Poczekaj, a następnie kontynuuj z tym samym kursorem |
| Tylko 1 000 wyników | Kursor nie podążany | Powtarzaj, aż meta.page.after będzie pusta |
FAQ
Jak eksportować sygnały Cloud SIEM?
Sygnały mają własny endpoint w ramach Security Monitoring API. Dla LogTotal, eksportuj logi za nimi.
A co z logami Flex?
Logi w warstwie Flex są przeszukiwalne w Datadog, ale mogą zachowywać się inaczej w API.