如何在GCP Logs Explorer中查找App Engine标准环境防火墙日志
定位并查看App Engine防火墙日志的步骤
1. 先明确防火墙类型
App Engine有两类防火墙,日志存储位置不同:
- 原生App Engine防火墙:直接在App Engine控制台配置的规则
- VPC防火墙规则:若你的App Engine服务连接了VPC网络,使用的是VPC层面的防火墙规则
2. 查看原生App Engine防火墙日志
这类日志并非独立日志集,而是嵌入在普通请求日志中,只需通过特定字段筛选:
- 打开Log Explorer,输入以下过滤器(替换
[你的项目ID]为实际项目ID):
这条规则会筛选出被原生防火墙拦截的请求日志,其中resource.type="gae_app" logName="projects/[你的项目ID]/logs/appengine.googleapis.com%2Frequest_log" httpRequest.status=403 jsonPayload.firewall_rule_name:*jsonPayload.firewall_rule_name字段会显示触发的具体规则名称。 - 简化操作方式:在Log Explorer的「资源类型」选择
gae_app,再添加两个过滤条件:httpRequest.status = 403+jsonPayload.firewall_rule_name exists
3. 查看VPC防火墙规则日志(若使用VPC)
如果你的App Engine服务配置了VPC访问(比如通过Serverless VPC Access),VPC防火墙日志归在Compute Engine日志范畴:
- 在Log Explorer中使用以下过滤器(替换
[你的项目ID]和[你的App Engine服务账号]):
即可找到针对App Engine流量的VPC防火墙拦截/允许日志。resource.type="gce_firewall_rule" logName="projects/[你的项目ID]/logs/compute.googleapis.com%2Ffirewall" jsonPayload.targetTags:"appengine" OR jsonPayload.targetServiceAccounts:"[你的App Engine服务账号]"
4. 快速排查技巧
- 不要直接搜索「firewall」作为日志名称,原生App Engine防火墙日志是嵌入在请求日志里的,没有独立的日志集名称
- 可以在Log Explorer的「日志名称」下拉菜单中直接选择
appengine.googleapis.com/request_log,再补充状态码和防火墙字段的过滤条件 - 不确定防火墙类型的话,先检查App Engine控制台的「防火墙」页面是否配置了原生规则,再确认是否启用了VPC访问
内容的提问来源于stack exchange,提问作者Amin Gheibi
相关产品推荐
相关产品推荐

