You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Graylog中执行curl命令通过Export API导出CSV日志

Graylog通过curl调用API导出CSV日志的操作方法

API入口定位路径

  • 登录Graylog实例后,点击顶部导航栏最右侧的System菜单,下拉选择API Browser,这就是全量API的交互式入口,所有日志导出相关接口都可在此查询,无需单独寻找独立的Export功能模块。
  • 进入API Browser后,可直接在顶部搜索框输入csv关键词快速过滤导出相关接口,也可展开Search分组查找:5.x及以上版本CSV导出核心接口归属该分组,点击对应接口的「Show/Hide」按钮即可查看完整的请求方法、路径、参数说明,页面支持在线填参调试,调试通过后可直接复制自动生成的curl命令使用。

版本差异提示:4.x及更早版本的CSV导出接口路径前缀略有不同,优先用关键词搜索定位即可,无需手动遍历全量接口列表。

curl调用说明

curl命令无需在Graylog GUI内执行,直接在本地终端、自有服务器的命令行环境发起请求到Graylog服务端即可,核心配置要求如下:

  • 鉴权配置:请求头必须携带合法鉴权信息,可选择两种方式:一是通过账号密码生成Basic Auth鉴权串,二是在Graylog个人设置页生成专属API Token,使用Token鉴权安全性更高。
  • 必填请求参数:
    • 时间范围:支持传UTC格式的绝对起止时间,也支持传秒级数值的相对时间范围,和GUI时间选择器的规则完全一致
    • 查询条件:query字段传入和GUI搜索框完全一致的查询语法即可
    • 格式声明:指定导出格式为csv,可额外通过fields参数指定需要导出的字段,减少冗余数据
  • 基础curl调用模板:
curl -X POST "http://<你的Graylog实例访问地址>/api/search/messages/csv" \
  -H "Authorization: Basic <你的鉴权串/API Token>" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "<你的日志查询语句>",
    "from": "<时间范围起始UTC时间,例:2024-05-01T00:00:00.000Z>",
    "to": "<时间范围结束UTC时间,例:2024-05-01T01:00:00.000Z>",
    "fields": "timestamp,source,message,log_level,service_name",
    "limit": 100000
  }' --output <导出文件存储路径,例:./20240501_00.csv>

批量按小时间隔导出的实现方式

针对3天周期每1小时切片导出的需求,无需手动修改参数重复操作,写简单的shell循环即可自动完成全量导出与归档:

  1. 计算好3天周期的起始、结束UTC时间戳
  2. 编写循环逻辑,每次请求的时间窗口向后偏移3600秒,自动按时间规则生成导出文件名
  3. 循环调用上述curl命令,导出完成后文件自动按时间命名存储,无需手动整理

踩坑提示:如果单小时日志量较大,记得调大limit参数的数值,避免返回日志被截断;如果单窗口日志量超过接口单次返回上限,可改用滚动导出接口分批拉取。

内容的提问来源于stack exchange,提问作者sruju333

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 05:45:07