根据 api 网关中的子域监控传入请求

Monitor incoming requests based on subdomain in api gateway

我正在为 API 网关使用通配符子域,因此请求来自不同的子域。

例如:我收到来自 abc.domain.com/api、def.domain.com/api、xyz.domain.com/api 等的请求

我已经在 Cloud watch 中创建了仪表板和警报,用于获取进入 apigateway 的总请求数

现在我想监控来自每个子域的请求数。我尝试使用主机名过滤指标,但没有成功。我尝试使用 AWS x-ray 但无法获得准确的计数,它 returns 一个采样响应。

我想查看每个子域的流量。我可以为每个 API 添加一个日志,但我不确定如何使用它在云监视中创建仪表板和警报。如果在 API 网关中无法实现,是否有任何其他方法可以实现此目的?

感谢任何形式的帮助。

如果您在 API 网关中启用了 API 秒的访问日志,如所解释的 here then it provides a domain infomation over which you can create custom query and visualize in a graph. For a sample query take a look here ( you would need grouping 而不是过滤器)

设置自定义访问日志后,您可以查询它们以使用自定义域名找到更多见解(注意:您需要 grouping 而不是一个过滤器)

Go to CloudWatch Logs Insights console. In the log group text field, select the CloudWatch log group, APIGateway_CustomDomainLogs. Enter the following query.

fields @timestamp, @message
| filter DomainName like /(?i)(test.example.com)/