API密钥的AWS API Gateway使用情况

Tri*_*ran 6 aws-api-gateway

如何通过API密钥从AWS API Gateway获取使用率指标,例如使用计数器,使用日志等?

我目前正在发送x-api-key到我的集成端点进行手动记录.我不想这样做,让AWS API Gateway为我测量和报告这个指标.

jen*_*ter 7

到目前为止,Cloudwatch中没有关键用法的指标.但网关本身保留了一些使用情况统计数据,尽管不是很详细.

使用计划概述: 使用计划统计

一个API密钥的调用统计信息: api密钥用法

  • 可以通过"获取使用"电话检索此数据,https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-usage.html (3认同)

Hex*_*xie 5

我发现所有日志记录都无法满足我的需要-尤其是因为它还没有按API密钥进行日志记录(坚持认为这仍然是一个)。

所以我创建了自己的自定义日志 -

这样,我可以搜索我的CloudWatch日志并获取我想要的确切数据,即使需要也可以按API密钥获取;

在我的阶段中,我启用了“自定义访问日志”并使用以下格式:

在此处输入图片说明

注意:这些自定义日志,当前仅支持context变量。

  • 我在等待input变量的支持:

文档可以在这里找到:

https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference

使用此自定义日志记录后,我可以打开CloudWatch,按日期过滤并使用搜索字符串搜索所需的任何内容(适合我的自定义日志记录);

  • 例如:对任何BcxvY1以Endpoint 结尾的API密钥进行的所有GET请求/fees

[RequestId,APIKeyText,APIKeyValue="*BcxvY1*",HTTPText,MethodText,HTTPMethodType="*GET*",PathText,PathValue="*/fees,",StatusText,StatusCode,ErrorsText,ErrorsValue,DescriptionText,DescriptionValue=custom_log]

很棒的是,它是完全可定制的。我可以根据需要更改搜索查询。根据需要增加/减少复杂度。

希望这可以帮助。