我们如何捕获 google Vertex AI 上的所有容器日志?

问题描述 投票:0回答:2

我有一个在人工智能平台上进行在线预测的端点(统一) 并且只能找到 severity >= ERROR 的日志..

模型部署使用:

--enable-container-logging

容器内的记录器代码:

module_logger = logging.getLogger("MODULE_NAME")
module_logger.setLevel(logging.INFO)

handler = logging.StreamHandler()
handler.setFormatter("%(asctime)s — %(name)s — %(levelname)s — %(funcName)s:%(lineno)d — " "%(message)s")
module_logger.addHandler(handler)

查询:

resource.type="aiplatform.googleapis.com/Endpoint" resource.labels.endpoint_id="ENDPOINT_ID" resource.labels.location="us-central1"

两个问题:

  1. 我们如何确保容器记录的所有日志都被记录并在日志查看器中看到?

  2. 这有多严重?控制台/平台是如何推导出来的?

gcloud google-ai-platform
2个回答
5
投票

回答我自己:

  1. 记录到 stdout 或 stderr 的容器日志由 gcloud 记录器捕获
  2. 似乎没有明确的文档,但似乎
    stderr
    日志被解释为具有严重性
    ERROR
    ,而标准输出是
    INFO

0
投票

截至今天,当前的行为是,如果启用了容器日志记录,请参阅文档,日志会显示在 Cloud Logging 中,并且

stderr
日志将被解释为具有严重性
ERROR
,而
stdout
INFO
,无论尝试使用结构化日志记录。我进行了实验,在 Vertex AI Endpoint 和 GKE Pod 的容器中打印相同的结构化日志。

这是 GKE 的结果 gke logs 这是来自 Vertex AI Online Endpoint 的结果 vertex ai logs

您可以看到日志不同,尽管使用相同的代码来编写它们。

© www.soinside.com 2019 - 2024. All rights reserved.