使用日志搜索 API。发送 LEQL 查询以获取日志和时间窗口,网址为 https://<region>.rest.logs.insight.rapid7.com/query/logs/<log-key> ,将您的 API 密钥放入 X-Api-Key 标头中。API 会分页返回事件,并给出到下一页的链接。UI 中的日志搜索也可以导出结果。
InsightIDR 为 Rapid7 客户收集端点、网络和云日志,通常调查从日志搜索开始。Prime Core 为 InsightIDR 有 23,965 条检测规则,映射到 676 个 MITRE ATT&CK 技术。下面是如何导出日志,清理它们,并在 LogTotal 上免费调查它们的方法。
在您开始之前
一个 API 密钥。 在 Insight 平台设置中创建一个具有 InsightIDR 访问权限的(组织密钥或用户密钥)。
您的地区。 主机取决于您的数据所在位置:us、us2、us3、eu、ca、au、ap。
日志键。 每个日志都有一个键,查询针对其中一个或多个运行。使用 API 列出它们,如下所示。
保留。 日志搜索的回溯时长取决于您的订阅。
使用日志搜索 API 导出
REGION=us
BASE="https://$REGION.rest.logs.insight.rapid7.com"
FROM=$(date -d '2026-10-19T00:00:00Z' +%s000)
TO=$(date -d '2026-10-20T00:00:00Z' +%s000)
Q=$(printf '%s' 'where(hostname=web-03)' | jq -sRr @uri)
# 列出日志及其键
curl -sS -H "X-Api-Key: $R7_KEY" "$BASE/management/logs" | jq -r '.logs[] | "(.id) (.name)"'
# 查询一个日志,跟随页面
URL="$BASE/query/logs/<log-key>?query=$Q&from=$FROM&to=$TO&per_page=500"
while [ -n "$URL" ]; do
RESP=$(curl -sS -H "X-Api-Key: $R7_KEY" "$URL")
echo "$RESP" | jq -c '.events[]?'
URL=$(echo "$RESP" | jq -r '.links[]? | select(.rel == "Next") | .href' | head -1)
done > r7_web03_1019.jsonl
长时间运行的查询可能首先用一个轮询链接而不是结果回答。每个事件的消息字段包含日志条目。源是文本时,用 jq -r ‘.message’ 提取它。
在 LogTotal 上上传、清理和查看
- 上传。 打开 logtotal.com 并拖入文件。
- 清理。 查看结果,然后继续。
- 审查。
这在真实数据上的样子。
当出现错误时
| 症状 | 可能原因 | Fix |
|---|---|---|
| 401 或 403 | 密钥错误,或密钥没有 InsightIDR 访问权限 | 检查密钥的产品访问权限 |
| 连接错误 | 主机名中的地区错误 | 使用您的数据地区 |
| 查询语法错误 | LEQL 未进行 URL 编码 | 对其进行编码,如上面使用 @uri |
| 仅第一个页面 | 未跟随 Next 链接 | 循环直到没有 Next 链接 |
| 没有早于特定日期的记录 | 订阅保留 | 检查您的计划保留 |
FAQ
我可以一次查询多个日志吗?
可以。API 也接受跨多个日志键或日志集的查询。
调查和警报怎么样?
它们有自己的 API。对于 LogTotal,导出其背后的日志事件。