当您需要通过日志服务调用统计记录,对采集的函数调用进行实时查询与分析统计,并可以可视化地查看监控信息时,您可以将函数调用信息统计实时导入到您创建的日志仓库。通过日志服务的查询分析和图表展示可以实时查看函数调用的情况,更好地掌控函数的服务状态。
由于函数计算控制台做了重构,在新版控制台内已下线关于日志大盘的相关操作配置。本文介绍的日志大盘的相关功能仅适用于旧版控制台。
由此带来的不便,敬请谅解!
前提条件
收集导入日志
- 登录函数计算控制台。
- 在顶部菜单栏,选择地域。
在左侧导航栏,单击概览。
在概览(图示中①)页面右下方的快速入口处,单击配置日志大盘(图示中②)。

在配置日志大盘页面,单击新建关联。

在自定义日志分析面板,执行以下操作。

在日志工程和日志仓库字段中,分别选择该地域中已存在的日志工程及日志仓库。
选择需要关联的服务,您可以关联多个服务到同一个日志仓库。
在角色创建方式下拉列表中,选择新建角色,单击点击授权。
在角色快捷创建页面,信息核对无误后,单击同意授权。
在自定义日志分析面板,单击确定。
查询分析日志
在函数计算控制台的配置日志大盘页面,选择需要查询的日志,单击日志库列表下关联的日志库 。
在关联的日志仓库页面输入查询语句分析日志,示例如下:
通过requestID来获得一个请求被调用的详细信息。
requestID:e9870cbd-2ab2-6c78-3486-cd164015b889查询异步调用请求。
mode:async and operation:InvokeFunction查询调用时长超过5000毫秒的请求信息。
operation:InvokeFunction and durationMs > 5000
日志字段详细说明如下表所示。
字段
类型
说明
示例值
accountID
String
账号ID。
188********23420
asyncInvocationFinished
String
调用完成。
true
concurrentCount
Long
当前实际并发度。
10
concurrentReqLimit
Long
最大并发度。
100
durationMs
Double
函数执行,单位:毫秒。
5012.025
errorType
String
错误类型。
HandledError
externalServiceVersion
String
使用的服务版本,更多信息,请参见函数版本。
1
fcStatus
Long
内部状态码。
200
forwardedFor
String
原始IP地址,使用CDN Trigger时该IP地址代表调用函数计算端的IP地址。
200.***.***.100
functionErrors
Long
非系统函数错误。
0
functionName
String
函数名。
ReservedFunction
functionTimeoutInSec
Long
函数超时限制,单位:秒。
300
host
String
请求Host。
1234567890.cn-shanghai.fc.aliyun-inc.com
isDarkLaunch
String
是否使用了别名和灰度版本,请参见以下文档:
true
ip
String
请求客户端IP地址。
172.***.***.118
isHTTPS
String
是否使用HTTPS协议。
false
isHTTPTrigger
String
是否为HTTP Trigger触发。
false
latency
Double
函数调用延迟,单位:毫秒。
5017.347
maxMemoryUsage
Double
函数实例最大使用内存,单位:MB。
17.25
memoryLimitInMB
Long
函数实例内存使用限制,单位:MB。
512
meteredRespSize
Long
计费流量,单位:字节。
0
method
String
HTTP请求方法。
POST
mode
String
调用类型的取值说明如下:
sync:同步
async:异步
sync
operation
String
日志分类。
InvokeFunction
path
String
函数调用URL Path。
/2016-08-15/services/MeteringService/functions/ReservedFunction/invocations
qualifier
String
使用的服务版本信息,详情请参见获取执行函数版本。
版本号或者别名
region
String
集群所在地域。
cn-shanghai
requestID
String
函数Request ID。
e9870cbd-2ab2-6c78-3486-cd164015b889
requestOriginalURI
String
原始URI(使用域名绑定后无
/2016-08-15等字样)。/2016-08-15/services/MeteringService/functions/ReservedFunction/invocations
requestSize
Long
函数请求大小,单位:字节。
912
resolveQualifierLatency
Long
解析服务版本使用的时间。
0
responseSize
Long
函数返回大小,单位:字节。
0
runtime
String
函数Runtime。
python2.7
serviceName
String
服务名。
test-service-name
status
Long
客户端将收到的HTTP状态码。
200
timestamp
Long
函数开始处理请求时间戳,单位:秒。
1538137847
userAgent
String
请求端userAgent。
go-sdk-0.1
使用表盘与解读数据指标
- 登录函数计算控制台。
在左侧导航栏,单击概览。
在概览(图示中①)页面右下方的快速入口处,单击配置日志大盘(图示中②)。

