更新时间:2024-12-16 GMT+08:00
分享

配置和查看函数的调用日志

FunctionGraph函数实现了与云日志服务的对接,用户无需任何配置,即可查询函数日志信息。

在FunctionGraph函数控制台,可以通过以下两种方式查看函数日志。

配置日志组、日志流和查看函数日志

此特性当前仅FunctionGraph V2版本支持。

用户可以针对某个函数自行关联日志组和日志流,管理函数日志,即进行函数调用后,调用日志会保存到指定的日志组和日志流下。若未指定,函数调用日志会保持原逻辑自动生成在系统默认创建的日志流下(即创建一个函数默认创建一个对应的日志流),具体请参见云日志服务(LTS)管理函数日志

操作步骤

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 单击函数名称进入函数详情页。
  3. 选择“设置 > 日志配置”,参见表1进行配置。

    表1 日志配置参数说明

    参数

    说明

    启动日志记录

    V2版本默认为开启状态,V1版本当前不支持此特性。

    日志组

    为当前函数指定日志组。禁选functiongraph默认创建的日志组functiongraph.log.group.xxx。如何创建日志组详情请参见管理日志组

    默认展示系统自动生成的日志组(以functiongraph开头)。

    日志流

    指定日志组下的日志流。如何创建日志流详情请参见管理日志流

    默认展示为创建函数时自动生成的日志流(以函数名称开头)。

  4. 配置完成后单击“保存”。

    函数的日志流可以在更新时随时修改。

  5. 选择“代码”页签,单击“测试”执行函数。
  6. 函数执行完成后,选择“监控 > 日志”,查看函数日志。

    • 图1,表示当前函数日志指定生成在该日志组及日志流下。
    • 若未指定,此处的日志组显示为系统默认创建的日志组及日志流,日志组名称以“functiongraph”开头。
      图1 查看函数日志
    • 图中日志列表中可以区分是否请求经过冷启动,下边一条请求显示的冷启动成功,其中耗时13.100ms,表示当前请求是经过冷启动的调用总耗时,日志中上边一条日志显示调用成功,其中耗时1.671ms,表示当前请求不经过冷启,调用耗时。
      图2 日志

应用运维服务(AOM)管理函数日志

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 单击函数名称,进入函数详情界面。
  3. 选择“监控 > 日志 ”,在“日志”页签,输入查询条件。

    • 支持的日志查询条件:

      1、关键词精确搜索。关键词指相邻两个分词符之间的单词。

      2、关键词模糊匹配搜索,例如输入“*ROR*”或“ERR*”或“ER*OR”。

      3、短语精确搜索,例如输入“Start to refresh alm Statistic”。

      4、关键词的“与”、“或”组合搜索。格式为“query&&logs”或“query||logs”。

    • 支持的时间条件:最近30分钟、最近1小时、最近1天及自定义(时间范围为一个月,比如2022/04/01 16:34:48~2022/05/01 16:34:48)。
    • 支持选择版本查询日志。

  4. 单击,查询日志。

    图3 查询日志

    日志查询结果包含的字段有:时间、请求ID、调用结果、耗时、内存、版本。

  5. 在已查询的日志中还支持如下操作:

    ①按关键字搜索过滤日志

    ②按照日志状态搜索过滤日志:Error、Info、 Error & Warning、 Error & Warning & Info

    ③支持全屏展示

    ④支持日志下载

    图4 其他操作

云日志服务(LTS)管理函数日志

FunctionGraph支持开通云日志服务(LTS),使用更丰富的函数日志管理功能。开通云日志服务后,FunctionGraph会自动创建1个日志组(functiongraph开头),创建函数后,会默认生成一个日志流(函数名称开头)。

您也可以针对某个函数自行关联日志组和日志流,管理函数日志,即进行函数调用后,调用日志会保存到指定的日志组和日志流下。具体操作请参见配置日志组、日志流和查看函数日志

  • 默认创建的20个日志流,您无法自定义。您可以在函数的“日志”页签下,按“F12”,找到query接口里的日志流ID,再到lts里找到对应的日志流ID。

  • 若在LTS控制台误删函数日志组,之前的日志数据不可找回,FunctionGraph服务不感知该操作。此时您可以通过修改函数常规设置中的描述信息,保存后触发重建函数日志组。
  1. 开通云日志服务(LTS)管理函数日志。

    FunctionGraph V1版本开通:在“日志”页签,单击“使用 云日志服务(LTS) 管理函数日志”,页面直接切换至LTS管理函数日志的页面。

    FunctionGraph V1版本支持“切换旧版”,将会停用云日志服务(LTS) ,并切换为应用运维管理服务(AOM) 管理函数日志。 函数运行过程中产生的日志管理费用将按需收取。

    FunctionGraph V2版本开通:在“日志”页签,直接单击“点击开通”。继续单击“确认”,右上角弹出“开通成功”。

    FunctionGraph V2版本当前只支持使用LTS管理函数日志。

  2. 设置查询条件。

    • 请求列表:支持设置请求ID、调用结果(执行成功、执行失败)、原因分析(初始化失败、加载失败、系统错误、调用超时、内存超限、磁盘超限、代码异常)。
    • 请求日志:支持关键字、请求ID、实例ID。
    表2 调用结果

    调用结果

    说明

    执行成功

    函数执行成功打印的日志。

    执行失败

    函数执行失败打印的日志,包含调用超时、内存超限、磁盘超限、代码异常四种情况。

    若想查看调用超时的日志信息,请将“日志类型”切换为调用超时,另外3种执行失败下的日志类型查看方法相同。

    表3 原因分析

    原因分析

    说明

    初始化失败

    函数初始化失败打印的日志。

    加载失败

    runtime加载用户函数文件失败打印的日志

    系统错误

    内部错误。

    调用超时

    函数调用时间超过配置的“执行超时时间”打印的日志。

    内存超限

    函数内存大小超过配置的“内存”大小打印的日志。

    磁盘超限

    磁盘超出限制大小打印的日志。

    代码异常

    代码出现异常情况打印的日志。

    • 支持的时间条件:最近1小时、最近1天、最近3天及自定义。
    • 您可以单击“到LTS进行日志分析等更多操作”,前往LTS控制台管理函数日志。
    • 用户普通实例的初始化阶段的日志大小限制为(10MB),超过大小限制的日志进行滚动更新,为您保留最新的日志。

日志下载

  • 当前仅使用应用运维服务(AOM)管理函数日志时,支持下载日志。
  • FunctionGraph V1版本的函数支持应用运维管理服务(AOM)管理函数日志。
  • FunctionGraph V2版本的函数支持云日志服务(LTS)管理函数日志,不支持日志下载。
  1. 选择“监控 > 日志”,单击“请求日志”页签。
  2. 在“请求日志”页签下,选择版本和时间范围,单击“下载日志”。

    • 一次最多只能下载5000条日志,请合理选择时间范围,避免下载的日志缺失。
    • 当前日志时间戳打印的时间为 UTC 时间。

FunctionGraph V1和V2版本支持管理函数日志的区别

  1. FunctionGraph V1版本的函数支持应用运维管理服务(AOM)管理函数日志及云日志服务(LTS)管理函数日志。
    图5 应用运维管理服务(AOM)管理函数日志页面
    图6 云日志服务(LTS)管理函数日志页面
  2. FunctionGraph V2版本的函数支持云日志服务(LTS)管理函数日志。
    图7 云日志服务(LTS)管理函数日志页面

相关文档