事件类型

本文档介绍了可显示为图表上的注释的事件类型。事件是指会影响系统操作的 activity,例如重新启动或崩溃。在排查问题时,显示事件可以帮助您关联来自不同来源的数据。

对于每个事件,系统都会提供指向参考文档或问题排查文档的链接,以及有关如何查询该事件的信息。例如,通过分析日志识别事件时,系统会提供一个适合用于日志浏览器或基于日志的提醒政策的查询。

如需向图表添加注释,请配置显示图表的信息中心或标签页。例如,您可以配置 Google Cloud 控制台的信息中心页面上列出的大多数信息中心,以显示事件。同样,您可以配置一些特定于服务的可观测性标签页(例如用于 Compute Engine 和 Google Kubernetes Engine 的标签页)以显示事件。如需了解配置信息,请参阅在信息中心内显示事件

以下屏幕截图展示的图表显示了通过分析日志条目识别的多个事件,以及一个 Service Health 事件:

显示警告和信息性事件注释的图表。

每个注解可以列出多个事件。上一个屏幕截图中列出了 GKE 部署的一个事件。

提醒事件类型

本部分介绍了可以显示在信息中心上的提醒事件类型。

提醒已打开

提醒未处理事件可帮助您将绘制成图表的数据与创建突发事件的时间相关联。当满足以下条件时,系统会显示提醒打开事件:

  • 相应的突发事件是在信息中心指定的时间范围内创建的。
  • 相应的突发事件未关闭。

对于在信息中心指定的时间范围之外创建的突发事件,系统不会显示任何注释。同样,当相应的突发事件打开并在信息中心指定的时间范围内关闭时,不会显示提醒已打开事件。

提醒已打开事件的提示包含以下内容:

  • 提醒政策的名称。
  • 摘要信息(如果有)。例如,这些信息可能包括阈值和测量值。
  • 突发事件的时长,以及创建突发事件的日期和时间。
  • 指标和资源标签。提示可能不会显示所有标签。
  • 查看按钮,点击此按钮可打开相应突发事件的详细信息页面。

Google Kubernetes Engine 事件类型

本部分介绍可在信息中心上显示的 Google Kubernetes Engine 事件类型。

修补或更新的 GKE 工作负载

此事件类型可帮助您排查 GKE 工作负载部署或 Statefulset 更改问题,因为这些事件可能与性能降低或其他性能问题有关。当创建、更新或删除工作负载时,系统会显示此事件类型。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=k8s_cluster protoPayload.methodName=(
    io.k8s.apps.v1.deployments.create OR io.k8s.apps.v1.deployments.patch OR
    io.k8s.apps.v1.deployments.update OR io.k8s.apps.v1.deployments.delete OR
    io.k8s.apps.v1.deployments.deletecollection OR io.k8s.apps.v1.statefulsets.create OR
    io.k8s.apps.v1.statefulsets.patch OR io.k8s.apps.v1.statefulsets.update OR
    io.k8s.apps.v1.statefulsets.delete OR io.k8s.apps.v1.statefulsets.deletecollection OR
    io.k8s.apps.v1.daemonsets.create OR io.k8s.apps.v1.daemonsets.patch OR
    io.k8s.apps.v1.daemonsets.update OR io.k8s.apps.v1.daemonsets.delete OR
    io.k8s.apps.v1.daemonsets.deletecollection
)
-protoPayload.authenticationInfo.principalEmail="system:addon-manager"
-protoPayload.request.metadata.namespace=(kube-system OR gmp-system OR gmp-public OR gke-gmp-system)

如需了解详情,请参阅部署工作负载概览查看可观测性指标

GKE Pod 崩溃

此事件类型可帮助您识别 GKE Pod 崩溃并对其进行问题排查。Pod 崩溃可能是由于内存耗尽或应用错误引起的。出现以下任一情况时,系统会显示此事件类型:

  • Pod 状态为 CrashLoopBackoff
  • Pod 终止并显示非零退出代码。
  • Pod 终止时会出现内存不足的情况。
  • Pod 被逐出。
  • 就绪性/活跃性探测失败。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

(
    log_id(events)
    (
        (resource.type=k8s_pod jsonPayload.reason=(BackOff OR Unhealthy OR Killing OR Evicted)) OR
        (resource.type=k8s_node jsonPayload.reason=OOMKilling)
    )
    severity=WARNING
) OR (
    log_id(cloudaudit.googleapis.com%2Factivity) resource.type=k8s_cluster
    (protoPayload.methodName=io.k8s.core.v1.pods.eviction.create OR
        (protoPayload.methodName=io.k8s.core.v1.pods.delete
        protoPayload.response.status.containerStatuses.state.terminated.exitCode:*
        -protoPayload.response.status.containerStatuses.state.terminated.exitCode=0
        )
    )
)

