在我们的设置中,我们有许多由不同团队开发的AWS Lambda函数。其中一些已设置了保留的并发。这消耗了帐户的总并发(1000)。
是否有一种方法可以监视或设置当未保留的货币降至特定水平以下时触发的警报?
这将有助于主动采取措施缓解问题并减少故障。
答案 0 :(得分:0)
在AWS中,AWS CloudWatch中公开了与Lambda并发性相关的预定义指标
并发执行:向您显示该帐户中所有Lambda函数(包括保留和未保留)当时发生的并发执行。
UnreservedConcurrentExecutions :这将显示当时使用无保留并发的并发执行总数。
运行CLI命令时可以看到我正在寻找的信息 并发执行和未保留的并发执行
$ aws lambda get-account-settings
{
"AccountLimit": {
"TotalCodeSize": 1231232132,
"CodeSizeUnzipped": 3242424,
"CodeSizeZipped": 324343434,
"**ConcurrentExecutions**": 10000,
"**UnreservedConcurrentExecutions**": 4000
},
"AccountUsage": {
"TotalCodeSize": 36972950817,
"FunctionCount": 1310
}
}
不可能在仪表板上获得这些值。由于我们无法执行API调用来在仪表板上获取和显示数据。
解决方案
我们可以创建一个lambda函数,在该函数中,我们可以使用API提取ConcurrentExecutions和UnreservedConcurrentExecutions的帐户范围的值/设置。然后,我们可以创建将两个值发送到CloudWatch的新指标。我们可以使用CloudWatch Events安排AWS Lambda函数。 一旦有了指标,就可以为“未保留的并发”设置所需的警报。