管理Logstore

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

Logstore是日志服务中的存储单元,用于收集、存储和查询日志数据。

核心概念

什么是Logstore

日志库(Logstore)是日志服务的数据容器。一个Project(项目)下可以创建多个Logstore,用于隔离和管理不同业务或来源的日志。

Logstore类型

日志服务提供标准型与查询型两种Logstore类型,在提供的功能与使用成本上有差异。

类型

成本(索引流量费用对比)

适用场景

标准型(Standard规格)

0.350/GB

适用于需要数据分析、实时监控和可视化能力,进行交互式分析、实时监控或构建可观测性系统的场景。

查询型(Query规格)

0.1/GB

不支持分析,适用于日志归档、审计日志存储、故障排查等快速检索日志内容而无需分析的归档类场景。典型应用包括大规模日志长期保存(如数月或数年),且访问频率较低的情况。

特殊Logstore

部分功能会自动创建专用的Logstore,这些Logstore有特定用途,不支持写入其他数据。例如:

权限须知(可展开)

  • 使用阿里云主账号登录,默认拥有所有操作权限,可直接对Logstore进行相关操作。

  • 使用RAM账号登录,请根据需要向主账号使用者申请如下两种日志服务的系统策略。

    • AliyunLogFullAccess:管理日志服务的权限。

    • AliyunLogReadOnlyAccess:只读访问日志服务的权限。

    当系统策略无法满足您的需求,您可以参考下表通过创建自定义权限策略实现精细化权限管理。

    操作

    所需权限

    管理Logstore

    • log:ListProject

    • log:GetAcceleration

    • log:ListDomains

    • log:GetLogging

    • log:ListTagResources

    • log:GetProject

    • log:ListLogStores

    • log:*LogStore

    • log:*Index

    • log:ListShards

    • log:GetLogStoreHistogram

    • log:GetLogStoreContextLogs

    查询Logstore

    • log:ListProject

    • log:GetAcceleration

    • log:ListDomains

    • log:GetLogging

    • log:ListTagResources

    • log:GetProject

    • log:ListLogStores

    • log:GetLogStore

    • log:GetLogStoreHistogram

    • log:GetIndex

    • log:CreateIndex

    • log:UpdateIndex

    • log:ListShards

    • log:GetLogStoreContextLogs

创建基础Logstore

控制台

  1. 登录日志服务控制台Project列表区域,单击目标Project。

  2. 日志存储 > 日志库页签,单击+图标。

    image

  3. 创建Logstore页面中,进行配置后,单击确定

    1. Logstore类型:默认Standard。

    2. 计费模式:

      • 按使用功能计费(不支持更改):按实际使用的每一项资源(如存储、索引、读写次数等)独立计费,并提供月度免费额度,便于小规模场景控制支出。

      • 按写入数据量计费:只为原始写入数据付费,30天内存储及主流功能免费使用,成本结构更简单、更划算。

      快速判断:存储天数越接近30天,索引字段数量越接近全文索引越适合按写入数据量计费。
    3. Logstore名称:在该Project内必须唯一,作为Logstore的唯一标识,创建后无法更改。

    4. 数据保存时间:默认为30天。

    5. 其余配置保持默认值即可。

API

CreateLogStore - 创建LogStore

管理Logstore配置

以下参数可在创建时配置,此处以修改Logstore为例进行介绍。

  1. 单击image日志存储,在日志库中,将鼠标悬浮在目标Logstore上,选择修改日志库 > 修改

  2. Logstore属性中根据下列场景修改相关配置项。

删除指定日志/设置日志保存时间

控制台

基础信息中,单击修改,修改数据保存时间,然后单击保存

日志服务不支持删除指定内容的日志,仅支持通过修改日志保存时间来按时间删除,或者通过停止计费/删除Logstore来删除全部日志。
  • 限定天数:取值范围:1~3650,其中3650表示永久保存。当保存期限到达时,日志将会被删除。

  • 永久保存:将永久保存该Logstore中的日志。

说明

修改后立即生效,但删除过期数据需要一定的时间。

API

UpdateLogStore - 更新LogStorettl的值,来调整日志存储时间。

使用分层优化存储成本

控制台

  1. 基础信息中,单击修改,打开智能存储分层开关。

  2. 进行存储策略配置:三种存储天数总和需要等于数据保存时间中的天数。

    • 热存储:至少7天。

    • 低频存储:至少30天。

    • 归档存储:至少60天。

    image

  3. 单击保存。详细了解参考智能存储分层

API

UpdateLogStore - 更新LogStorettlhot_ttlinfrequentAccessTTL的值,来动态调整存储分层的保留策略。

收集前端日志

日志服务提供webTracking功能,用以收集小程序/客户端(iOS/Android/APP)/浏览器上的日志数据。

该功能有两种使用方式:

  • 通过使用STS鉴权方式进行传输,适用于生产场景。该方式无需修改Logstore配置。

  • 通过OpenAPI等进行匿名传输数据,仅适用于测试场景。需要在Logstore中打开开关,参考下文进行配置。

控制台

在基础属性中,单击修改,打开WebTracking开关,然后单击保存

API

UpdateLogStore - 更新LogStoreenable_tracking参数为true来开启WebTracking功能。

为日志自动添加公网IP与到达日志服务时间