如需了解问题排查信息,请参阅问题排查:CrashLoopBackOff

未能调度 GKE Pod

此事件类型可帮助您识别无法在节点上调度的 Pod 并进行问题排查。当 Pod 调度因以下任一原因而失败时,系统会显示此事件类型:

  • 节点 CPU 不足。
  • 节点内存不足。
  • 没有针对污点或容忍设置的节点。
  • 达到 Pod 数上限的节点。
  • 节点池已达到大小上限。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

(
    log_id(events) resource.type=k8s_pod jsonPayload.reason=(NotTriggerScaleUp OR FailedScheduling)
) OR (
    log_id(container.googleapis.com/cluster-autoscaler-visibility)
    resource.type=k8s_cluster jsonPayload.noDecisionStatus.noScaleUp:*
)

如需了解问题排查信息,请参阅问题排查:Pod 无法调度

未能创建 GKE 容器

此事件类型可帮助您识别故障并排查故障,以创建 GKE 容器。容器创建可能会因各种原因(例如卷装载失败或映像拉取失败)而失败。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

log_id(events) resource.type=k8s_pod jsonPayload.reason=(Failed OR FailedMount) severity=WARNING

如需了解问题排查信息,请参阅问题排查:ImagePullBackOff 和 ErrImagePull

Pod 自动扩缩器纵向扩容和缩容

此事件可让您了解 Pod 横向自动扩缩器的重新扩缩情况,即增加或减少工作负载的正在运行的 Pod 数量。如需了解详情,请参阅 Pod 横向自动扩缩

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=k8s_cluster log_id(events)
jsonPayload.involvedObject.kind=HorizontalPodAutoscaler jsonPayload.reason=SuccessfulRescale

集群自动扩缩器进行纵向扩容和缩容

通过此事件,您可以了解集群自动扩缩器何时增加或减少集群节点池中的节点数量。如需了解详情,请参阅集群自动扩缩简介查看集群自动扩缩器事件

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

(resource.type=k8s_cluster log_id(container.googleapis.com%2Fcluster-autoscaler-visibility)
jsonPayload.decision:*)

集群创建和删除

此事件会跟踪 GKE 集群创建和删除操作。如需了解详情,请参阅创建 Autopilot 集群创建可用区级集群删除集群

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=gke_cluster log_id(cloudaudit.googleapis.com%2Factivity)
protoPayload.methodName=(
    google.container.v1alpha1.ClusterManager.CreateCluster OR
    google.container.v1beta1.ClusterManager.CreateCluster OR
    google.container.v1.ClusterManager.CreateCluster OR
    google.container.v1alpha1.ClusterManager.DeleteCluster OR
    google.container.v1beta1.ClusterManager.DeleteCluster OR
    google.container.v1.ClusterManager.DeleteCluster
)
operation.first=true

集群更新

此事件可跟踪 GKE 集群的更新。更新包括控制平面版本自动升级,以及手动升级和集群配置更改。如需了解详情,请参阅手动升级集群或节点池标准集群升级

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=gke_cluster log_id(cloudaudit.googleapis.com%2Factivity)
(
    protoPayload.methodName=(
        google.container.internal.ClusterManagerInternal.PatchCluster OR
        google.container.internal.ClusterManagerInternal.UpdateClusterInternal OR
        google.container.internal.ClusterManagerInternal.UpdateCluster
    )
) OR (
    protoPayload.methodName=(
        google.container.v1beta1.ClusterManager.UpdateCluster OR
        google.container.v1.ClusterManager.UpdateCluster
    )
    operation.first=true
)
protoPayload.metadata.operationType=(UPGRADE_MASTER OR REPAIR_CLUSTER OR UPDATE_CLUSTER)

节点池更新

