AWS Lambda 监控集成
借助 AWS Lambda,您可以将后端服务和应用程序配置为事件驱动函数,并根据需求自动扩展,无需预置和管理计算资源。使用 Site24x7 的 AWS Lambda 集成,您可以监控关键的 Lambda 指标和函数执行日志,从而优化执行时间和性能。
此外,您还可以通过 Site24x7 监控 Lambda@Edge、Lambda Extensions 和 Lambda Managed Instances。
设置与配置
- 如果尚未完成,请通过创建 IAM 用户或跨账户 IAM 角色来授予 Site24x7 访问您 AWS 账户的权限。了解更多。
- 在集成 AWS 账户页面,请确保已勾选 Lambda 函数列表旁的复选框。了解更多。
策略与权限
Site24x7 发现和监控 Lambda 函数需要以下权限。了解更多。
- "lambda:ListFunctions",
- "lambda:ListTags",
- "lambda:GetFunctionConfiguration",
- "lambda:GetAccountSettings",
- "logs:DescribeLogStreams",
- "logs:GetLogEvents",
- "lambda:GetPolicy"
收集函数执行日志
要让 Site24x7 收集和存储应用程序代码生成的日志,请提供以下权限:
- logs:Describe*:列出指定日志组的日志流
- logs:Get*:列出指定日志流的日志事件
在开始之前,请确保分配给 Lambda 函数的执行角色具有将请求和函数执行日志发布到 CloudWatch Logs 所需的权限。
轮询频率
Site24x7 按照设定的轮询频率(1 分钟到 1 天)查询 CloudWatch API,以收集 Lambda 函数的性能指标。了解更多。
受监控的资源
查看与 Lambda 监视器关联的受监控资源列表。点击具体条目可查看与该资源关联的性能和资源使用统计信息。您还可以通过点击操作列下的铅笔图标设置阈值,并在任一服务出现故障时收到通知。
IT 自动化
您可以为 Site24x7 支持的 AWS 服务添加自动化。登录 Site24x7,前往 Admin > IT Automation Templates (+) > Add Automation Templates。添加自动化后,您可以安排它们按顺序依次执行。
您现在可以使用 Amazon Lambda 自动化来调用 Lambda 函数。
支持的性能计数器
| 属性 | 描述 | 统计方式 | 数据类型 |
|---|---|---|---|
| Invocation Duration | 统计代码因事件源或外部 API 请求而被执行的次数,包括成功和失败的调用。 | 总计与平均值 | 次数 |
| Invocation Errors | 统计因应用程序代码错误导致 Lambda 函数调用失败的次数。返回 4xx 响应代码的调用计入此计数器,因超出并发限制或内部服务故障(5xx 响应代码)导致的失败不计入。 | 总计与平均值 | 次数 |
| Execution Duration | 统计无服务器应用程序代码因事件源调用而开始执行到停止执行之间的耗时。 | 总计与平均值 | 毫秒 |
| Execution Throttles | 统计 Lambda 函数调用请求被限流的次数,通常发生在函数调用速率超过并发限制时。 | 总计与平均值 | 次数 |
| Iterator Age | 统计每批处理记录中最后一条记录的存在时长,仅适用于基于流的调用。 | 总计 | 次数 |
| Dead Letter Error | 当 Lambda 无法将失败的事件负载写入已配置的死信队列时,该计数器递增。 | 总计 | 次数 |
| Concurrent Executions | 正在处理事件的函数实例数量。 | 最大值 | 次数 |
| Post Runtime Execution Duration | 运行时 Next API 请求与最后一个扩展 Next API 请求之间的累计耗时。 | 最大值 | 毫秒 |
| URL Request Count | 统计 URL 函数请求的数量。 | 总计 | 次数 |
| URL 4xx Count | 统计返回 4xx HTTP 状态码错误的请求数量。4xx 系列错误通常由客户端请求错误引起。 | 总计 | 次数 |
| URL 5xx Count | 统计返回 5xx HTTP 状态码错误的请求数量。5xx 系列错误表示服务器端错误,例如函数错误和超时。 | 总计 | 次数 |
| URL Request Latency | 统计函数 URL 接收并响应请求所花费的时间。 | 平均值 | 毫秒 |
配置详情
| 元数据 | 描述 |
|---|---|
| Runtime | 应用程序代码的运行时环境。 |
| Handler | AWS Lambda 服务调用来执行应用程序代码的函数。 |
| Role ARN | 函数创建时分配的 IAM 角色的 Amazon 资源名称,定义函数的权限。 |
| Region | 函数执行所在的区域。 |
| Amazon Resource name (ARN) | 函数的名称。 |
| Description | 用户自定义的函数描述。 |
| Version | 应用程序代码的版本。 |
| Last modified time | 函数上次更新的时间戳。 |
| Memory size | 为函数配置的内存大小。 |
| Timeout(secs) | Lambda 服务终止函数的超时时间。 |
| Code Size | 压缩部署包的大小。 |
| Code SHA256 | 函数部署包的 SHA256 哈希值。 |
| KMS key ARN | 用于加密函数环境变量的 KMS 密钥的 Amazon 资源名称。 |
| Master ARN | 主函数的 Amazon 资源名称。 |
| VPC ID | 与 Lambda 函数关联的 VPC ID。 |
| Security groups | 与 Lambda 函数关联的安全组。 |
排查函数错误
您可以通过以下方式在 Site24x7 控制台中查看无服务器应用程序的日志数据:
- 在 Lambda 详情页中选择"Recent logs"标签页,查看最近发布的代码生成日志,审查函数执行时长、内存消耗、事件源和错误信息。

- 查看与"errors"指标阈值违规相关的中断日志记录。前往中断标签页,选择与"errors"指标违规相关的中断事件,点击
并选择"View Logs"。

使用 Webhook 集成 AWS Lambda 函数 URL
通过 Webhook,您可以将 Site24x7 数据与多个应用程序连接。在此场景中,Hook URL 即 AWS Lambda 函数 URL,当 Site24x7 中发生特定事件(例如监视器状态变为故障或严重)时,将触发 Webhook,并通过 HTTP 请求向 Lambda 函数 URL 发送信号。
Site24x7 中的任何触发事件都会将事件数据发布到您指定的 AWS Lambda 函数 URL,让您能够在任何第三方应用程序中集中管理关键的 Site24x7 告警、事件或消息。
CORS(跨源资源共享)
跨源资源共享(CORS)是一种允许从一个 URL 向另一个 URL 发起请求的机制。这些请求可以是简单请求、预检请求和凭据请求。
CORS 中的 Headers:
您可以通过 Webhook 添加如下 HTTP 头:

- Access-Control-Allow-Origin:检查响应是否可与来自指定源的请求代码共享。
- Access-Control-Allow-Credentials:检查当凭据标志为 true 时,请求的响应是否可以被暴露。
Public Endpoint API
通过 Site24x7,您还可以借助 Webhook 访问公共端点。
集成级别
您可以选择所需的集成级别,将来自特定监视器的告警或来自整个 Site24x7 账户的所有告警推送到 AWS Lambda 函数 URL。
- 监视器级别集成允许您选择特定监视器发送告警。
- 标签级别集成允许您选择特定标签,发送来自与该标签关联的 Site24x7 监视器的告警。
- 所有监视器级别集成允许您发送所有 Site24x7 告警。
请参阅 Webhook 集成了解更多信息。
