日志服务支持将日志或查询分析结果下载到本地,本文介绍下载方式及操作步骤。
下载方式说明
日志服务提供控制台、Cloud Shell、日志服务CLI或SDK下载方式下载日志或查询分析结果。重要
- 日志服务CLI或SDK下载方式无数量限制,但可能由于网络等不确定因素,出现下载中断问题。
- 开启智能冷热分层存储后,冷存数据的下载速度很慢。建议先关闭智能冷热分层存储,待下载完成后,再重新开启。具体操作,请参见开启智能存储分层。
- 仅控制台方式支持压缩下载。
- 若当前Logstore的计费模式为按写入数据量计费时,下载查询和分析结果(SQL结果)时不产生费用。具体内容,可参见按写入数据量计费。
- 若当前Logstore的计费模式为按使用功能计费时,下载查询和分析结果(SQL结果)时,会使用SQL独享版,因此会产生SQL独享版相关的费用。费用说明,请参见按使用功能计费模式计费项。
比较项 | 通过控制台直接下载(推荐) | 通过命令行工具(CLI)下载 | 通过Cloud Shell下载 | 通过SDK下载 |
---|---|---|---|---|
数据量限制 |
|
|
|
|
依赖部署 | 无 | 手动安装日志服务CLI。 | 自动部署,首次运行时需要等待初始化。 | 手动安装日志服务 SDK,并需要自定义代码。 |
授权 | 同控制台查询权限,无需额外授权。 | 手动配置 | 自动配置 | 手动配置 |
SQL独享版 | 下载SQL分析结果时,使用SQL独享版 | 不使用 | 不使用 | 按实际需求,设置参数配置。 |
外网读取流量 | 无 | 部署在与Project相同地域的ECS上且使用日志服务私网域名时,不会产生外网读取流量费用。 | 当Project在华东2(上海)地域时,不会产生外网读取流量费用。 | 部署在与Project相同地域的ECS上且使用日志服务私网域名时,不会产生外网读取流量费用。 |
NAS集成 | 无 | 必要时,手动配置 | 自动配置 | 必要时,手动配置 |
您也可以将日志投递到OSS,通过OSS进行下载。关于投递的具体操作,请参见创建OSS投递任务(新版)。
操作步骤
通过控制台直接下载
日志服务支持通过控制台直接将日志或查询分析结果下载到本地,两者的下载操作类似,本文以下载日志为例进行说明。如果您要下载查询分析结果,可在执行查询分析操作后,在统计图表页签中,单击下载日志。
重要
- 超过单次下载的最大数量时,仅下载最大支持的数量。如果您需要下载全量日志,可缩小查询的时间范围,分多次下载。
您可以在日志导出历史中,查看下载列表。
- 单个阿里云账号最多支持3个并发下载操作(总下载次数无限制)。超出3个并发下载操作或多个RAM账号同时操作时,可能报错,此时您可等待其他操作完成后,再重试。
- 支持保存最近1天内的导出记录,超过1天的导出记录被自动清除。
- 在遇到网络错误或者查询不精确时,系统会自动重试下载任务。如果重试3次后,仍无法完成下载,则下载任务为失败状态。
- 登录日志服务控制台。
- 在Project列表区域,单击目标Project。
- 在日志存储 > 日志库页签中,单击目标Logstore。
- 输入查询语句,然后选择时间范围。
更多信息,请参见查询和分析日志。
- 在原始日志页签中,选择
> 下载日志。说明 无日志时,下载日志不可用。
- 在日志下载对话框中,完成如下配置,然后单击确认。
参数 说明 任务名 下载任务的名称。 日志数量 选择要下载的日志数量。 数据格式 支持CSV格式和JSON格式。 - 采用CSV格式时,文件中的列名将根据前100条日志的字段生成。如果后续日志存在新的字段,则所有新的字段将以JSON格式存放在CSV文件的最后一列(列名为空)。
- 采用JSON格式时,单条日志的内容会转换为JSON格式,然后以单行形式写入文件。
quote字符 选择Quote字符,用于包裹日志中的特殊字符,避免被转义。 是否允许下载不精确的结果 如果选择否,则当出现查询结果不精确时,会下载失败。 压缩方式 支持gzip、lz4、zstd等压缩方式,也支持不压缩。 当下载的日志数量比较多时,强烈建议采用压缩方式,可显著降低下载量,减少文件的下载时间。
排序规则 日志的排序规则。 - 在日志导出历史对话框中,等待任务状态为任务成功后,单击下载,将日志下载到本地。
您也可以在原始日志页签中,选择
> 日志导出历史,打开日志导出历史对话框,查看下载记录。
通过Cloud Shell下载
您可以通过Cloud Shell下载日志。
重要 目前Cloud Shell位于上海地域,如果当前Logstore不在上海地域,下载日志会产生一定的外网读取流量费用。价格详情请参见产品定价。
- 登录日志服务控制台。
- 在Project列表区域,单击目标Project。
- 在日志存储 > 日志库页签中,单击目标Logstore。
- 输入查询语句,然后选择时间范围。
更多信息,请参见查询和分析日志。
- 在原始日志页签中,选择
> 下载日志。说明 无日志时,下载日志不可用。
- 在日志下载对话框中,单击通过Cloud Shell下载,然后单击确认。
- 在挂载存储空间对话框中,单击暂不创建。
此处为临时下载,无需挂载。
- 在下载文件对话框, 单击确认。
将格式为TXT的文件下载至本地。
更多信息,请参见使用Cloud Shell下载日志数据。
通过命令行工具下载
当您需要下载更大数量的日志时,可通过命令行工具下载。
- 安装命令行工具。具体操作,请参见安装CLI。
- 获取当前账号的AccessKey。具体操作,请参见访问密钥。
- 获取下载日志的命令。
- 登录日志服务控制台。
- 在Project列表区域,单击目标Project。
- 在日志存储 > 日志库页签中,单击目标Logstore。
- 输入查询语句,然后选择时间范围。
更多信息,请参见查询和分析日志。
- 在原始日志页签中,选择
> 下载日志。说明 无日志时,下载日志不可用。
- 在日志下载对话框中,单击通过命令行下载,然后单击确认。
- 单击复制命令行。日志服务会根据您的资产信息,自动生成下载日志的命令。重要 如果用于安装命令行工具的机器的所在地域与当前Project所在地域相同,请单击切换为内网endpoint。通过阿里云内网下载,速度更快且不会产生额外的公网流量费用。
- 根据您所获取到的AccessKey,替换下载命令中的access-id和access-key。
- 在命令行工具中执行下载命令。
更多信息,请参见使用日志服务CLI。
通过SDK下载
当您需要下载更大数量的日志时,可通过SDK下载。Python SDK示例如下:
from time import time
from aliyun.log import GetLogsRequest
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折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/163668.html