此事件可跟踪 GKE 节点池的更新。更新包括节点池版本自动升级,以及手动升级、配置更改和调整大小。如需了解详情,请参阅手动升级集群或节点池标准集群升级

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=gke_nodepool log_id(cloudaudit.googleapis.com%2Factivity)
(
    protoPayload.methodName=(
        google.container.internal.ClusterManagerInternal.UpdateClusterInternal OR
        google.container.internal.ClusterManagerInternal.RepairNodePool
    )
) OR (
    protoPayload.methodName=(
        google.container.v1beta1.ClusterManager.UpdateNodePool OR
        google.container.v1.ClusterManager.UpdateNodePool OR
        google.container.v1beta1.ClusterManager.SetNodePoolSize OR
        google.container.v1.ClusterManager.SetNodePoolSize OR
        google.container.v1beta1.ClusterManager.SetNodePoolManagement OR
        google.container.v1.ClusterManager.SetNodePoolManagement OR
        google.container.v1beta1.ClusterManager.SetNodePoolAutoscaling OR
        google.container.v1.ClusterManager.SetNodePoolAutoscaling
    )
    operation.first=true
)

Cloud Run 事件类型

本部分介绍可在信息中心上显示的 Cloud Run 事件类型。

Cloud Run 部署

此事件类型可帮助您识别 Cloud Run 部署失败问题并进行问题排查。部署可能会由于服务帐号删除、权限不正确、容器导入失败或容器启动失败等原因而失败。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

log_id(cloudaudit.googleapis.com%2Factivity) resource.type=cloud_run_revision
protoPayload.methodName=google.cloud.run.v1.Services.ReplaceService

如需了解问题排查信息,请参阅问题排查:Cloud Run 问题

Cloud SQL 事件类型

本部分介绍可在信息中心上显示的 Cloud SQL 事件类型。

Cloud SQL 故障切换

此事件类型可帮助您确定发生手动或自动故障切换的时间。当实例或地区发生故障并且备用实例成为新的主实例时,就会发生故障切换。在故障切换期间,Cloud SQL 会自动切换为从备用实例传送数据。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=cloudsql_database
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=cloudsql.instances.failover
        operation.last=true
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=cloudsql.instances.autoFailover
    )
)

如需了解详情,请参阅高可用性简介

启动或停止 Cloud SQL

此事件类型可帮助您识别已手动启动、停止或重启 Cloud SQL 实例。实例停止后,所有连接、打开的文件和正在运行的操作也会停止。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

log_id(cloudaudit.googleapis.com%2Factivity) resource.type=cloudsql_database
protoPayload.methodName=cloudsql.instances.update operation.last=true
protoPayload.metadata.intents.intent=(START_INSTANCE OR STOP_INSTANCE)

如需了解详情,请参阅高可用性简介以及启动、停止和重启实例

Cloud SQL 存储

此事件类型可帮助您识别与 Cloud SQL 存储相关的事件,包括何时数据库存储空间已满,以及数据库何时因达到存储容量而关闭。存储空间容量已用尽且未启用自动存储功能的数据库可能会关停,以防止数据损坏。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=cloudsql_database
(
    (
        (log_id(cloudsql.googleapis.com%2Fpostgres.log) OR log_id(cloudsql.googleapis.com%2Fmysql.err))
        textPayload=~"No space left on device"
        severity=(ERROR OR EMERGENCY)
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=cloudsql.instances.databaseShutdownOutOfStorage
    )
)

Compute Engine 事件类型

本部分介绍可在信息中心上显示的 Compute Engine 事件类型。

虚拟机终止

此事件类型可帮助您识别虚拟机 (VM) 终止,包括手动触发的重置和停止、客机操作系统终止、维护终止和主机错误。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=gce_instance
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=(
            beta.compute.instances.reset OR v1.compute.instances.reset OR
            beta.compute.instances.stop OR v1.compute.instances.stop
        )
        operation.first=true
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=(
            compute.instances.hostError OR
            compute.instances.guestTerminate OR
            compute.instances.terminateOnHostMaintenance
        )
    )
)

如需了解详情,请参阅停止和启动虚拟机以及排查虚拟机关停和重新启动问题

虚拟机实例启动失败

此事件会跟踪 Compute Engine 虚拟机实例启动失败问题。该事件会显示由于资源短缺、IP 空间用尽、超出配额或安全强化型虚拟机完整性错误而导致的启动失败。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=gce_instance
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=(beta.compute.instances.insert OR v1.compute.instances.insert)
        protoPayload.status.message=(ZONE_RESOURCE_POOL_EXHAUSTED OR IP_SPACE_EXHAUSTED OR QUOTA_EXCEEDED)
    ) OR (
        log_id(compute.googleapis.com%2Fshielded_vm_integrity)
        severity="ERROR"
    )
)

虚拟机实例客机操作系统错误

