跨LogStore查询日志(StoreView)

重要

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

在实际业务场景中,日志由不同的应用程序、服务、云产品生成,存储在不同地域的Project或同一地域的不同LogStore中。日志服务提供StoreView功能,支持跨地域、跨Store联合查询能力。

工作原理

image
  • StoreView(数据集)、LogStore都是属于Project的资源,但StoreView不是存储日志的实体资源,而是基于LogStore实现的虚拟资源,用于保存多个LogStore的关联关系。StoreView支持关联多个LogStore,但不能关联其他StoreView。用户可以通过StoreView对不同LogStore中的日志进行统一查询,但不能通过StoreView修改日志。

  • 在StoreView中不同store的日志内容支持关联查询,如LogStore1、LogStore2中均包含age字段,同时LogStore1、LogStore2通过StoreView1关联,则在StoreView1中查询age字段将返回LogStore1、LogStore2中的全部结果。

    创建索引的草稿 (2)

数据集相关权限

使用RAM用户或扮演RAM角色使用StoreView时,需要具备相应的权限。使用阿里云主账号为RAM用户或RAM角色授权的操作步骤,请参见创建RAM用户及授权创建可信实体为阿里云服务的RAM角色及授权使用RAM角色实现跨云账号的资源访问

您可以为用户授予系统权限策略自定义权限策略

  • 系统权限策略:统一由阿里云创建,用户只能使用,不能修改,策略的版本更新由阿里云维护。

  • 自定义权限策略:用户可以自主创建、更新和删除,策略的版本更新由用户自己维护。

    • 新建StoreView或在StoreView中查询时,RAM用户或RAM角色需要具有关联的所有LogStore的GetLogs - 查询日志库日志权限,即在自定义权限策略中添加如下内容:

      {
         "Action": "log:GetLogs",
         "Resource":[
            "acs:log:*:*:project/${projectName}/logstore/*",
            "acs:log:*:*:project/${projectName}/StoreView/*"
          ]
         "Effect": "Allow"
       }

使用限制

  • 每个Project最多创建10个StoreView。

  • 每个StoreView最多关联50个LogStore。

  • StoreView中的所有LogStore必须属于同一个阿里云主账号,否则,在StoreView查询日志时会报错。

前提条件

已创建Logstore

新建数据集

  1. 登录日志服务控制台

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

    image

  3. 在控制台左边导航栏选择数据集>日志型数据集,单击image新建StoreView

    image

  4. 创建数据集对话框,输入数据集名称,添加关联的LogStore,然后单击确定

    警告
    • 数据集名称的限制:

      • 数据集名称仅支持小写字母、数字和下划线(_)。

      • 开头只能是字母或下划线,结尾必须是小写字母和数字。

      • 名称长度为3~63个字符。

    • StoreView创建需要等待大约一分钟。

    • 如果存在跨境联合查询场景,需要阅读数据跨境合规承诺,并单击确定

    image

在数据集中查询

  1. 在数据集页面,单击目标数据集名称,进入日志查询页面。

    image

  2. 输入查询语句。查询语句用于日志数据的查看、简单搜索和过滤。用户使用查询语句,通过特定条件(例如时间范围、请求类型、关键字等)筛选出感兴趣的数据集。查询语句可以单独使用,语法说明请参见查询语法

  3. 设置日志数据的时间范围。在页面顶端的下拉列表中,选择时间范围例如最近15分钟

    重要

    执行查询语句后,默认只返回100行。如果您希望返回更多数据,可使用LIMIT语法。更多信息,请参见LIMIT子句

  4. 查询页面更多功能的说明,请参见查询日志

    重要

    StoreView不支持实时消费、数据加工等功能,具体支持的功能请以控制台界面为准。

    • 关联多个LogStore:查询功能的更多信息,请参见查询语法。通过保留字段__tag__展示日志来源的Project和Logstore。