AI Agent Bedrock API调用追踪实战指南
你的AI Agent每天对Bedrock发起多少次调用?使用哪个模型?是否存在异常调用?AWS账号中的所有API调用均被CloudTrail记录,但Bedrock的InvokeModel作为数据事件默认不记录,需手动启用。
启用配置
进入CloudTrail控制台,为追踪器添加高级事件选择器,单独筛选Bedrock模型调用。命令如下:
aws cloudtrail put-event-selectors
--trail-name your-trail
--advanced-event-selectors '[{
"Name": "Bedrock events",
"FieldSelectors": [
{"Field": "eventCategory", "Equals": ["Data"]},
{"Field": "resources.type", "Equals": ["AWS::Bedrock::Model"]}
]
}]'
检索案例
数据同步至CloudWatch Logs后,即可在Logs Insights中直接查询。例如:
按模型统计调用次数:
fields requestParameters.modelId
| filter eventSource = "bedrock.amazonaws.com" and eventName = "InvokeModel"
| stats count() as cnt by requestParameters.modelId
| sort cnt desc
查询非工作时间段调用:
filter eventSource = "bedrock.amazonaws.com"
| filter datepart(@timestamp, "hour") < 6 or datepart(@timestamp, "hour") > 22
配置告警
仅靠查询效率不足,最佳实践是搭配CloudWatch Metric Filter与告警,当调用量超过阈值时,自动通过SNS发送通知。
日志存储策略
- S3存储长期数据以降低成本,90天后自动转存至Glacier归档
- CloudWatch Logs保留30天用于实时查询和告警
上述方案已在亚马逊云科技环境中验证通过,可直接部署使用。
