Creazione di criteri di avviso

Questa pagina mostra come creare criteri di avviso per i cluster Anthos sui cluster VMware (GKE on-prem).

Prima di iniziare

Per creare criteri di avviso devi disporre delle seguenti autorizzazioni:

  • Monitoring.alertPolicies.create
  • Monitoring.alertPolicies.delete
  • Monitoring.alertPolicies.update

Avrai queste autorizzazioni se disponi di uno dei seguenti ruoli:

  • Monitoring.alertPolicyEditor
  • monitoraggio.editor
  • Editor progetto
  • Proprietario del progetto

Per verificare i tuoi ruoli, vai alla pagina IAM in Google Cloud Console.

Creazione di un criterio: server API del cluster di amministrazione inattivo

In questo esercizio creerai un criterio di avviso per i server API di Kubernetes dei cluster di amministrazione. Se questo criterio è stato configurato, puoi ricevere una notifica ogni volta che il server API di un cluster di amministrazione non funziona.

  1. Scarica il file di configurazione dei criteri: admin-cluster-apiserver-down.json.

  2. Crea il criterio:

    gcloud alpha monitoring policies create --policy-from-file=POLICY_CONFIG
    

    Sostituisci POLICY_CONFIG con il percorso del file di configurazione appena scaricato.

  3. Visualizza i criteri di avviso:

    console

    1. In Google Cloud Console, vai alla pagina Monitoraggio.

      Vai a Monitoring

    2. A sinistra, seleziona Avvisi.

    3. Nella sezione Criteri puoi vedere un elenco dei tuoi criteri di avviso.

      Nell'elenco, seleziona Server API GKE on-prem per l'amministrazione del server inattivo (importante) per visualizzare i dettagli del nuovo criterio. Puoi visualizzare una descrizione delle norme nella sezione Condizioni. Ad esempio:

      Policy violates when ANY condition is met
      Anthos On-Prem Admin Cluster API Server is up
      Violates when: Any kubernetes.io/anthos/up stream is absent for greater
      than 5 minutes
      

    gcloud

    gcloud alpha monitoring policies list

    L'output mostra informazioni dettagliate sul criterio. Ad esempio:

    combiner: OR
    conditions:
    – conditionAbsent:
        aggregations:
        - alignmentPeriod: 60s
          crossSeriesReducer: REDUCE_SUM
          groupByFields:
          - resource.label.project_id
          - resource.label.location
          - resource.label.cluster_name
          perSeriesAligner: ALIGN_MEAN
        duration: 300s
        filter: resource.type="k8s_container" AND metric.type="kubernetes.io/anthos/up"
          AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver")
        trigger:
          count: 1
      ...
    displayName: GKE on-prem admin cluster API server down (critical)
    enabled: true
    ...
    name: projects/xxxxxx/alertPolicies/12331540576820203183

Creazione di criteri di avviso aggiuntivi

Questa sezione fornisce descrizioni e file di configurazione per una serie di criteri di avviso consigliati.

Per creare un criterio, segui gli stessi passaggi utilizzati nell'esercizio precedente:

  1. Fai clic sul link nella colonna di destra per scaricare il file di configurazione.

  2. Esegui gcloud alpha monitoring policies create per creare il criterio.

Disponibilità dei componenti del piano di controllo del cluster di amministrazione

Nome avviso Descrizione Definizione dei criteri di avviso in Cloud Monitoring
Server dell'API del cluster di amministrazione on-prem di GKE inattivo (critico) Il server API del cluster di amministrazione è scomparso dal rilevamento di metriche target admin-cluster-apiserver-down.json
Pianificazione del cluster di amministrazione GKE On-Prem inattiva (critico) Lo scheduler del cluster di amministrazione è scomparso dal rilevamento delle metriche di destinazione admin-cluster-scheduler-down.json
Gestore del controller del cluster di amministrazione on-prem di GKE inattivo (critico) Il gestore del controller del cluster di amministrazione è scomparso dal rilevamento delle metriche di destinazione admin-cluster-controller-manager-down.json
Mancato cluster di amministrazione GKE on-prem (critico) Cluster di amministrazione eccd è scomparso dal rilevamento delle metriche di destinazione admin-cluster-etcd-down.json

