下载日志

更新时间:2024-12-24 08:14

日志服务支持将日志或查询分析结果下载到本地,本文介绍下载方式及操作步骤。

下载方式说明

日志服务提供控制台、Cloud Shell、日志服务CLI或SDK下载方式下载日志或查询分析结果。

重要
  • 日志服务CLI或SDK下载方式无数量限制,但可能由于网络等不确定因素,出现下载中断问题。

  • 仅控制台方式支持压缩下载。

  • 若当前Logstore的计费模式为按写入数据量计费时,下载查询和分析结果(SQL结果)时不产生费用。具体内容,可参见按写入数据量计费

  • 若当前Logstore的计费模式为按使用功能计费时,下载查询和分析结果(SQL结果)时,会使用SQL独享版,因此会产生SQL独享版相关的费用。费用说明,请参见按使用功能计费模式计费项

比较项

通过控制台直接下载(推荐)

通过命令行工具(CLI)下载

通过Cloud Shell下载

通过SDK下载

比较项

通过控制台直接下载(推荐)

通过命令行工具(CLI)下载

通过Cloud Shell下载

通过SDK下载

数据量限制

  • 仅查询:华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)和新加坡地域最多支持下载2000万行数据,其他地域最多支持下载100万行数据。数据量不超过20 GB。

  • SQL分析:最多支持下载100万行数据。数据量不超过2GB。

  • 仅查询:无限制

  • SQL分析:最多支持下载100万行数据,数据量不超过2GB。

  • 仅查询:无限制

  • SQL分析:最多支持下载100万行数据,数据量不超过2 GB。

  • 仅查询:无限制

  • SQL分析:最多支持下载100万行数据,数据量不超过2 GB。

依赖部署

手动安装日志服务CLI。

自动部署,首次运行时需要等待初始化。

手动安装日志服务 SDK,并需要自定义代码。

授权

同控制台查询权限,无需额外授权。

手动配置

自动配置

手动配置

SQL独享版

下载SQL分析结果时,使用SQL独享版

不使用

不使用

按实际需求,设置参数配置。

外网读取流量

部署在与Project相同地域的ECS上且使用日志服务私网域名时,不会产生外网读取流量费用。

当Project在华东2(上海)地域时,不会产生外网读取流量费用。

部署在与Project相同地域的ECS上且使用日志服务私网域名时,不会产生外网读取流量费用。

NAS集成

必要时,手动配置

自动配置

必要时,手动配置

您也可以将日志投递到OSS,通过OSS进行下载。关于投递的具体操作,请参见创建OSS投递任务(新版)

操作步骤

通过控制台直接下载
通过Cloud Shell下载
通过命令行工具下载
通过SDK下载

日志服务支持通过控制台直接将日志或查询分析结果下载到本地,两者的下载操作类似,本文以下载日志为例进行说明。如果您要下载查询分析结果,可在执行查询分析操作后,在统计图表页签中,单击下载查询分析结果

重要
  • 超过单次下载的最大数量时,仅下载最大支持的数量。如果您需要下载全量日志,可缩小查询的时间范围,分多次下载。

    您可以在日志导出历史中,查看下载列表。

  • 单个阿里云账号最多支持3个并发下载操作(总下载次数无限制)。超出3个并发下载操作或多个RAM账号同时操作时,可能报错,此时您可等待其他操作完成后,再重试。

  • 支持保存最近1天内的导出记录,超过1天的导出记录被自动清除。

  • 在遇到网络错误或者查询不精确时,系统会自动重试下载任务。如果重试3次后,仍无法完成下载,则下载任务为失败状态。

  1. 登录日志服务控制台

  2. 在Project列表区域,单击目标Project。

  3. 日志存储 > 日志库页签中,单击目标Logstore。

  4. 输入查询语句,然后选择时间范围。

    更多信息,请参见查询与分析快速指引

  5. 原始日志页签中,选择下载日志 > 下载日志image

    说明

    无日志时,下载日志不可用。

  6. 日志下载对话框中,完成如下配置,然后单击确认

    参数

    说明

    任务名

    下载任务的名称。

    日志数量

    选择要下载的日志数量。

    数据格式

    支持CSV格式和JSON格式。

    • 采用CSV格式时,文件中的列名将根据前100条日志的字段生成。如果后续日志存在新的字段,则所有新的字段将以JSON格式存放在CSV文件的最后一列(列名为空)。

    • 采用JSON格式时,单条日志的内容会转换为JSON格式,然后以单行形式写入文件。

    quote字符

    选择Quote字符,用于包裹日志中的特殊字符,避免被转义。

    是否允许下载不精确的结果

    如果选择,则当出现查询结果不精确时,会导致下载失败。

    压缩方式

    支持gzip、lz4、zstd等压缩方式,也支持不压缩。

    当下载的日志数量较多时,强烈建议采用压缩方式,可显著降低下载量,减少文件的下载时间。

    排序规则

    日志的排序规则。

  7. 下载任务对话框中,等待任务状态任务成功后,单击下载,将日志下载到本地。

    您也可以在原始日志页签中,选择下载日志 > 下载任务,打开下载任务对话框,查看下载记录。

    image

目前Cloud Shell位于上海地域,如果当前Logstore不在上海地域,下载日志会产生一定的外网读取流量费用。价格详情请参见产品定价。操作步骤,参见使用Cloud Shell下载日志数据

当您需要下载更大数量的日志时,可以通过命令行工具进行下载。

  1. 安装命令行工具。具体操作,请参见安装CLI

  2. 获取当前账号的AccessKey。具体操作,请参见访问密钥

  3. 获取下载日志的命令。具体步骤,请参见get_log_all

    例如:在命令行工具中执行下载命令,执行成功后自动下载到运行命令行的当前目录下的downloaded_data.txt

    aliyunlog log get_log_all --project="aliyun-test-project" --logstore="aliyun-test-logstore" --from_time="2024-07-01 15:33:00+8:00" --to_time="2024-07-09 15:23:00+8:00"  --query="status:200|select request_method as method,COUNT(*) as pv group by method order by pv" --region-endpoint="cn-hangzhou.log.aliyuncs.com" --format-output=json --access-id="LT***CyGg" --access-key="8P***zi" >> ./downloaded_data.txt

更多信息,请参见使用日志服务CLI

当您需要下载更大数量的日志时,可通过SDK下载。

说明

SDK下载日志接口就是查询日志的接口。

Python SDK示例如下:

import os
import time

from aliyun.log import LogClient
from aliyun.log import GetLogsRequest

# 日志服务的服务接入点。
endpoint = 'cn-qingdao.log.aliyuncs.com'
# 本示例从环境变量中获取AccessKey ID和AccessKey Secret。
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Project名称。
project = 'Project名称'
# Logstore名称。
logstore = 'Logstore名称'
client = LogClient(endpoint, accessKeyId, accessKey)
request = GetLogsRequest("project1", "logstore1", fromTime=int(time()-3600), toTime=int(time()), topic='', query="*", line=100, offset=0, reverse=False)
# 或者
# request = GetLogsRequest("project1", "logstore1", fromTime="2018-1-1 10:10:10", toTime="2018-1-1 10:20:10", topic='', query="*", line=100, offset=0, reverse=False)


res = client.get_logs(request)
res.log_print()

更多信息,请参见SDK参考概述

  • 本页导读 (1)
  • 下载方式说明
  • 操作步骤
文档反馈