Sul Pannello di amministrazione è installato un AlertManager per raccogliere e consegnare gli avvisi. Per le regole di avviso predefinite, consulta la sezione Criteri di avviso predefiniti.
Configura i canali di notifica
Crea una mappa di configurazione con configurazioni di AlertManager nello spazio dei nomi
kube-system
con l'etichettalogmon: system_metrics
. La configurazione di AlertManager ha la stessa sintassi delle regole di configurazione di AlertManager e deve essere aggiunta aalertmanager.yml
nel campodata
. Consulta i file di configurazione di esempio.Segui la configurazione di AlertManager per definire i canali di notifica nella configurazione di AlertManager.
(Facoltativo) Se vuoi utilizzare i webhook Slack, consulta la sezione Webhook Slack per informazioni sull'abilitazione del webhook.
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
Esegui questo comando per aprire la risorsa personalizzata
LogMon
in un editor della riga di comando:kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
Nella risorsa personalizzata
LogMon
, aggiungi il campoalertmanagerConfigurationConfigmaps
all'interno del campospec/system_metrics/outputs/default_prometheus/deployment/alertmanager
.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>"
Per salvare le modifiche apportate alla risorsa personalizzata
LogMon
, salva e esci dall'editor della riga di comando.
(Facoltativo) Personalizza i criteri di avviso
Crea una configmap con le regole Prometheus nello spazio dei nomi
kube-system
conlogmon: system_metrics label
. La definizione delle regole di Prometheus ha la stessa sintassi delle regole di avviso e delle regole di registrazione di Prometheus. Puoi includere più file di regole Prometheus nella configurazione. Consulta i file di configurazione di esempio.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 …
Esegui questo comando per aprire la risorsa personalizzata
LogMon
in un editor della riga di comando:kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
Nella risorsa personalizzata
LogMon
, aggiungi il campoprometheusRulesConfigmaps
nel campospec/system_metrics/outputs/default_prometheus/deployment/prometheus
.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>"
Per salvare le modifiche apportate alla risorsa personalizzata
LogMon
, salva e esci dall'editor della riga di comando.
Dashboard della panoramica degli avvisi
In Dashboard Dashboard è disponibile una dashboard della panoramica degli avvisi:
Criteri di avviso predefiniti
Ecco le regole di avviso preinstallate nel prometheus.
Nome | Descrizione |
---|---|
KubeAPIDown (importante) | KubeAPI è scomparso da Prometheus Target Discovery per 15 minuti. |
KubeClientErrors (avviso) | Errori del server server dell'API Kubernetes > 0,01 per 15 minuti. |
KubeClientErrors (critico) | Errori del server server dell'API Kubernetes > 0.1 per 15 minuti. |
KubePodCrashLooping (avviso) | Il pod è in stato di loop da più di 15 minuti. |
KubePodNotReady (avviso) | Il pod è in uno stato non pronto da più di 15 minuti. |
KubePersistentVolumeFillingUp (importante) | Byte gratuiti di un oggetto "PersistentVolume" richiesto; 0,03. |
KubePersistentVolumeFillingUp (avviso) | Byte gratuiti di un oggetto "PersistentVolume" richiesto; 0,15. |
KubePersistentVolumeErrors (critico) | Il volume permanente è in fase "Non riuscita" o "In attesa" per 5 minuti. |
KubeNodeNotReady (avviso) | Il nodo non è pronto per più di 15 minuti. |
KubeNodeCPUUsageHigh (critico) | L'utilizzo della CPU del nodo è > 80%. |
KubeNodeMemoryUsageHigh (critico) | Memoria utilizzata dal nodo: > 80%. |
NodeFilesystemSpaceFillingUp (avviso) | L'utilizzo del file system del nodo è > 60%. |
NodeFilesystemSpaceFillingUp (importante) | L'utilizzo del file system del nodo è > 85%. |
CertManagerAbsent (critico) | Cert-manager è scomparso da Prometheus per 10 minuti. È possibile che i certificati non vengano creati o rinnovati correttamente. |
CertManagerCertExpirySoon (avviso) | Un certificato scadrà tra 21 giorni. |
CertManagerCertNotReady (critico) | Un certificato non è pronto per essere utilizzato per gestire il traffico dopo 10 minuti. |
CertManagerHitingRateLimits (critico) | È stato raggiunto un limite di frequenza di creazione/rinnovo di certificati per 5 minuti. |