使用 Devo Query API:向您所在地区的 /search/query 端点发送 LINQ 查询、时间范围和输出模式,通过 API 令牌或密钥和密钥对进行身份验证。请求 JSON 模式以获取结构化的事件;从原始表中选择消息字段以获取原始行。官方 Python SDK(devo-sdk)封装了相同的 API,如果您更喜欢使用代码而不是 curl。
Devo 在云中存储大量的安全和运营数据,通常具有较长的保留期限。Prime Core 为 Devo 提供了 23,653 条检测规则,映射到 664 个 MITRE ATT&CK 技术。以下是如何提取数据、清理数据并在 LogTotal 中免费调查它。
在开始之前
凭证。 在 Devo 域的凭证设置中创建 API 令牌或 API 密钥和密钥对,并访问您需要的表。
您所在地区的端点。 查询 API 主机取决于您的域所在的地区,例如 apiv2-us.devo.com 或 apiv2-eu.devo.com。
表名。 Devo 将数据组织在表中,如 box.unix 或 firewall.fortinet.traffic。在数据搜索区域找到您的表,然后首先在那里构建查询。
使用查询 API 导出
curl -sS -X POST "https://apiv2-eu.devo.com/search/query"
-H "Authorization: Bearer $DEVO_TOKEN" -H 'Content-Type: application/json'
-d '{
"query": "from box.unix where hostname = "web-03" select eventdate, hostname, message",
"from": 1792368000,
"to": 1792454400,
"mode": {"type": "json/simple"}
}' > devo_web03_1019.json
上面的 from 和 to 值对应于 UTC 时间 2026-10-19 00:00 到 2026-10-20 00:00 的纪元秒。如果响应是每行一个 JSON 对象,则按原样上传。如果是数组,用 jq -c ‘.[]’ 展平。对于原始行,提取消息。
Python 替代方案。 pip install devo-sdk,然后使用 devo.api 包中的 API 客户端及您的令牌、相同的查询和日期。它处理密钥和密钥对认证的请求签名。
在 LogTotal 中上传、清理和审查
- 上传。 打开 logtotal.com 并拖入文件。
- 清理。
- 审查。
当出现问题
| 症状 | 可能的原因 | Fix |
|---|---|---|
| 401 | 错误的令牌,或密钥/密钥对签名问题 | 检查凭证;尝试 SDK,其为您签署请求 |
| 连接错误 | 错误的地区端点 | 使用您域的地区 |
| 结果为空 | 错误的表名,或用毫秒代替秒 | 在数据搜索中检查表;检查时间单位 |
| 输出与预期不同的表 | 模式不匹配您需要的格式 | 选择 JSON 模式 |
FAQ
原始的还是解析的?
对于 syslog 风格的来源,选择消息并上传原始行。对于 JSON 来源,上传已解析的事件。
我可以安排导出吗?
是的,相同的 API 可用于计划任务。对于连续转发,Devo 也有数据导出功能。