监控 EKM 使用情况

您可以使用 Cloud Monitoring 监控外部密钥管理器 (EKM) 连接。以下指标可帮助您了解 EKM 用量:

  • cloudkms.googleapis.com/ekm/external/request_latencies
  • cloudkms.googleapis.com/ekm/external/request_count

本页面介绍了如何创建信息中心,以跟踪与您的 Cloud EKM 密钥和外部密钥管理器连接,例如请求 计数和延迟时间。如需详细了解这些指标,请参阅 cloudkms 指标。如需详细了解以下部分中介绍的信息中心创建流程,请参阅通过 API 管理信息中心

准备工作

本页面中的步骤假定您满足以下条件:

所需的角色

如需获取使用 gcloud CLI 创建信息中心所需的权限, 请让管理员授予您 项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含使用 gcloud CLI 创建信息中心所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需使用 gcloud CLI 创建信息中心,您需要拥有以下权限:

  • monitoring.dashboards.create
  • monitoring.dashboards.delete
  • monitoring.dashboards.update
  • serviceusage.services.use

您也可以使用自定义角色或其他预定义角色来获取这些权限。

创建信息中心以监控 EKM

如需监控 EKM 的状态,请创建一个用于监控您的 请求数和延迟时间:

  1. 下载信息中心配置:ekm-dashboard.json

  2. 运行以下命令,使用配置文件创建自定义信息中心:

    gcloud monitoring dashboards create \
    --config-from-file=ekm-dashboard.json

查看您的 EKM 信息中心

  1. 在 Google Cloud 控制台中,前往 Monitoring 页面,或使用以下按钮:

    转到“监控”

  2. 选择资源 > 信息中心,然后查看名为 Cloud KMS EKM 的信息中心。

为 EKM 指标创建提醒政策

使用 gcloud CLI 完成以下步骤:

  1. 选择一个通知渠道,以接收 EKM 指标提醒。

    • 如需使用现有的通知渠道,请先查看您的频道:

      gcloud beta monitoring channels list
      

      从列表中选择一个频道。记下通知渠道 身份证件;您稍后会用到它

    • 如需使用新的通知渠道,请使用电子邮件地址创建渠道:

      gcloud beta monitoring channels create \
      --display-name="Notification channel for EKM latency alert" \
      --description="This notification channel receives EKM latency metric alerts" \
      --type=email \
      --channel-labels=email_address=NOTIFICATION_EMAIL
      

      如果成功,此命令将返回新渠道的名称。记下通知渠道 ID;您稍后需要用到它。输出内容类似如下:

      Created notification channel [projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL_ID]
      
  2. 使用 monitoring policies create 命令创建提醒政策:

        gcloud alpha monitoring policies create \
            --notification-channels=NOTIFICATION_CHANNEL_ID \
            --aggregation=' {"alignmentPeriod": "60s","perSeriesAligner": "ALIGN_PERCENTILE_99"}' \
            --condition-display-name="EKM Request Latency > 150ms" \
            --condition-filter='resource.type="cloudkms.googleapis.com/Project"
                                metric.type="cloudkms.googleapis.com/ekm/external/request_latencies"
                                metric.labels.ekm_service_region="LOCATION"
                                metric.labels.method="LABEL_METHOD"' \
            --duration="0s" \
            --if="> 150" \
            --display-name="EKM metric latency alert" \
            --trigger-count=1 \
            --combiner='AND'
    

    替换以下内容:

    • NOTIFICATION_CHANNEL_ID:通知渠道的 ID。
    • LOCATION:您要为其设置提醒的区域 指标。如果您希望无论地区如何都发送提醒,请省略 metric.labels.ekm_service_region
    • LABEL_METHOD:您要针对哪个 method 标签发出提醒,例如 wrapunwrapasymmetricSigncheckCryptoSpacePermissionscreateKeygetInfogetPublicKey。您可以使用 Metrics Explorer 来探索 指标标签。

后续步骤