【发布时间】:2021-10-02 13:05:39
【问题描述】:
我正在GCP 上运行Vertex AI custom training job(使用自定义容器进行机器学习训练)。我想在作业失败时创建一个Pub/Sub 消息,以便我可以在 Slack 之类的聊天中发布消息。日志文件(Cloud Logging) 看起来像这样:
{
insertId: "xxxxx"
labels: {
ml.googleapis.com/endpoint: ""
ml.googleapis.com/job_state: "FAILED"
}
logName: "projects/xxx/logs/ml.googleapis.com%2F1113875647681265664"
receiveTimestamp: "2021-07-09T15:05:52.702295640Z"
resource: {
labels: {
job_id: "1113875647681265664"
project_id: "xxx"
task_name: "service"
}
type: "ml_job"
}
severity: "INFO"
textPayload: "Job failed."
timestamp: "2021-07-09T15:05:52.187968162Z"
}
我正在使用以下查询创建日志路由器接收器:
resource.type="ml_job" AND textPayload:"Job failed" AND labels."ml.googleapis.com/job_state":"FAILED"
我面临的问题是 Vertex AI 会在将作业声明为失败之前重试作业 3 次,但在日志文件中消息是相同的。下面你有 3 个例子,只有最后一个失败了 3 次的例子最后真的失败了。
例如,在日志文件中,我没有任何计数 ID。知道如何解决这个问题吗?如果我需要在我的所有项目中这样做,创建一个 BigQuery 表来跟踪每个 resource.labels.job_id 的失败次数似乎有点过头了。有没有办法通过resource.labels.job_id 进行分组并在 Logs Router Sink 中计数?
【问题讨论】:
标签: google-cloud-platform google-cloud-logging google-cloud-vertex-ai