管理员集群安装了 Alertmanager 来收集和传递提醒。如需了解预定义的提醒规则,请参阅预定义的提醒政策。
配置通知渠道
使用
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
运行以下命令,在命令行编辑器中打开
LogMon
自定义资源:kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
在
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>"
如需保存对
LogMon
自定义资源所做的更改,请保存并退出命令行编辑器。
[可选] 自定义提醒政策
使用
logmon: system_metrics label
在kube-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 …
运行以下命令,在命令行编辑器中打开
LogMon
自定义资源:kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
在
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>"
如需保存对
LogMon
自定义资源所做的更改,请保存并退出命令行编辑器。
提醒概览信息中心
Monitoring 信息中心内提供了一个提醒概览信息中心:
预定义的提醒政策
以下是 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%。 |
CertManagerAbsent(关键) | 证书管理器已从 Prometheus 中消失 10 分钟。证书可能无法正常创建/续订。 |
CertManagerCertExpirySoon(警告) | 证书将于 21 天后过期。 |
CertManagerCertNotReady(关键) | 在 10 分钟后,证书尚未准备好处理流量。 |
CertManagerHittingRateLimits(严重) | 创建/续订证书达到速率限制已有 5 分钟。 |