开启此功能后,后续采集会自动在日志中添加:

  • __tag__:__client_ip__:日志来源设备的公网IP。

  • __tag__:__receive_time__:日志到达日志服务服务端的时间,格式为Unix时间戳,表示从1970-1-1 00:00:00 UTC计算起的秒数。

控制台

在基础属性中,单击修改,打开记录外网IP开关,然后单击保存。

API

UpdateLogStore - 更新LogStoreappendMeta参数来开启记录外网IP功能。

通过Shard调整采集性能

每个Shard支持5MB/s500次/s的数据写入、10MB/s100次/s的数据读取。此限制非硬性限制,超出限制时,系统会尽可能提供服务,但是不保证服务质量。当数据读写流量超出Shard读写能力时,需要及时分裂Shard以增加Shard个数,从而提供更高的读写能力。

控制台

在基础属性中,单击修改,打开自动分裂Shard,并设置分裂上限,然后单击保存

日志服务支持针对某个Shard进行分裂与合并

API

SplitShard - 分裂Shard

MergeShard - 合并shard

停止计费/删除Logstore

警告

Logstore一旦删除,其存储的日志数据将会被永久删除,不可恢复,请谨慎操作。

控制台

  1. 删除前清理。

    1. 删除Logstore前需先删除其对应的所有Logtail配置。

    2. 若该Logstore启用了日志投递,删除前请停止向该Logstore写入新数据,并确认Logstore中已有的数据已全部投递成功。

    3. 删除Logstore前,在任务管理中查看当前Project的全部任务,并删除与当前Logstore关联的任务。

  2. 删除步骤。

    1. 日志存储 > 日志库页签中,将鼠标悬浮在目标Logstore上,选择修改日志库 > 删除

    2. 警告对话框中,单击确认删除

  3. 删除后事项。

    1. 删除Logstore的当天仍会产生存储等费用,次日不再产生费用。即在删除Logstore的第三天不会再收到日志服务的账单。

    2. 删除Logstore后,以当前Logstore为数据源的导出任务、数据加工任务、定时SQL任务和以当前Logstore为目标的导入任务都将被删除。

API

DeleteLogStore - 删除LogStore

实际场景使用配置示例

大数据量业务实时监控分析场景

线上应用实时产生大量业务日志,出现故障,需要快速定位错误日志,并对应用性能指标(如QPS、响应延迟)进行实时监控和告警。

选型推荐标准型Logstore + 按写入量计费 + Shard自动分裂

原因标准型Logstore支持分析,实时监控与可视化 ,大量日志写入且分析可能需要较多索引推荐按写入量计费Shard自动分裂可以保障数据写入与分析的性能。

合规/审计/等保场景

根据行业法规,需要将用户操作日志、安全日志等保存储6个月以上用于审计,但日常查询和分析频率很低。

选型推荐查询型Logstore + 智能存储分层

原因:查询型Logstore仅支持查询但索引流量费用低于标准型Logstore,智能存储分层对日志数据根据存储时长进行分类,降低长期存储成本。

相关参考

功能计费模式下Logstore对比

查询型仅支持功能计费,因此按使用功能计费模式下,标准型和查询型两种类型的Logstore对比如下:

对比项

标准型(Standard 规格

查询型(Query 规格

费用

索引流量

0.350/GB

0.1/GB

功能

数据采集(仅业务系统日志场景)

支持

不支持采集云产品日志。

开启智能存储分层

支持

支持

查询

支持

支持

分析(SQL语句)

支持

不支持

上下文查询

支持

支持

LiveTail

支持

支持

日志聚类

支持

不支持

重建索引

支持

支持

仪表盘

支持

不支持

告警

支持

仅支持基于查询语句的告警

定时SQL

支持

不支持

数据加工

支持

支持

数据投递

支持

支持

普通消费

支持

支持

使用限制

按写入数据量计费模式支持完整日志服务功能集合,增值功能如查询分析、数据加工、智能告警、消费投递等能力均不产生额外费用,但存在配额限制,具体说明如下。

配额限制

说明

数据加工量

单个Logstore每月支持的最大加工数据量为100 TB。

定时SQL数据量

单个Logstore每月支持的定时SQL数据量为20 TB。

投递数据量

单个Logstore每月支持的投递数据量为100 TB。

消费数据量

单个Logstore每月支持的消费数据量为100 TB。

告警作业计算数据量

单个Logstore每月支持的告警作业计算数据量为100 TB。

常见问题

无法创建Logstore

一个Project默认最多创建200Logstore。请删除无用Logstore或参考下文进行配额申请。

  1. 登录日志服务控制台,在Project列表区域,单击目标Project。

  2. Project页面的项目概览-基础信息-资源配额中单击管理,即可在资源配额面板中,调整目标资源的logstore上限配额,然后单击保存提交申请。修改申请需要等待1小时左右完成。

日志服务SLS的日志丢失?

  • Project、Logstore丢失

    如果主动删除Logstore、Project,日志无法恢复。您可以通过操作审计功能查询最近90天的删除Project/Logstore事件。

  • 没有采集到日志,参考LoongCollector采集异常问题汇总排查

  • 日志服务欠费:超过7天,将视为主动放弃服务,日志服务Project将被回收,数据会被清理且不可恢复。更多信息,请参见欠费说明

如何优化日志的存储成本?