我正在尝试调试 waf 规则。我已将其设置为在 Cloud Armour 中预览,并检查该策略是否已应用于我的所有 3 项服务。然后我进入负载均衡器并单击编辑(只有一个负载均衡器),然后选择“后端配置”,然后单击运行我的 API 的服务旁边的铅笔图标。在侧边栏中,我选中了“启用日志记录”并将速率设置为 1(捕获所有事件),然后单击更新以保存我的更改,然后在上面的页面中进行更新以确保万无一失。然后我返回以验证更改是否已生效。
现在已经 15 分钟了,尽管我执行了几个触及该项目中的 api 的操作,但没有任何日志的迹象。
我尝试使用过滤器在云端控制台中查找:
resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(owasp-policy)
我尝试在 Cloud Shell 中寻找 DENY 结果:
gcloud logging read 'resource.type="http_load_balancer" AND jsonPayload.previewSecurityPolicy.outcome="DENY"' --format=json --limit=1
我也尝试过寻找接受的结果:
gcloud logging read 'resource.type="http_load_balancer" AND jsonPayload.previewSecurityPolicy.outcome="ACCEPT"' --format=json --limit=1
但我什么也没得到。控制台中没有结果,[]
Shell 中只有一个空数组。
日志需要这么长时间才能开始显示,这正常吗?还是有什么问题?如果是这样,我将非常感激任何可能我遗漏的步骤的指示,或者我可以使用故障排除技术来找出为什么我没有得到结果。
更新:现在已经过去半个多小时了,这个不太具体的查询也没有返回任何内容,如果负载均衡器日志记录确实发生了,那么这肯定是错误的:
gcloud logging read 'resource.type="http_load_balancer"' --format=json --limit=1
:/
答案1
load_balancer/main.tf
因此,我们通过在Terraform 文件中添加以下内容来启用日志记录resource
...
log_config {
enable = true
}
请注意,我们仅针对我们的一个开发环境执行了此操作,因为所有日志记录可能会在生产中开始累加。
:)