Serverless应用引擎SAE(Serverless App Engine)实时日志功能支持查看500行日志信息,如果您有更高的查阅需求可以使用文件日志收集功能,SAE会将业务文件日志(容器内日志路径)、容器标准输出日志(stdout)收集至SLS中,实现无限制行数查看日志、自行聚合分析日志,方便业务日志对接,并按日志使用量计费。

前提条件

背景信息

  • 一个阿里云账号最多可创建200个Logstore资源、50个Project资源。更多使用限制,请参见基础资源
  • 应用开始创建后,系统自动检查SLS服务是否开启、内置资源是否足够。
    • 如果SLS服务未开启,请按提示开通。
    • 如果内置资源不足,请提交工单以申请增额。
  • 使用SLS会产生额外费用。计费详情,请参见SLS计费说明

在创建应用过程中配置文件日志收集

  1. 登录SAE控制台
  2. 在左侧导航栏单击应用列表,在顶部菜单栏选择地域,单击创建应用
  3. 应用基本信息页签设置应用相关信息,并单击下一步:应用部署配置
  4. 应用部署配置页签,选择技术栈语言应用部署方式,设置部署参数。
  5. 展开日志收集服务区域,在默认显示的日志采集到SLS页签,打开开通日志收集到SLS日志服务功能开关,并配置相关参数。
    按需选择新建SLS资源使用已有的SLS资源,单击+添加并配置相关参数。

    参数说明如下。

    参数 说明
    以下参数供选择新建SLS资源使用已有的SLS资源时通用。
    采集日志类型 在下拉列表选择日志类型。
    • 文件日志(容器内日志路径):可以设置多条,默认显示。
    • 容器标准输出日志:仅可以设置一条。
      说明 当您的vSwitch属于推荐可用区时,下拉列表才会显示该选项。您可以调用DescribeRegions接口查看推荐可用区。
    日志源 输入日志源存放的文件目录。目录须包含日志的文件名,例如/tmp0/cjsc.log
    注意 请勿在日志源的存放目录中存放其他重要文件,避免目录内的文件被覆盖。
    以下参数仅供选择使用已有的SLS资源时设置。
    使用已有的SLS Project 在下拉列表选择需要存放日志的Project。
    logstore 在下拉列表选择Logstore。
    logtail 在下拉列表选择新建Logtail。Logtail详细信息,请参见Logtail采集概述
  6. 单击下一步:确认规格
  7. 确认规格页签,查看您所创建应用的详细信息以及配置费用情况,并单击确认创建
  8. 验证结果。
    应用部署完成后,SAE依据所配的日志收集规则收集日志并存放到指定的文件内。

    您可以在应用详情页面左侧导航栏中,选择日志管理 > 持久化日志,在持久化日志页面查看所收集的日志信息。

    如果存在日志数据,则表示日志收集配置成功,您可以依据日志信息进行相关业务分析。

应用部署完成后配置文件日志收集

  1. 登录SAE控制台
  2. 在左侧导航栏单击应用列表,在顶部菜单栏选择地域,单击具体应用名称。
  3. 基本信息页面的右上角,单击部署应用
  4. 部署应用页面下方,展开日志收集服务区域,在默认显示的日志采集到SLS页签,打开开通日志收集到SLS日志服务功能开关,并配置相关参数。
    按需选择新建SLS资源使用已有的SLS资源,单击+添加并配置相关参数。

    参数说明如下。

    参数 说明
    以下参数供选择新建SLS资源使用已有的SLS资源时通用。
    采集日志类型 在下拉列表选择日志类型。
    • 文件日志(容器内日志路径):可以设置多条,默认显示。
    • 容器标准输出日志:仅可以设置一条。
      说明 当您的vSwitch属于推荐可用区时,下拉列表才会显示该选项。您可以调用DescribeRegions接口查看推荐可用区。
    日志源 输入日志源存放的文件目录。目录须包含日志的文件名,例如/tmp0/cjsc.log
    注意 请勿在日志源的存放目录中存放其他重要文件,避免目录内的文件被覆盖。
    以下参数仅供选择使用已有的SLS资源时设置。
    使用已有的SLS Project 在下拉列表选择需要存放日志的Project。
    logstore 在下拉列表选择Logstore。
    logtail 在下拉列表选择新建Logtail。Logtail详细信息,请参见Logtail采集概述
  5. 配置完成后,单击确认
    注意
    • 单击确认后,该应用将会被重启,请在业务较少的时间段进行。
    • 如果您在应用部署时采用分批发布或者灰度发布策略,同时您配置的日志源不变,只改变日志收集的Project或者Logstore,那么在所有批次的部署流程成功完成之前,您的日志仍被收集到老的Project与Logstore中。因为SLS不支持同一个文件被同时采集到不同的Project或Logstore中。
  6. 验证结果。
    应用部署完成后,SAE依据所配的日志收集规则收集日志并存放到指定的文件内。

    您可以在应用详情页面左侧导航栏中,选择日志管理 > 持久化日志,在持久化日志页面查看所收集的日志信息。

    如果存在日志数据,则表示日志收集配置成功,您可以依据日志信息进行相关业务分析。

设置环境变量提升Logtail采集性能

您可以在SAE控制台通过设置环境变量的方式来配置Logtail启动参数。在开启日志收集服务的基础上,提升Logtail采集性能,例如日志文件占用内存大、日志数据流量大和Logtail发送数据速率高的情况。

您需要在环境变量设置区域内,选择自定义引用配置项的方式,并填写变量名称变量值/变量引用。具体操作,请参见设置环境变量

  • 变量名称的填写规则
    在需要配置的Logtail环境变量前增加sls_前缀。例如您需要添加Logtail参数max_read_buffer_size,则环境变量为sls_max_read_buffer_size。表示每条日志读取的最大值为524288,单位:Byte。更多参数,请参见设置Logtail启动参数sc_configure_environment_variable_for_sls
  • 环境变量与Logtail启动参数对应关系

    具体信息,请参见环境变量说明

常见问题

  • SAE日志功能是否支持滚动日志?

    支持。您可以通过给日志文件名称添加通配符的方式滚动日志。

    文件名称通配符支持星号(*)和问号(?)。

  • 查看文件日志时,在SLS控制台无数据展示,如何处理?

    通常SLS默认查询最近15分钟内的查询结果。如果SLS无数据显示,建议使用Webshell查看您的应用是否有文件日志信息。详细操作,请参见使用Webshell诊断应用

    • 如果有日志信息,请提交工单
    • 如果没有日志信息,请检查您的应用信息。