监控 Google Cloud Run 内存使用情况
Posted
技术标签:
【中文标题】监控 Google Cloud Run 内存使用情况【英文标题】:Monitor Google Cloud Run memory usage 【发布时间】:2020-01-16 16:14:32 【问题描述】:是否有任何内置方法可以监控在托管 Google Cloud Run 实例中运行的应用程序的内存使用情况?
在托管 Cloud Run 服务的“Metrics”页面中,有一个名为“Container Memory Allocation”的项目。但是,据我了解,此图指的是实例的最大分配内存(在设置中选择),而不是容器内实际使用的内存。 (如果我错了,请纠正我。)
在托管 Cloud Run (https://cloud.google.com/monitoring/api/metrics_gcp#gcp-run) 的可用指标的 Stackdriver Monitoring 列表中,似乎也没有与内存使用相关的任何指标,仅与分配的内存有关。
提前谢谢你。
【问题讨论】:
【参考方案1】:Cloud Run 现在在 Cloud Monitoring 中公开了一个名为“内存利用率”的新指标,请参阅here 的更多详细信息。
此指标捕获修订的所有容器实例中的容器内存利用率分布。建议查看此指标的百分位数:第 50 个百分位数、第 95 个百分位数和第 99 个百分位数,以了解您的实例的利用率
【讨论】:
【参考方案2】:目前,似乎无法通过 Stackdriver 或“Cloud Run”监控 Google Cloud Run 实例的内存使用情况" Google Cloud Console 中的页面。
我已代表您提交了功能请求,以便将内存使用量指标添加到 Cloud Run。您可以在以下link 中查看和跟踪此功能请求。
【讨论】:
【参考方案3】:目前没有关于内存利用率的指标。但是,如果您的服务达到内存限制,Stackdriver Logging 中将显示以下日志,严重程度为 ERROR 级:
"Memory limit of 256M exceeded with 325M used. Consider increasing the memory limit, see https://cloud.google.com/run/docs/configuring/memory-limits"
(相应地替换特定数字。)
根据此日志消息,您可以为超出的内存创建基于日志的指标。
【讨论】:
以上是关于监控 Google Cloud Run 内存使用情况的主要内容,如果未能解决你的问题,请参考以下文章
GCP - 无法在 Cloud Run 中使用 Google Secret Manager (@google-cloud/secret-manager)
Google Cloud Tasks 无法向 Cloud Run 进行身份验证
输入使用 Google Cloud Run 运行的 docker 容器