在信息中心内显示事件

本文档介绍了如何在信息中心的图表上显示事件。事件是指影响系统运行的活动,例如部署或崩溃。在排查问题时,显示事件有助于您关联不同来源的数据。

如何识别事件

信息中心通过分析通过 Google Cloud 项目中的 Cloud Logging 接收器的日志条目来查询事件。这些日志条目包括由您的项目生成的日志条目以及路由到您的项目的日志条目。

如需在发生其中任一事件时收到通知,您可以创建基于日志的提醒政策。在提醒政策中,使用事件类型页面上提供的查询。

事件的显示方式

当事件发生时,系统会对信息中心内的图表进行注释。 通过分析日志条目识别的事件会显示单一时间引用。

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

显示事件注释的图表。

如上一个屏幕截图所示,事件的提示会显示如下信息:

  • 事件名称。
  • 引发事件的 Google Cloud 服务或资源。
  • 活动的日期和时间。
  • View 按钮,选中该按钮即可打开显示有关事件的更多信息的页面。例如,它可能会打开日志浏览器,以便您可以查看日志条目。

信息中心过滤条件用于限制信息中心显示的数据,通常会同时过滤时间序列数据和事件。

对于自定义信息中心,您还可以使用 Cloud Monitoring API 来配置是否显示事件。

准备工作

  • 如需获取查看图表和日志条目所需的权限并创建提醒政策,请让管理员授予您项目的以下 IAM 角色:

    • 查看图表,以及查看和创建提醒政策: Monitoring Editor (roles/monitoring.editor)。
    • 查看除在 Google Cloud 项目中创建的数据访问日志条目以外的所有日志条目: 日志查看器 (roles/logging.viewer)。
    • 查看在您的 Google Cloud 项目中创建的数据访问日志条目: 私密日志查看器 (roles/logging.privateLogViewer)。

    如需详细了解如何授予角色,请参阅管理访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

显示事件

如需查看可与日志浏览器或基于日志的提醒政策结合使用的事件类型列表、问题排查参考资料和查询,请参阅事件类型页面。

控制台

如需显示当前会话中的事件,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 信息中心页面:

    前往信息中心

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 选择要查看的信息中心。
  3. 在信息中心的工具栏中,确保 事件切换开关处于开启状态。

    如果未显示 事件切换开关,则表示信息中心不支持显示事件。

  4. 对于您要显示的每种事件类型,请在信息中心工具栏中点击添加事件,然后从菜单中选择事件类型。

    例如,您可以将信息中心配置为显示“GKE Workload Deployment”事件。

    添加事件类型后,Cloud Monitoring 会查询您的日志数据,这需要一些时间,然后将注释添加到信息中心的图表中:

    • 信息:信息性消息。
    • 警告:表示失败,例如重新启动或崩溃。
    • 提醒:表示突发事件已建立。
  5. 如需查看事件摘要或访问指向日志条目的链接,请使用指针激活提示。

  6. 可选:您的配置仅适用于当前会话。如需保存配置,请执行以下操作:

    1. 在信息中心工具栏中,点击 设置,选择 JSON,然后选择 JSON 编辑器
    2. 在 JSON 编辑器中,添加一个 annotations 对象。此对象包含 EventAnnotation 对象数组,用于指定要显示的事件类型。

      下面显示了集群更新事件的示例 annotations 对象。以下示例中的 filter 字段将事件限制为特定集群:

      "annotations": {
        "defaultResourceNames": [],
        "eventAnnotations": [
          {
            "displayName": "",
            "enabled": true,
            "eventType": "GKE_CLUSTER_UPDATE",
            "filter": "resource.labels.cluster_name=my-cluster",
            "resourceNames": []
          }
        ]
      }
      

      如需详细了解 annotations 对象,请选择此表的 API 标签页。

    3. 点击应用更改,然后点击保存

API

