go x/build: 设置针对报告给stackdriver的错误的警报

2mbi3lxu  于 9个月前  发布在  Go
关注(0)|答案(9)|浏览(93)

当前我们收到了一堆错误报告,例如:
9/4/17 7:53AM: buildID: B32739cd61, name: windows-amd64-2016, hostType: host-windows-amd64-2016, error: failed to get a buildlet: Error creating instance: &{Code:QUOTA_EXCEEDED Location: Message:Quota 'CPUS' exceeded. Limit: 500.0 ForceSendFields:[] NullFields:[]}
8/4/17 7:53AM: buildID: B059b7649c, name: openbsd-amd64-60, hostType: host-openbsd-amd64-60, error: failed to get a buildlet: Failed to create instance: googleapi: Error 403: Quota 'CPUS' exceeded. Limit: 500.0, quotaExceeded
at main.(*buildStatus).reportErr (coordinator.go:1951)
...等等
这可能不是一个紧急的问题,因为协调器的重试逻辑至少足以确保构建最终能够运行。
编辑:
我们需要找出哪些错误是噪音,并对其余的进行警报。

xyhw6mcr

xyhw6mcr1#

尽管我们或许应该考虑为更多CPU付费。

xdnvmnnf

xdnvmnnf2#

是的,这不是一个可警报的问题。
这是在负载高峰期间的正常现象,不会影响用户或构建。
协调器试图进行自己的节流和配额的死记硬背,但似乎从GCP报告的配额存在一些延迟,导致我们的内部使用核算和使用信号量出现问题。
尽管如此,我们可能应该考虑购买更多的CPU。
这只是一个简单的票据来增加配额,但它实际上并不能解决问题。在几次提交中,我们几乎总是有比CPU更多的工作要做,无论我们的CPU限制是多少。有时候偶尔超过限制几分钟是可以接受的。
更好的做法是完成调度器: #19178

l2osamch

l2osamch3#

听起来不错。

o0lyfsai

o0lyfsai4#

我认为你应该保持这个bug打开,以修复你的日志记录/警报。
你不应该得到误报。

3df52oht

3df52oht5#

啊,没有生成警报。只是记录了错误。
实际上,我根本没有设置任何警报。仍在努力了解什么是正常的,什么是不正常的。
好的,我会修改这个bug来直接解决这个问题(决定要警报的内容并设置警报),然后重新打开。听起来怎么样?
我们应该对#反向构建器警报内容做类似的事情。因为现在它只是噪音。
我可以今天处理那个。cc @shantuo

yqhsw0fo

yqhsw0fo6#

https://golang.org/cl/53353提到了这个问题:cmd/buildlet: normalize macstadium host names for monitoring

piah890a

piah890a7#

https://golang.org/cl/96416提到了这个问题:devapp: start of status handler for monitoring

guz6ccqo

guz6ccqo8#

https://golang.org/cl/97516提到了这个问题:devapp: revert status changes

e1xvtsh3

e1xvtsh39#

https://golang.org/cl/210740提到了这个问题:status: delete unused, incomplete status client & server

相关问题