监控基础架构

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

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

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

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 方法发送的,其内容在请求正文中编码,那么您无法在日志中浏览这些内容。

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

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

现在需要执行哪些操作?

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

在哪里寻求支持?

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