从 QRadar 导出历史数据

本文介绍如何从 QRadar 导出历史数据。 完成本文中的步骤后,可以选择引入工具来迁移数据。

Diagram illustrating steps involved in export and ingestion.

若要导出 QRadar 数据,请使用 QRadar REST API 对存储在 Ariel 数据库中的数据运行 Ariel 查询语言 (AQL) 查询。 由于导出过程占用大量资源,因此建议在查询中使用较小的时间范围,并且仅迁移所需的数据。

创建 AQL 查询

  1. 在 QRadar 控制台中,选择“日志活动”选项卡。

  2. 创建新的 AQL 搜索查询或选择保存的搜索查询以导出数据。 确保查询包含用于设置日期和时间范围的 STARTSTOP 函数。

    了解如何使用 AQL 以及如何在 AQL 中保存搜索条件

  3. 复制 AQL 查询以供以后使用。

  4. 将 AQL 查询编码为 URL 编码格式。 将步骤 3 中复制的查询粘贴到解码器中。 复制编码格式输出。

执行搜索查询

可以使用下列方法之一执行搜索查询。

  • QRadar 控制台用户 ID。 若要使用此方法,请确保将用于数据迁移的控制台用户 ID 分配给可以访问导出所需的数据的安全配置文件
  • API 令牌。 若要使用此方法,请在 QRadar 中生成 API 令牌

若要执行搜索查询,请执行以下步骤:

  1. 登录到将从中下载历史数据的系统。 确保此系统可以通过 HTTPS 访问 TCP/443 上的 QRadar 控制台和 QRadar API。

  2. 若要执行检索历史数据的搜索查询,请打开命令提示符并运行下列命令之一:

    • 对于 QRadar 控制台用户 ID 方法,请运行:

      curl -s -X POST -u <enter_qradar_console_user_id> -H 'Version: 12.0' -H 'Accept: application/json' 'https://<enter_qradar_console_ip_or_hostname>/api/ariel/searches?query_expression=<enter_encoded_AQL_from_previous_step>'
      
    • 对于 API 令牌方法,请运行:

      curl -s -X POST -H 'SEC: <enter_api_token>' -H 'Version: 12.0' -H 'Accept: application/json' 'https://<enter_qradar_console_ip_or_hostname>/api/ariel/searches?query_expression=<enter_encoded_AQL_from_previous_step> 
      

      搜索作业执行时间可能会有所不同,具体取决于 AQL 时间范围和查询的数据量。 建议在较小的时间范围内运行查询,并仅查询导出所需的数据。

      输出应返回状态,例如COMPLETEDEXECUTEWAITprogress 值和 search_id 值。 例如:

      Screenshot of the output of the search query command.

  3. 复制“密码”字段中的值search_id。 你将使用此 ID 检查搜索查询执行的进度和状态,并在搜索执行完成后下载结果。

  4. 若要检查搜索的状态和进度,请运行以下命令之一:

    • 对于 QRadar 控制台用户 ID 方法,请运行:

      curl -s -X POST -u <enter_qradar_console_user_id> -H 'Version: 12.0' -H 'Accept: application/json' 'https:// <enter_qradar_console_ip_or_hostname>/api/ariel/searches/<enter_search_id_from_previous_step>' 
      
    • 对于 API 令牌方法,请运行:

      curl -s -X POST -H 'SEC: <enter_api_token>' -H 'Version: 12.0' -H 'Accept: application/json' 'https:// <enter_qradar_console_ip_or_hostname>/api/ariel/searches/<enter_search_id_from_previous_step>' 
      
  5. 查看输出。 如果 status 字段中的值为 COMPLETED,请继续执行下一步。 如果状态不是 COMPLETED,请检查 progress 字段中的值,并在 5-10 分钟后运行步骤 4 中运行的命令。

  6. 查看输出并确保状态为 COMPELETED

  7. 运行以下命令之一,将结果或从 JSON 文件返回的数据下载到当前系统上的文件夹:

    • 对于 QRadar 控制台用户 ID 方法,请运行:

      curl -s -X GET -u <enter_qradar_console_user_id> -H 'Version: 12.0' -H 'Accept: application/json' 'https:// <enter_qradar_console_ip_or_hostname>/api/ariel/searches/<enter_search_id_from_previous_step>/results' > <enter_path_to_file>.json 
      
    • 对于 API 令牌方法,请运行:

      curl -s -X GET -H 'SEC: <enter_api_token>' -H 'Version: 12.0' -H 'Accept: application/json' 'https:// <enter_qradar_console_ip_or_hostname>/api/ariel/searches/<enter_search_id_from_previous_step>/results' > <enter_path_to_file>.json 
      
  8. 若要检索需要导出的数据,请创建 AQL 查询(步骤 1-4)并再次执行查询(步骤 1-7)。 调整时间范围和搜索查询,以获取所需的数据。

后续步骤