Configurazione degli avvisi

Questa pagina è rivolta agli amministratori della piattaforma.

Sul cluster di amministrazione è installato un Alertmanager per la raccolta e la consegna degli avvisi. Per le regole di avviso predefinite, consulta i criteri di avviso predefiniti.

Configura i canali di notifica

  1. Crea una mappa di configurazione con configurazioni di AlertManager nello spazio dei nomi kube-system con l'etichetta logmon: system_metrics. La configurazione di AlertManager ha la stessa sintassi delle regole di configurazione di AlertManager e deve essere aggiunta a alertmanager.yml nel campo data. 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
    

    Sostituisci CUSTOMIZED_ALERTMANAGER_CONFIGMAP_NAME con il nome del file di configurazione.

  2. 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
    
  3. Nella risorsa personalizzata LogMon, aggiungi il campo alertmanagerConfigurationConfigmaps all'interno del campo spec/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"
    
  4. Per salvare le modifiche apportate alla risorsa personalizzata LogMon, salva e esci dall'editor della riga di comando.

(Facoltativo) Personalizza i criteri di avviso

  1. Crea una configmap con le regole Prometheus nello spazio dei nomi kube-system con logmon: 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
      
    
  2. 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
    
  3. Nella risorsa personalizzata LogMon, aggiungi il campo prometheusRulesConfigmaps nel campo spec/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>"
    
  4. 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:

Dashboard avvisi Panoramica

Gestione avvisi

AlertManager consente di monitorare le notifiche di avviso delle applicazioni client.

Puoi controllare e disattivare gli avvisi con Alert Manager:

Interfaccia utente di Alertmanager

Per accedere all'interfaccia di AlertManager, fai clic sul pulsante Avvisi nella scheda Monitoraggio del Centro gestione.

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%.
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.
DeploymentNotReady (importante). Un deployment sul cluster di amministrazione è in uno stato non pronto da più di 15 minuti.

Passaggi successivi