配置资源组日志服务

您可以为资源组配置日志服务SLS,将部署在该资源组上的EAS服务打印的日志(包括标准输出或自定义文件)采集到目标SLS日志仓库中。本文为您介绍如何为公共和专属资源组配置日志服务。

前提条件

  • 已开通日志服务SLS,并创建了ProjectLogstore,详情请参见快速入门

  • 可选:已创建专属资源组,详情请参见使用专属资源组

步骤一:为资源组创建机器组

为公共资源组创建机器组

部署在公共资源组中的服务,您需要手工创建机器组。

  1. SLS的机器组管理页面,通过自定义标识来创建机器组,详情请参见创建用户自定义标识机器组

    创建机器组

    说明

    EAS服务中专用的自定义标识为eas-log-group-{region_id},例如张家口的自定义标识为eas-log-group-cn-zhangjiakou

  2. 当服务部署完成后,打开机器组配置页面,在机器组状态列表中可以看到实例心跳状态,OK表示机器组运行正常。

    说明

    如果没有部署服务,则实例列表显示为空。

    机器组状态

为专属资源组创建机器组

专属资源组需要在EAS控制台开通SLS日志投递,具体操作步骤如下。

  1. 进入模型在线服务(EAS)页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应的工作空间。

    3. 在工作空间页面的左侧导航栏选择模型部署 > 模型在线服务(EAS),进入模型在线服务(EAS)页面。

  2. 资源组页签,单击资源组名称,进入专属资源组详情页面。

  3. 在专属资源组详情页面,单击配置SLS

    image

  4. 写入SLS配置对话框,选择SLSProjectLogStore,并单击确认

    参数

    描述

    SLSProject

    日志服务中的资源管理单元,用于资源隔离和控制。如果当前页面没有可选的项目,您可以通过单击创建SLSProject进行创建项目,更多信息请参见创建项目Project

    LogStore

    日志服务中日志数据的采集、存储和查询单元。如果选项中没有可选的LogStore,您可以通过单击创建LogStore进行创建LogStore,更多信息请参见创建Logstore

    开通完成后,会自动在SLS中创建一个机器组,名称格式为eas-sls-{resource-id},例如eas-sls-eas-r-9u2lq6ij1pk5yvvh****。关于resource-id的查看方法,详情请参见管理专属资源组

    同时,EAS也会为您在指定的Logstore中,自动创建一个Logtail,用于采集EAS框架打印的日志。

步骤二:配置Logtail

您可以根据需要采集的日志内容,自行配置Logtail。配置完成后,根据不同的资源组类型,应用于步骤一创建的机器组中。下文为您介绍采集容器标准输出和采集容器内文件日志两个常用配置。更多复杂配置,您可以参考SLS文档自行配置。

采集容器标准输出

  1. 登录日志服务控制台

  2. 接入数据区域,单击Kubernetes-标准输出

    标准输出

  3. 选择目标ProjectLogstore,单击下一步

  4. 单击使用现有机器组,并选择步骤一中已手动创建的公共资源组机器组或EAS自动创建的专属资源组机器组,单击下一步

  5. 数据源设置配置向导页面,进行插件配置,并单击下一步

    插件配置编辑框中输入以下内容。

    {
        "inputs": [
            {
                "detail": {
                    "Stderr": true,
                    "IncludeLabel": {
                        "io.kubernetes.container.name": "^(easworker|worker[0-9])$"
                    },
                    "Stdout": true
                },
                "type": "service_docker_stdout"
            }
        ]
    }

    在使用自定义镜像部署服务的场景中,如果您不希望采集EAS引擎日志,则可以使用如下配置,只采集用户自定义容器中的标准输出日志。

    {
        "inputs": [
            {
                "detail": {
                    "Stderr": true,
                    "IncludeLabel": {
                        "io.kubernetes.container.name": "^(worker[0-9])$"
                    },
                    "Stdout": true
                },
                "type": "service_docker_stdout"
            }
        ]
    }
  6. 单击下一步,直到配置结束。

采集容器内文件日志

  1. 接入数据区域,单击Kubernetes-文件

    Kubernetes-文件

  2. 选择目标ProjectLogstore,单击下一步

  3. 单击使用现有机器组,并选择步骤一中已手动创建的公共资源组机器组或EAS自动创建的专属资源组机器组,单击下一步

  4. Logtail配置配置向导页面,配置参数,并单击下一步。

    您需要配置日志路径(即要采集的文件路径地址),其他参数配置,详情请参见通过DaemonSet-控制台方式采集容器文本日志

  5. 单击下一步,直到配置结束。

相关文档