Google App Engine 中对 `/nginx_metrics` 的请求来自哪里

Where are the requests to `/nginx_metrics` coming from in Google App Engine

我正在 运行在 Google App Engine 上运行网络服务。这是一个简单的网络服务器,有几条路线。 none 其中 /nginx_metrics。这是我的 app.yaml 文件:

runtime: custom
env: flex

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 2
  cool_down_period_sec: 180
  cpu_utilization:
    target_utilization: 0.6

resources:
  cpu: 4
  memory_gb: 4
  disk_size_gb: 10

我 运行 这个,我看到似乎正在命中 /nginx_metrics 的持续不断的请求流,并且日志显示它以 200 状态响应。我不确定这是从哪里来的,因为我没有给我的应用程序任何类型的 nginx 实例。它并没有真正打扰我,但我想在没有这个的情况下阅读我的日志,但我无法这样做。

我得到了这个流:

2022-03-28 04:00:37 default[20220328t092456]  "GET /nginx_metrics" 200
2022-03-28 04:00:52 default[20220324t171711]  "GET /nginx_metrics" 200

甚至我的应用程序日志似乎都带有 default 前缀。我该如何解决这个问题?

/nginx_metrics 端点由 GAE 调用以从客户 Flex VM 检索指标。该端点未公开,它在 docker 桥接网络 172.17.0.1 上公开,但您无法从 appspot URL 向 /nginx_metrics 发送请求(您可能需要检查一下) 该路径针对与您的应用程序一起部署的边车容器之一(在每个实例的另一个容器上)。那个容器是opentelemetry-collector那个,你可以通过SSHing into a flex instance. If you want to check the source of the container it should be running something similar to : https://github.com/GoogleCloudPlatform/appengine-sidecars-docker/tree/main/opentelemetry_collector.

查看

Google 已意识到此问题,并且 /nginx_metrics 已记录在 nginx 请求日志中(这不是预期的行为),我们正在努力解决此问题。您可以期待在下一次 Flex 运行时更新中解决此修复问题。

关于你的第二个问题,默认服务是每个日志的前缀:

如果您在部署应用程序或输入 gcloud 命令时未指定任何服务名称:gcloud app deploy 而不是 gcloud app deploy service-name-app.yaml,您的应用程序将部署在默认服务的另一个版本中。这就是为什么您会在每个成功的日志前看到 default[some-numbers],其中 default 是服务,[20220328t092456] 是 version-name,告诉您已在 3 月 28 日部署了此版本,2022.