监控复合健康状况
本页面介绍了如何监控使用复合健康状况的已发布服务的健康状况。您可以执行以下操作:
- 监控当前健康状态:检查 已发布服务或单个后端服务的实时健康状态。
- 查看健康状态转换的日志:使用 Cloud Logging 查看 记录受监控资源健康状态变化的日志条目。
您可以通过与已发布服务关联的复合健康检查来监控已发布服务,并通过与单个后端服务关联的健康状况来源来监控单个后端服务。服务使用方可以查看 Private Service Connect NEG 的日志,这些 NEG 连接到使用复合健康状况的已发布服务。
复合健康状况使用以下状态来表示已发布服务和后端服务的健康状况。
| 健康状况 | 受监控的资源 | 说明 |
|---|---|---|
HEALTHY |
健康状况来源 | 关联的后端服务健康状况良好,如其健康状况汇总政策所定义。 |
| 复合健康检查 | 已发布服务健康状况良好,因为其关联的每个健康状况来源都健康状况良好。 | |
| Private Service Connect NEG | 关联的已发布服务健康状况良好,如提供方的复合健康检查所定义。 | |
UNHEALTHY |
健康状况来源 | 后端服务不符合其健康状况汇总政策中定义的条件。 |
| 复合健康检查 | 已发布服务健康状况不佳,因为一个或多个关联的健康状况来源健康状况不佳。 | |
| Private Service Connect NEG | 关联的已发布服务健康状况不佳,如发布方的复合健康检查所定义;此状态可能会触发跨区域故障切换。 | |
UNKNOWN |
健康状况来源 | 健康状态尚不可用。这是在资源刚刚创建或配置时出现的暂时状态。 |
| 复合健康检查 | 没有关联的健康状况来源健康状况不佳,但一个或多个健康状况来源未知。 | |
| Private Service Connect NEG | 关联的已发布服务的健康状态尚不可用。 |
准备工作
您必须先配置复合健康状况 ,然后才能使用它来监控已发布服务的健康状况。
所需的角色
如需获得监控复合健康状况所需的权限,请让您的管理员向您授予项目的以下 IAM 角色:
-
检查健康状况来源或复合健康检查的健康状态:
Compute Viewer (
roles/compute.viewer) -
查看复合健康状况日志记录:
Logs Viewer (
roles/logging.viewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
检查单个健康状况来源的健康状态
本部分介绍了如何检索有关健康状况来源的以下信息:
- 总体健康状态
- 与健康状况来源的后端服务关联的每个实例组或 NEG 中健康状况良好的端点数与端点总数之比
如果健康状况来源与具有多个转发规则的内部直通式网络负载均衡器的后端服务相关联,则会针对每个负载均衡器的转发规则单独计算健康状态。在这种情况下,健康状态详细信息包含一个 forwardingRule 字段,用于标识正在评估的转发规则。
控制台
在 Google Cloud 控制台中,前往复合健康状况页面:
点击健康状况来源 。
点击要查看的健康状况来源的名称。
如需查看更多详细信息,请在健康状态 部分中,点击 展开箭头旁边的 要查看的后端服务。如果显示了转发规则,请点击转发规则旁边的展开箭头,以查看关联后端的健康状态。
gcloud
使用 gcloud compute health-sources get-health 命令。
gcloud compute health-sources get-health HEALTH_SOURCE \
--region=REGION
替换以下内容:
HEALTH_SOURCE:健康状况来源的名称REGION:健康状况来源的区域
API
向 regionHealthSources.getHealth 方法 发送请求。
HTTP 方法和网址:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE/getHealth
替换以下内容:
PROJECT_ID:您的项目的 IDREGION:健康状况来源的区域HEALTH_SOURCE:健康状况来源的名称
检查复合健康检查的健康状态
本部分介绍了如何检查复合健康检查的健康状态,包括以下信息:
- 受监控的区域级已发布服务的总体健康状态
与复合健康检查关联的每个健康状况来源的单独健康状态
控制台
在 Google Cloud 控制台中,前往复合健康状况页面:
点击要查看的复合健康检查的名称。
如需查看更多详细信息,请在健康状态 部分中,点击 展开箭头旁边的 要查看的复合健康检查。
gcloud
使用 gcloud compute composite-health-checks get-health 命令。
gcloud compute composite-health-checks get-health COMPOSITE_CHECK_NAME \
--region=REGION
替换以下内容:
COMPOSITE_CHECK_NAME:复合健康检查的名称REGION:复合健康检查的区域
API
向 regionCompositeHealthChecks.getHealth 方法发送请求。
HTTP 方法和网址:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks/COMPOSITE_CHECK_NAME/getHealth
替换以下内容:
PROJECT_ID:您的项目的 IDREGION:复合健康检查的区域COMPOSITE_CHECK_NAME:复合健康检查的名称
查看复合健康状况日志
您可以使用
Cloud Logging跟踪健康状态的变化。
每当健康状态发生变化
(例如从 HEALTHY 变为 UNHEALTHY)时,系统都会生成这些日志。
默认情况下,系统会为健康状况来源、复合健康检查以及连接到配置为使用复合健康状况的已发布服务的 Private Service Connect NEG 启用日志记录。
如需详细了解如何查询和分析日志数据, 请参阅使用 Logs Explorer 和 Observability Analytics 分析日志。
控制台
如需查看复合健康状况日志,请执行以下操作。
在 Google Cloud 控制台中,前往 Logs Explorer 页面。
如果您在查询 窗格中没有看到查询编辑器字段,请点击显示查询 切换开关。
在查询编辑器字段中:
如需查看提供方资源(健康状况来源和复合健康检查)的日志,请输入以下查询:
logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fcompositehealth"
如需查看使用方资源(连接到使用复合健康检查的已发布服务的 Private Service Connect NEG)的日志,请输入以下查询:
logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fservicehealthchecks"
将
PROJECT_ID替换为您的项目 ID。点击运行查询 。