![Stackdriver 进程健康警报无法解决](https://linux22.com/image/691836/Stackdriver%20%E8%BF%9B%E7%A8%8B%E5%81%A5%E5%BA%B7%E8%AD%A6%E6%8A%A5%E6%97%A0%E6%B3%95%E8%A7%A3%E5%86%B3.png)
周四下午,我们在 Google Cloud 上的项目(可能全部)都迁移到了较新版本的 Stackdriver。此时,我们所有的进程健康警报都被触发了。这有点吓人,但我们意识到发生了什么,所以没有造成严重损害。然而从那时起:
- 已触发的任何进程健康警报都停留在警报状态
- 任何新的警报都可以触发一次(通过手动停止受监控的进程),然后这些警报也会卡在该警报状态。
迄今为止尝试过的修复方法:
- 升级了 stackdriver-agent
- 重新创建了一些警报
- 已验证在 app.google.stackdriver.com 上我可以看到每个实例上所有正在运行的进程。
重新启动 stackdriver-agent 后我确实看到一个警告:
未获得与 GCM API 对话的授权,因此将恢复使用旧版...(警告)
还有人遇到同样的问题吗?
答案1
迁移到新的 Stackdriver 服务后,您可能会遇到某些实例发出的误报健康警报,这些实例最初未配置所需的 API 范围,或者未安装启用标志的监控代理'--write-gcm'
。
要验证实例范围是否正确,请参阅文档部分'验证 Compute Engine 凭据' 以了解如何在 Cloud Console 中执行此操作。如果您没有只写或者满的权限的云监控 API,文档将指导您在最后一步中设置私钥服务帐户凭据,部分为“添加凭证“”。
或者,如果您重新创建实例而不删除启动磁盘,则正确的范围将默认添加到 Compute Engine 凭据中。
您还应确保监控代理已安装标志'--write-gcm'
,如“在 Linux 上安装'。最后,确保云端监控API已在您的项目中启用。