设置提醒

本页面适用于平台管理员

管理员集群安装了 Alertmanager 来收集和传递提醒。如需了解预定义的提醒规则,请参阅预定义的提醒政策

配置通知渠道

  1. 使用 logmon: system_metrics 标签在 kube-system 命名空间中创建带有 Alertmanager 配置的 configmap。Alertmanager 配置与 Alertmanager 配置规则具有相同的语法,应添加到 data 字段下的 alertmanager.yml 中。请参阅示例配置文件

    • 按照 Alertmanager 配置在 Alertmanager 配置中定义通知渠道。

    • (可选)如果要使用 Slack 网络钩子,请参阅 Slack 网络钩子,了解如何启用网络钩子。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # The name should match the configmap name specified in step 3.
      name: CUSTOMIZED_ALERTMANAGER_CONFIGMAP_NAME
      # Don't change the namespace
      namespace: kube-system
      labels:
        # This label is required.
        logmon: system_metrics
    data:
      # The file name must be alertmanager.yml
      alertmanager.yml: |
        # Add the customized alertmanager configuration here
    

    CUSTOMIZED_ALERTMANAGER_CONFIGMAP_NAME 替换为您的配置文件的名称。

  2. 运行以下命令,在命令行编辑器中打开 LogMon 自定义资源:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  3. LogMon 自定义资源中,在 spec/system_metrics/outputs/default_prometheus/deployment/alertmanager 字段下添加 alertmanagerConfigurationConfigmaps 字段。

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_metrics:
        outputs:
          default_prometheus:
            deployment:
              components:
                alertmanager:
                  alertmanagerConfigurationConfigmaps:
                  # The name should match the configmap name created in step 1.
                  - "CUSTOMIZED_ALERTMANAGER_CONFIGMAP_NAME"
    
  4. 如需保存对 LogMon 自定义资源所做的更改,请保存并退出命令行编辑器。

[可选] 自定义提醒政策

  1. 使用 logmon: system_metrics labelkube-system 命名空间中创建带有 Prometheus 规则的 configmap。Prometheus 规则定义与 Prometheus 提醒规则和 Prometheus 记录规则具有相同的语法。您可以在 configmap 中添加多个 Prometheus 规则文件。请参阅示例配置文件

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # The name should match the configmap name specified in step 3.
      name: <customized-prometheus-rules-configmap-name>
      # Don't change the namespace
      namespace: kube-system
      labels:
        # This label is required.
        logmon: system_metrics
    data:
      # The file name must be unique across all customized prometheus rule files.
      <a-unique-file-name>: |
      # Add customized recording rules here
       …
    
      # The file name must be unique across all customized prometheus rule files.
      <a-unique-file-name>: |
      # Add customized alerting rules here
  2. 运行以下命令,在命令行编辑器中打开 LogMon 自定义资源:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  3. LogMon 自定义资源中,在 spec/system_metrics/outputs/default_prometheus/deployment/prometheus 字段下添加 prometheusRulesConfigmaps 字段。

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_metrics:
        outputs:
          default_prometheus:
            deployment:
              components:
                prometheus:
                  prometheusRulesConfigmaps:
                  # The name should match the configmap name created in step 1.
                  - "<customized-prometheus-rules-configmap-name>"
    
  4. 如需保存对 LogMon 自定义资源所做的更改,请保存并退出命令行编辑器。

提醒概览信息中心

Monitoring 信息中心内提供了一个提醒概览信息中心:

提醒概览信息中心

Alertmanager

借助 Alertmanager,您可以监控来自客户端应用的提醒通知。

您可以使用 Alertmanager 检查和关闭提醒:

Alertmanager 界面

要访问 Alertmanager 界面,请点击 Management Center 的监控标签页上的提醒按钮。

预定义的提醒政策

以下是 prometheus 中的预安装提醒规则。

名称 说明
KubeAPIDown(关键) KubeAPI 已从 Prometheus 目标发现中消失了 15 分钟。
KubeClientErrors(警告) Kubernetes API 服务器客户端错误率超过 0.01,持续 15 分钟。
KubeClientErrors(关键) Kubernetes API 服务器客户端错误率超过 0.1,持续 15 分钟。
KubePodCrashLooping(警告) Pod 处于崩溃循环状态的时长已超过 15 分钟。
KubePodNotReady(警告) Pod 处于就绪状态的时长已超过 15 分钟。
KubePersistentVolumeFillingUp(关键) 已声明的 PersistentVolume 的可用字节数小于 0.03。
KubePersistentVolumeFillingUp(警告) 已声明的 PersistentVolume 的可用字节数小于 0.15。
KubePersistentVolumeErrors(关键) 永久性卷处于“失败”或“待处理”阶段达到 5 分钟。
KubeNodeNotReady(警告) 节点处于未读状态超过 15 分钟。
KubeNodeCPUUsageHigh(关键) 节点 CPU 使用率超过 80%。
KubeNodeMemoryUsageHigh(关键) 节点内存用量超过 80%。
NodeFilesystemSpaceFillingUp(警告) 节点文件系统使用量超过 60%。
NodeFilesystemSpaceFillingUp(关键) 节点文件系统使用量超过 85%。
CertManagerCertExpirySoon(警告) 证书将于 21 天后过期。
CertManagerCertNotReady(关键) 在 10 分钟后,证书尚未准备好处理流量。
CertManagerHittingRateLimits(严重) 创建/续订证书达到速率限制已有 5 分钟。
DeploymentNotReady(严重)。 管理员集群上的 Deployment 处于非就绪状态的时长已超过 15 分钟。

后续步骤