监控基础架构

服务器端代码植入设置升级为可正式投入使用后,您需要采取积极措施来监控部署情况。

您应该定期检查部署的状态,特别要注意下面的关键检查点:

  • 首次部署环境时以及接下来的几天/几周内,目的是确保您为传入流量提供了足够的计算资源
  • 已知的流量高峰(例如季节性广告系列开始投放时或大规模投放之前)之前。

Google Cloud Platform 中提供了三个实用的监控工具,分别是 Cloud Run 报告Cloud Logging结算报告

Cloud Run 报告

如果您在 Google Cloud Run 上运行服务器端代码植入环境,则可以在 Google Cloud Platform 控制台的 Cloud Run 部分访问一些非常实用的报告。

您点击 Cloud Run 服务后,系统会显示一个信息中心,其中包含有关代码植入服务器整体健康状况的便捷报告。

Google Cloud Platform 中 Cloud Run 报告的屏幕截图
  1. 选择要查看多长间隔时间内的统计信息。
  2. 请求数卡片会显示到达服务的请求数量。此数字每 60 秒采样一次,且划分为不同的 HTTP 响应代码(例如 2XX、4XX、5XX)。
  3. 容器实例计数卡片会显示指定时间内部署的实例数量。如果实例数低于您配置的下限值,说明您选择的 Google Cloud 区域可能存在资源可用性问题。
  4. 容器 CPU 利用率卡片会显示服务的 CPU 总使用率。您可以观察到,如果实例的 CPU 使用率超过 0.6 (60%),Cloud Run 将如何创建更多实例。如果您看到 CPU 总使用率持续接近或超过目标阈值,则表示实例数下限过低。

如果您怀疑其中任意一个图表或报告存在问题,建议的恢复步骤是通过 Cloud Run 界面部署新修订版本,即使完全保留相同的设置。这会强制重新部署您的服务器端代码植入环境。

有时,运行您的服务所用的 Google Cloud 区域(默认为 us-central1)可能会存在资源可用性问题。可通过 Cloud Logging(见下文)以及 Google Cloud Service Health 信息中心来验证这些问题。

Cloud Logging

Cloud Run 会自动将一些与您的环境健康状况有关的实用信息记录到名为 Cloud Logging 的 Google Cloud 服务中。

如需浏览服务日志,请前往日志浏览器

用于评估日志的信息中心的屏幕截图。
  1. 选择要查看哪个日期范围内的统计信息。
  2. 输入查询以过滤日志(您可以在下面找到实用的查询)。
  3. 开启直方图即可快速查看日志所包含的严重级别(例如信息、警告和错误)。
  4. 点击列表中的任意日志可查看关于该条目的更多详细信息。

以下是一些有助于您监控此设置的实用查询:

过滤系统错误

severity = "ERROR" 查询用于过滤被归类为服务错误的日志条目。如果您怀疑实例出现了服务中断或其他问题,此查询会非常有用。例如,严重级别为 ERROR 的日志条目可能具有如下说明:ZONE_RESOURCE_POOL_EXHAUSTED。此错误表示 Google Cloud Platform 无法为您提供所需的实例。

过滤错误的 HTTP 请求

httpRequest.status >= 400 查询用于过滤日志,以显示服务器端跟踪代码管理器使用错误状态(HTTP 状态代码 400 或更高)响应的 HTTP 请求。

400 错误通常表示请求已发送到服务器端代码植入端点,但没有客户端声明该请求。这些请求可能是来自漫游器和抓取工具的请求,可以忽略。不过,如果您的数据流造成 400 错误,您需要查看服务器容器客户端的配置。

5XX 错误表示 Google Cloud 服务本身存在问题。这些错误可能表示健康检查失败负载均衡器存在问题。如果您的环境正面临资源耗尽问题,一个典型的表现就是,您也会开始看到更多此类 5XX 错误。

过滤标准输出日志

logName: "stdout" 查询用于返回服务的标准输出日志。如果您的服务器端资源(客户端、代码和变量)使用 logToConsole Sandbox API 记录相关信息,不妨参考此日志。

过滤传入 HTTP 请求

logName: "logs/requests" 返回日志用于表示实际传入的 HTTP 请求本身。仅当您在运行 Shell 脚本或添加其他日志过滤器尚未停用请求日志记录的情况下,系统才会显示这些日志。

您可以通过点击列表中的相关行来展开请求详情,但请注意,日志中提供 HTTP 请求正文。您只能看到请求网址和其他元数据。例如,如果请求是使用 POST 方法发送的,其内容在请求正文中编码,那么您无法在日志中浏览这些内容。

恭喜您完成此在线学习课程!

请参加问卷调查,帮助我们改进课程。

现在需要执行哪些操作?

如果您仍需要配置其他代码,请查看服务器端代码植入相关文档:

在哪里寻求支持?

如果您在植入衡量代码方面需要更多支持,可以联系我们的认证合作伙伴或咨询社区。