事件类型

本文档介绍了可以显示为注释的事件类型 事件是指对设备造成影响的活动,例如重新启动或崩溃。 系统的运行。显示事件可帮助您 对来自不同来源的数据进行排查时 问题。

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

如需向图表添加注释,您需要配置显示图表的信息中心或标签页。例如,您可以将大多数信息中心 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 节点池的更新。更新包括自动节点池 版本升级以及手动升级、配置更改和调整大小。 如需了解详情,请参阅手动升级集群或节点池Standard 集群升级

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

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 事件类型

本部分介绍了可 信息中心

虚拟机终止

此事件类型可帮助您识别虚拟机 (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 服务的中断情况或服务健康事件。如需查看与服务运行状况集成的服务的列表,请参阅支持的 Google 产品

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

监控功能会向 Service Health API 发出请求,然后过滤响应,以显示与您正在查看的数据相关的突发事件。请求具有以下配置:

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

  • DetailedState 枚举未设置为 FALSE_POSITIVE

Service Health 注释会显示开始时间 以及时长时长通过更改图表的背景颜色来显示。Google Cloud 服务中断的提示会指明以下信息:

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

有关如何向 Service Health API,请参阅 使用 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

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

后续步骤

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