配置和查看函数的调用日志
FunctionGraph函数实现了与云日志服务的对接,用户无需任何配置,即可查询函数日志信息。
在FunctionGraph函数控制台,可以通过以下两种方式查看函数日志。
- 在测试页签查看日志
函数创建完成后,可以测试函数,在执行结果页,可以查看函数测试日志。操作步骤请参见在线调试函数。
此处最多显示2KB字节日志,如果日志太多,可以去函数详情页日志页签查询日志。
- 在日志页签查看日志
在函数详情页“监控 > 日志”页签,查询日志信息,操作步骤请参见云日志服务(LTS)管理函数日志。
配置日志组、日志流和查看函数日志
用户可以针对某个函数自行关联日志组和日志流,管理函数日志,即进行函数调用后,调用日志会保存到指定的日志组和日志流下。若未指定,函数调用日志会保持原逻辑自动生成在系统默认创建的日志流下(即创建一个函数默认创建一个对应的日志流),具体请参见云日志服务(LTS)管理函数日志。
操作步骤
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击函数名称进入函数详情页。
- 选择“设置 > 日志配置”,参见表1进行配置。
- 配置完成后单击“保存”。
函数的日志流可以在更新时随时修改。
- 选择“代码”页签,单击“测试”执行函数。
- 函数执行完成后,选择“监控 > 日志”,查看函数日志。
- 如图1,表示当前函数日志指定生成在该日志组及日志流下。
- 若未指定,此处的日志组显示为系统默认创建的日志组及日志流,日志组名称以“functiongraph”开头。
- 图中日志列表中可以区分是否请求经过冷启动,下边一条请求显示的冷启动成功,其中耗时13.100ms,表示当前请求是经过冷启动的调用总耗时,日志中上边一条日志显示调用成功,其中耗时1.671ms,表示当前请求不经过冷启,调用耗时。
图2 日志
日志标签
函数执行时,可以按照自定义标签配置上报标签到云日志服务(LTS),用户可以通过标签对日志进行过滤筛选。
- 新创建函数时,可在“高级设置”中开启“日志记录”,并单击“添加标签”增加日志标签;如已创建函数,请从步骤2开始配置。
- 在函数详情页中,选择“设置 > 日志配置”,开启“日志记录”,选择日志组和日志流。
- 单击“添加新标签”,输入标签键和标签值,最多支持添加10个标签,配置完成后单击“保存”。
表2 日志标签介绍 参数名称
说明
标签键
不能为空,只能包含数字、字母、下划线和中划线,最大长度64。
标签值
图3 添加日志标签 - 选择“代码”页签,配置测试事件后,单击“测试”,等待函数执行完成。
- 选择“监控 > 日志”,在“请求列表”中查看函数请求记录(日志上报会有延迟,请稍等几分钟)。
- 登录云日志服务控制台,左侧选择“日志管理”,在日志组列表中选择筛选条件后,搜索函数配置的日志组名称,在搜索结果中再选择日志流的筛选条件,并搜索函数配置的日志流名称,单击日志流名称进入详情页面。
图4 搜索日志流
- 在日志流详情页面,右侧单击“日志设置”,进入“索引配置”面板,单击“添加字段”,新增在函数中新添加的日志标签键,如何设置索引请参见设置LTS日志索引配置。配置完成后,单击“确定”。
- 返回日志流详情页面,在搜索框中输入函数配置的日志标签键和值,即可查看匹配的日志内容。
云日志服务(LTS)管理函数日志
FunctionGraph支持开通云日志服务(LTS),使用更丰富的函数日志管理功能。开通云日志服务后,FunctionGraph会自动创建1个日志组(functiongraph开头),创建函数后,会默认生成一个日志流(函数名称开头)。
您也可以针对某个函数自行关联日志组和日志流,管理函数日志,即进行函数调用后,调用日志会保存到指定的日志组和日志流下。具体操作请参见配置日志组、日志流和查看函数日志。
约束与限制:
- 默认创建的20个日志流,您无法自定义。您可以在函数的“日志”页签下,按“F12”,找到query接口里的日志流ID,再到lts里找到对应的日志流ID。
- 若在LTS控制台误删函数日志组,之前的日志数据不可找回,FunctionGraph服务不感知该操作。此时您可以通过修改函数常规设置中的描述信息,保存后触发重建函数日志组。
- 用户普通实例的初始化阶段的日志大小限制为(10MB),超过大小限制的日志进行滚动更新,为您保留最新的日志。
- 开通云日志服务(LTS)管理函数日志。
在“日志”页签,单击“去开启”跳转至设置中的“日志配置”界面,单击开启“日志记录”。
图5 开启日志功能 - 设置查询条件。
- 请求列表:支持设置请求ID、调用结果(执行成功、执行失败)、原因分析(初始化失败、加载失败、系统错误、调用超时、内存超限、磁盘超限、代码异常)、耗时、实际使用内存。
在使用查询字段前,需先在云日志服务LTS中配置相关字段信息,具体配置详情请参见配置函数的日志过滤字段。
- 请求日志:支持关键字、请求ID、实例ID。
表3 调用结果 调用结果
说明
执行成功
函数执行成功打印的日志。
执行失败
函数执行失败打印的日志,包含调用超时、内存超限、磁盘超限、代码异常四种情况。
若想查看调用超时的日志信息,请将“日志类型”切换为调用超时,另外3种执行失败下的日志类型查看方法相同。
表4 原因分析 原因分析
说明
初始化失败
函数初始化失败打印的日志。
加载失败
runtime加载用户函数文件失败打印的日志
系统错误
内部错误。
调用超时
函数调用时间超过配置的“执行超时时间”打印的日志。
内存超限
函数内存大小超过配置的“内存”大小打印的日志。
磁盘超限
磁盘超出限制大小打印的日志。
代码异常
代码出现异常情况打印的日志。
- 支持的时间条件:最近1小时、最近1天、最近3天及自定义。
- 您可以单击“到LTS进行日志分析等更多操作”,前往LTS控制台管理函数日志。
- 请求列表:支持设置请求ID、调用结果(执行成功、执行失败)、原因分析(初始化失败、加载失败、系统错误、调用超时、内存超限、磁盘超限、代码异常)、耗时、实际使用内存。
- 开始日志分析。
“日志分析”页签下内置了LTS的日志分析功能模块,可参考配置函数的日志过滤字段为函数配置日志过滤字段,关于在LTS上分析日志的具体使用方法请参考搜索与分析日志。
配置函数的日志过滤字段
函数工作流的日志查询功能支持多种过滤字段。您在使用前,需按照如下步骤完成配置后方可使用:
- 返回函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,进入函数列表页面。
- 单击函数名称,进入函数详情界面。
- 单击“监控”,进入“日志”页签,单击“日志分析”页签,可在函数工作流控制台使用LTS功能进行日志分析。
- 单击右侧“日志设置”,进入“索引配置”页,单击“自动配置”后,等待后台自动配置全量字段信息。
图6 日志设置
- 自动配置完成后,将“memory”和“duration”两个字段的类型修改为“float”。同时,排查是否存在“errorType”字段,如没有请手动添加,完成后如图7所示。
- 配置完成后,单击“确定”。返回函数的“监控 > 日志 > 请求列表”页签下,即可使用相关字段过滤信息。
日志下载
约束与限制:
- 一次最多只能下载5000条日志,请合理选择时间范围,避免下载的日志缺失。
- 当前日志时间戳打印的时间为 UTC 时间。
- 选择“监控 > 日志”,单击“请求日志”页签。
- 在“请求日志”页签下,选择时间范围,单击“下载日志”。