datadog-logs
Search Datadog logs via API - query syntax, storage tiers (indexes, flex, online-archives), pagination. Use when searching logs or using the dd search-logs command.
When & Why to Use This Skill
This Claude skill enables seamless interaction with the Datadog Logs API, allowing users to search, filter, and analyze log data across various storage tiers including Indexes, Flex, and Online Archives. It streamlines the debugging process by providing direct access to real-time and historical telemetry data, supporting complex query syntax and automated pagination for comprehensive log investigation.
Use Cases
- Incident Response: Rapidly isolate production errors by querying specific service logs with 'status:error' filters to identify root causes during outages.
- Historical Troubleshooting: Access long-retention data in the Flex tier to investigate intermittent issues or security events that occurred weeks or months ago.
- Distributed Tracing: Search for specific UUIDs or Request IDs across multiple microservices to map out transaction flows and identify where failures occur.
- Log Auditing and Compliance: Programmatically fetch logs related to specific user actions or system changes for security audits and compliance reporting.
- Performance Monitoring: Analyze log patterns and frequency of specific events to identify system bottlenecks or abnormal behavior in high-traffic environments.
| name | datadog-logs |
|---|---|
| description | Search Datadog logs via API - query syntax, storage tiers (indexes, flex, online-archives), pagination. Use when searching logs or using the dd search-logs command. |
Datadog Logs API
CLI Command
# Basic search (last 15 minutes)
dd search-logs 'env:prod service:my-service error'
# Custom time range
dd search-logs 'env:prod error' --from now-1h --to now
# Search Flex Logs tier (for archived/long-retention logs)
dd search-logs 'env:prod' --storage-tier flex --from now-30d
# Multi-service search with OR
dd search-logs 'env:prod service:(service-a OR service-b) order-12345' --storage-tier flex
# Fetch all pages
dd search-logs 'env:prod' --all-pages --limit 100
Query Syntax
The query syntax matches Datadog's Log Explorer. Pass it directly to --query:
# Attribute search
env:prod status:error
# Boolean operators
service:(api OR web) AND status:error
# Free text search
"connection timeout"
# Full-text search across all fields
*:order-12345
# Exclusions
env:prod -status:info
Storage Tiers
| Tier | Flag | Use case |
|---|---|---|
indexes |
(default) | Recent, indexed logs |
flex |
--storage-tier flex |
Long-retention logs (30d+) |
online-archives |
--storage-tier online-archives |
Archived logs |
Important: If you don't see results, check if logs are in Flex tier. The Datadog UI has a toggle "Include Flex Logs" - this CLI flag is the equivalent.
Options
| Option | Default | Description |
|---|---|---|
--from |
now-15m |
Start time (e.g., now-1h, now-7d) |
--to |
now |
End time |
--limit |
100 |
Max logs per page |
--storage-tier |
indexes | Storage tier to search |
--all-pages |
false | Fetch up to 50 pages |
Common Patterns
# Search for UUID across services
dd search-logs 'env:prod service:(svc-a OR svc-b) fb13dc8c-8552-429b-b2d9-8897bfdcfb0e' \
--storage-tier flex --from now-30d
# Find errors in last hour
dd search-logs 'env:prod status:error' --from now-1h
# Search specific host
dd search-logs 'env:prod host:web-01 status:error'
API Details
- Endpoint:
POST /api/v2/logs/events/search - Pagination: Cursor-based (
--all-pageshandles this) - Permission: Requires
logs_read_dataon the app key
curl Example
curl -X POST "https://api.$DD_SITE/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 '{
"filter": {
"query": "env:prod status:error",
"from": "now-1h",
"to": "now",
"storage_tier": "flex"
},
"sort": "-timestamp",
"page": {"limit": 100}
}'