如需将自定义信息中心配置为显示事件,请在 Dashboard 对象中添加 annotations 字段。annotations 字段包含一个 DashboardAnnotations 对象的实例,后者包含两个字段:

  • defaultResourceName 字段列出了 Google Cloud 项目用于搜索事件的信息中心级默认值。如果未指定此字段,则系统将搜索您选择的项目。

  • EventAnnotation 对象数组。每个对象都包含以下内容:

    • displayName 字段,可用于定义特定于事件的切换开关上的标签。未指定此字段或此字段的值为空字符串时,系统会显示事件的默认名称。
    • enabled 字段,用于控制事件切换开关的值。 为 true 时,切换开关处于 on 位置,且事件会显示在信息中心内。为 false 时,切换开关处于 off 位置。
    • eventType 字段,包含 EventType 枚举中的一个值。
    • filter 字段,用于指定要附加到事件特定查询的查询。如果此字段的值为空字符串,则使用特定于事件的查询。
    • resourceNames 字段,您可以定义一个 Google Cloud 项目列表以搜索事件。当此字段为空数组时,系统将搜索您选择的项目。

下面显示了集群更新事件的示例 annotations 对象。以下示例中的 filter 字段将事件限制为特定集群:

"annotations": {
  "defaultResourceNames": [],
  "eventAnnotations": [
    {
      "displayName": "",
      "enabled": true,
      "eventType": "GKE_CLUSTER_UPDATE",
      "filter": "resource.labels.cluster_name=my-cluster",
      "resourceNames": []
    }
  ]
}

如需详细了解如何使用 Cloud Monitoring API 创建信息中心,请参阅按 API 创建和管理信息中心以及示例:在信息中心内启用事件

查看活动详情

查看显示事件注释的图表时,您可以使用提示中提供的链接来访问其他信息:

  • 如需访问特定活动的详细信息,请点击查看

    View 按钮打开的分页取决于事件类型。例如,对于正常运行时间检查事件,此按钮会打开正常运行时间检查的信息中心。对于其他事件类型,日志浏览器可能会打开。

  • 如需查看时间戳与注解匹配的日志条目,请使用指针激活该注解的提示,转到提示的摘要行,然后点击查看日志

创建提醒政策

如需在日志中出现事件时收到通知,请配置基于日志的提醒。基于日志的提醒政策会在收到日志条目时查询日志条目。当查询返回非空结果时,系统会创建突发事件并发送通知。

控制台

如需创建基于日志的提醒,请执行以下操作:

  1. 如果您尚未配置通知渠道,请执行以下操作:

    1. 在 Google Cloud 控制台中,转到 提醒页面:

      进入提醒

      如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

    2. 点击 Edit notification channel(修改通知渠道)。
    3. 转到您要配置的通知渠道类型,点击新增,然后完成对话框。
  2. 在 Google Cloud 控制台中,转到 Logs Explorer 页面。

    前往 Logs Explorer

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  3. 在工具栏中,选择创建提醒

  4. 输入提醒政策的名称,然后点击下一步

  5. 定义要收到提醒的日志条目部分中,输入查询或更新在您选择创建提醒时从查询窗格中复制的查询。

    对于每种事件类型,事件类型页面都会列出一个适用于基于日志的提醒政策的查询。

  6. 完成对话框,然后点击保存

API

如需使用 Cloud Monitoring API 创建基于日志的提醒政策,请执行以下操作:

  1. 确定要包含在提醒政策条件中的查询。对于每种事件类型,事件类型页面都会列出一个适用于基于日志的提醒政策的查询。

  2. 创建包含提醒政策表示的 JSON 文件。如需详细了解此步骤和示例,请参阅设计提醒政策

  3. 调用 alertPolicies.create API 方法。例如,您可以发出 gcloud alpha monitoring policies create 命令。

隐藏事件

控制台

如需隐藏所有事件,请在信息中心工具栏中,确保 Events 切换开关已关闭。

若要隐藏某类事件,请将该事件类型的切换开关设置为关闭位置。

API

若要在自定义信息中心内隐藏某类事件,请找到相应事件类型的 EventAnnotation 对象,然后将 enabled 字段设置为 false

如需详细了解如何使用 Cloud Monitoring API,请参阅按 API 创建和管理信息中心

后续步骤