注意:说明:
注意:若你的函数于2021年1月29日前创建且尚未进行迁移,如需使用更多日志分析功能,则请参见 日志投递配置(旧),将函数调用日志投递到日志服务 CLS 使用。
这篇说说云函数 SCF 所提供的 默认投递 和 自定义投递 两种日志服务投递方式及其配置方法。
一、权限说明
为保证日志正常查看,子账号下至少拥有日志服务 CLS 只读权限 QcloudCLSReadOnlyAccess。主账号为子账号授权方法请参见 授权管理。
二、限制说明
函数调用日志投递至日志服务的限制如下:
·每个请求5秒内打印的日志量上限为1MB。
·每个请求5秒内打印的日志条数上限为5000条。
·每条日志长度上限为8KB,超出将截取前8KB。
其他限制请参见 日志服务规格说明,请关注日志服务配置是否能够满足业务需求,超限可能会导致日志写入失败。
三、默认投递
新建函数时,如不指定日志投递主题,将会使用默认投递日志能力。默认投递日志时,SCF 将会为你开通日志服务并将函数调用日志投递至 SCF 专用日志集下的日志主题中,SCF 专用日志集和日志主题分别以 SCF_logset 和 SCF_logtopic 为前缀命名,如不存在将自动创建。函数调用日志默认保留7天,你可在 日志服务控制台 查看及管理。
四、配置日志服务
1. 登录 Serverless 控制台,选择左侧导航栏中的 函数服务。
2. 在主界面上方选择期望创建函数的地域和命名空间,并单击新建,进入函数创建流程。
3. 在日志配置中,选择默认投递。如下:
4. 单击完成即可创建函数,并完成函数日志默认投递。你可在函数管理 > 函数配置中查看日志配置。如下:
五、查看和管理日志服务
你可单击函数配置中“日志配置”的日志集 ID,前往 日志服务控制台 查看和管理日志。SCF 专用日志集在日志服务控制台已用 SCF 字样进行标记,如有日志持久化存储、投递或消费、对日志内容进行监控告警等需要,均可在日志服务控制台完成配置。
六、自定义投递
新建函数时,如需指定函数调用日志投递主题,可选择使用日志自定义投递能力。在使用日志自定义投递能力之前,需保证账号已经开通 日志服务。
七、创建日志集和日志主题
登录 日志服务控制台 并 创建日志主题。这篇以在广州创建 SCF-test 日志主题为例。如下:
注意:日志集地域请选择函数服务所在地域,暂不支持跨地域日志推送。
八、配置日志服务
1. 登录 Serverless 控制台,选择左侧导航栏中的 函数服务。
2. 在主界面上方选择期望创建函数的地域,并单击新建,进入函数创建流程。
3. 在日志配置中,选择自定义投递,并选择已为该函数创建的日志主题,这篇以 SCF-test 为例。如下:
4. 单击保存即可。
九、索引配置
日志检索依赖日志主题的索引配置,在函数创建时,SCF 会自动为你完成索引配置。如遇索引异常无法正常查看日志,请参考如下步骤配置索引:
1. 登录 Serverless 控制台,选择左侧导航栏中的 函数服务。
2. 在函数服务列表中,选择日志索引异常的函数名,进入函数管理页面。
3. 在日志查询页签中,选择高级检索中的索引配置。如下:
4. 在索引配置中,开启索引状态和键值索引。如下:
该配置方法仅对日志主题中已有函数调用日志的场景有效,日志主题中无函数调用日志,请参照下表手动配置键值索引。
| 字段名称 | 字段类型 | 字段含义 |
| SCF_FunctionName | text | 函数名称。 |
| SCF_Namespace | text | 函数所在命名空间。 |
| SCF_StartTime | long | 调用开始时间。 |
| SCF_LogTime | long | 日志产生时间。 |
| SCF_RequestId | text | 请求 ID。 |
| SCF_Duration | long | 函数运行时间。 |
| SCF_Alias | text | 别名。 |
| SCF_Qualifier | text | 版本。 |
| SCF_MemUsage | double | 函数运行内存。 |
| SCF_Level | text | Log4J 日志级别,默认为 INFO。 |
| SCF_Message | text | 日志内容。 |
| SCF_Type | text | 日志类型,Platform 指平台日志,Custom 指用户日志。 |
| SCF_StatusCode | long | 函数运行 状态码。 |
| SCF_RetryNum | long | 重试次数。 |
为保证云函数控制台日志展示效果,请在键值索引配置中为字段打开“开启统计”能力。
5. 完成索引配置后单击确定保存。