Disponibilità dei componenti del piano di controllo del cluster utente

Gli avvisi del piano di controllo del cluster utente si basano sulle metriche. Per la maggior parte delle metriche del cluster, il campo cluster_name rappresenta il nome del cluster stesso. Tuttavia, per le metriche del piano di controllo del cluster utente, il campo cluster_name è il nome del cluster di amministrazione e il campo namespace_name è il nome del cluster utente.

Puoi vederlo in uno screenshot nella sezione Crea una dashboard di stato del piano di controllo.

Nome avviso Descrizione Definizione dei criteri di avviso in Cloud Monitoring
Il server API GKE on-prem per il cluster utente è inattivo (critico) Il server API del cluster utente è scomparso dal rilevamento delle metriche di destinazione user-cluster-apiserver-down.json
Pianificazione del cluster utente GKE On-Prem in esecuzione (critica) Lo scheduler del cluster utente è scomparso dal rilevamento delle metriche di destinazione user-cluster-scheduler-down.json
Gestore controller del cluster utente GKE On-Prem non attivo (critico) Il gestore del controller del cluster utente è scomparso dal rilevamento delle metriche di destinazione user-cluster-controller-manager-down.json
Cluster utente GKE On-Prem e così via (critico) Cluster utente etcd è scomparso dal rilevamento delle metriche di destinazione user-cluster-etcd-down.json

Sistema Kubernetes

Nome avviso Descrizione Definizione dei criteri di avviso in Cloud Monitoring
Loop degli arresti anomali dei pod on-prem (critico) Il pod è in uno stato di arresto anomalo pod-crash-looping.json
Pod GKE on-prem non pronto per più di un'ora (critico) Il pod è in uno stato non pronto da più di un'ora pod-non-pronto-1h.json
Utilizzo elevato di GKE On-Prem di volume elevato (criterio critico) È previsto il riempimento del volume permanente rivendicato persistente-volume-usage-high.json
Nodo GKE On-Prem non pronto per più di un'ora (critico) Il nodo è in uno stato non pronto da più di un'ora nodo-non-pronto-1h.json

Prestazioni Kubernetes

Nome avviso Descrizione Definizione dei criteri di avviso in Cloud Monitoring
Il rapporto di errore del server dell'API del cluster di amministrazione on-prem di GKE supera il 10% (critico) Il server API del cluster di amministrazione restituisce errori per oltre il 10% delle richieste admin-cluster-apiserver-error-ratio-10-percent.json
Il rapporto di errore del server dell'API del cluster di amministrazione on-prem di GKE supera il 5% (avviso) Il server API del cluster di amministrazione restituisce errori per oltre il 5% delle richieste admin-cluster-apiserver-errore-ratio-5-percent.json
Il rapporto di errore del server dell'API del cluster utente on-prem di GKE supera il 10% (critico) Il server API del cluster utente restituisce errori per oltre il 10% delle richieste user-cluster-apiserver-error-ratio-10-percent.json
Il rapporto di errore del server dell'API del cluster utente GKE on-prem supera il 5% (avviso) Il server API del cluster utente restituisce errori per oltre il 5% delle richieste user-cluster-apiserver-error-ratio-5-percent.json

Ricevere notifiche

Dopo aver creato un criterio di avviso, puoi definire uno o più canali di notifica per il criterio. Esistono diversi tipi di canali di notifica. Ad esempio, potresti ricevere una notifica via email, in un canale Slack o in un'app per dispositivi mobili. Puoi scegliere i canali adatti alle tue esigenze.

Per istruzioni su come configurare i canali di notifica, consulta Gestire i canali di notifica.