在配置日志大盘页面,单击目标日志操作列下的分析日志,可以看到以下相关图表。

参数
说明
计费调用次数
您的函数被执行的次数。除了正确执行,还包含函数内部异常的调用。
资源使用量
函数实例内存×函数执行时间。
公网流出流量
该部分流量仅计算函数返回所产生的计费流量,不包含函数内部通过TCP、UDP等Client发起的请求所产生的流量。
流入流量
仅计算函数接受请求所产生的流入流量,该流量不计入费用。
服务质量
用户错误率:反映由于非系统原因导致函数执行失败的比例。非系统错误包括4xx错误(除去429流控错误)以及函数执行错误,正常值为0。
流控错误率:反映流控导致函数执行失败的比例。流控错误包括非系统配额导致的流控(429)和函数计算系统原因导致的流控(503),正常值为0。
系统错误率:反映函数计算系统导致函数执行失败的比例。系统错误包括5xx错误(除去503流控),正常值为0。
计费执行及函数执行错误
计费调用数:被实际执行并计费的函数调用。
函数错误数:被实际执行了但由于非系统原因导致执行失败的函数调用。
执行时间(毫秒)
平均值:单位时间内,函数的平均执行时间。
函数并发度
并发度限制:您在该地域下账户的并发度配额。
实际并发度:单位时间内实际使用最大并发数。
HTTP函数状态
执行HTTP函数返回给客户端的状态码。
不同状态段代表各段状态码的返回总数目,例如Status_4xx代表单位时间内HTTPStatus的总数,HTTPStatus的取值范围是[400,499]。
Top N函数
默认按资源使用量从大到小排序。
资源使用量(GB-秒):函数实例内存×函数执行时间。
公网流出流量(GB):该部分流量仅计算函数返回所产生的计费流量,不包含函数内部通过TCP、UDP等Client发起的请求所产生的流量。
执行次数:函数调用执行次数。
函数错误数:函数错误数。
最大内存(MB):函数实际使用内存的最大值。
定制个性化Dashboard指南
以下查询语句及图表制作仅供参考,若作为商业使用请谨慎对待。
用户IP地址来源分析
中国访问分布图
使用以下查询分析语句,并选择统计图表类型中的
中国地图。operation:InvokeFunction | SELECT ip_to_province(IF(forwardedFor = '', ip, forwardedFor)) AS“省份”, approx_distinct(IF(forwardedFor = '', ip, forwardedFor)) AS“请求”GROUP BY“省份”LIMIT 50世界访问分布图
使用以下查询分析语句,并选择统计图表类型中的
世界地图。operation:InvokeFunction | SELECT ip_to_country(IF(forwardedFor = '', ip, forwardedFor)) AS“国家”, approx_distinct(IF(forwardedFor = '', ip, forwardedFor)) AS“请求”GROUP BY“国家”LIMIT 50热力分布图
使用以下查询分析语句,并选择统计图表类型中的
热力图。operation:InvokeFunction | SELECT ip_to_geo(IF(forwardedFor = '', ip, forwardedFor)) AS geo, count(1) AS count GROUP BY geo order BY count desc LIMIT 30
userAgent比例分析
使用以下查询分析语句,并选择图表类型中的
饼图。operation:InvokeFunction | SELECT userAgent, COUNT(userAgent) AS count GROUP BY userAgent ORDER BY count DESC LIMIT 20
HTTP函数热门访问链接TOP 20
使用以下查询分析语句,并选择图表类型中的
表格。operation:InvokeFunction and isHTTPTrigger:true | SELECT requestOriginalURI, COUNT(requestOriginalURI) AS count GROUP BY requestOriginalURI ORDER BY count LIMIT 20
设定报警规则
为了更好地掌控函数健康程度,您可以通过添加钉钉机器人,结合日志服务的报警规则来监控健康服务状况。更多信息,请参见设置告警。