此事件会跟踪串行控制台日志中记录的特定 Compute Engine 虚拟机实例客户机操作系统错误。跟踪的错误包括磁盘已满、文件系统装载失败以及导致激活 Linux 紧急模式的启动失败。

要显示这些事件,您必须在虚拟机或项目元数据中设置 serial-port-logging-enable=true,以启用将串行端口输出记录到 Cloud Logging 的功能。如需了解详情,请参阅启用和停用串行端口输出日志记录

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=gce_instance
log_id(serialconsole.googleapis.com%2Fserial_port_1_output)
textPayload=~("No space left on device" OR "Failed to mount" OR "You are in emergency mode")

托管式实例组更新

此事件类型可帮助您确定代管式实例组 (MIG) 的更新时间。例如,添加或移除了虚拟机,或者更新了大小限制。如需了解详情,请参阅在 MIG 中自动应用虚拟机配置更新

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=gce_instance_group_manager
log_id(cloudaudit.googleapis.com%2Factivity) operation.first=true
protoPayload.methodName=(beta.compute.instanceGroupManagers.patch OR v1.compute.instanceGroupManagers.patch)

如需了解详情,请参阅使用代管式实例排查代管式实例组问题

代管式实例组自动扩缩器

此事件跟踪 MIG 的自动伸缩器做出的伸缩决策。这些决策可能包括 MIG 推荐大小的更改或自动扩缩器本身的状态更改。如需了解详情,请参阅自动扩缩实例组

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

resource.type=autoscaler log_id(cloudaudit.googleapis.com%2Fsystem_event)
protoPayload.methodName=(compute.autoscalers.resize OR compute.autoscalers.changeStatus)

Personalized Service Health 事件类型

本部分介绍了可以显示在信息中心上的 Personalized Service Health 类型。

Google Cloud 突发事件

在排查问题时,您可能希望区分由您拥有的服务导致的故障和由您使用的 Google Cloud 服务导致的故障。在信息中心上启用 Personalized Service Health 注释后,您可以查看 Google Cloud 服务的中断或服务健康状况事件。如需查看与 Service Health 集成的服务列表,请参阅支持的 Google 产品

与其他事件类型不同,Google Cloud 突发事件不会通过分析日志条目来识别。如果您希望在发生这些事件时收到通知,请创建提醒政策。您可以使用 Service Health 信息中心页面上的选项选择预配置的提醒政策。如需了解详情,请参阅快速入门:设置提醒

Monitoring 会识别 Google Cloud 突发事件,方法是向 Service Health API 发出请求,然后过滤对与您正在查看的数据相关的突发事件的响应。该请求具有以下配置:

  • Relevance 枚举设置为 RELATEDIMPACTEDPARTIALLY_RELATED。此限制可确保您的信息中心仅显示 Google Cloud 项目正在使用的 Google Cloud 服务的事件。

  • DetailedState 枚举未设置为 FALSE_POSITIVE

Service Health 注释会显示开始时间和时长。通过更改图表的背景颜色来显示时长。Google Cloud 突发事件的提示可标识以下内容:

  • Google Cloud 服务。
  • 突发事件是处于待处理状态还是已解决。
  • 活动的日期和时间。
  • 显示受影响商品和营业地点数量的条状标签。 如需列出受影响的商品或位置,请将指针放在相应的条状标签上。
  • 查看按钮,点击此按钮可打开突发事件的详情页面。

如需了解如何向 Service Health API 发出请求,请参阅检查 Service Health 中断情况

如需了解问题排查信息,请参阅排查 Service Health 中的常见问题

拨测事件类型

本部分介绍可在信息中心上显示的正常运行时间检查事件类型。

拨测失败

此事件类型可帮助您识别所配置区域中正常运行时间检查失败的情况。

如果要为此事件类型创建基于日志的提醒政策,请使用以下查询:

log_id(monitoring.googleapis.com%2Fuptime_checks)
(
  resource.type=uptime_url OR resource.type=gce_instance OR
  resource.type=gae_app OR resource.type=k8s_service OR
  resource.type=servicedirectory_service OR resource.type=cloud_run_revision OR
  resource.type=aws_ec2_instance OR resource.type=aws_elb_load_balancer
)
labels.uptime_result_type=UptimeCheckResult
severity=NOTICE

如需了解问题排查信息,请参阅对合成监控和拨测进行问题排查

后续步骤

如需了解如何在信息中心显示事件,请参阅在信息中心显示事件