Creazione di criteri di avviso

Questa pagina mostra come creare criteri di avviso per i cluster Anthos sui cluster Bare Metal.

Prima di iniziare

Devi disporre delle seguenti autorizzazioni per creare criteri di avviso:

  • monitoring.alertPolicies.create
  • monitoring.alertPolicies.delete
  • monitoring.alertPolicies.update

Avrai queste autorizzazioni se hai uno dei seguenti ruoli:

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

Per controllare i ruoli, vai alla pagina IAM nella console Google Cloud.

Creazione di un criterio: server API del cluster inattivo

In questo esercizio creerai un criterio di avviso per i server API Kubernetes dei cluster. Una volta impostato questo criterio, puoi pianificare la notifica quando il server API di un cluster smette di funzionare.

  1. Scarica il file di configurazione del criterio: 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 Monitoring.

      Vai a Monitoring

    2. A sinistra, seleziona Avvisi.

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

      Nell'elenco, seleziona Anthos on baremetal API server down (critical) per visualizzare i dettagli del nuovo criterio. Nella sezione Condizioni, puoi vedere una descrizione del criterio. Ad esempio:

      Policy violates when ANY condition is met
      Anthos on baremetal API server is up
      

    gcloud

    gcloud alpha monitoring policies list

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

    ---
    combiner: OR
    conditions:
    - conditionMonitoringQueryLanguage:
        duration: 0s
        query: |-
          { t_0:
              fetch k8s_container
              | metric 'kubernetes.io/anthos/up'
              | filter (resource.container_name =~ 'kube-apiserver')
              | align mean_aligner()
              | group_by 1m, [value_up_mean: mean(value.up)]
              | every 1m
              | group_by [resource.project_id, resource.location, resource.cluster_name],
                  [value_up_mean_aggregate: aggregate(value_up_mean)]
          ; t_1:
              fetch k8s_container::kubernetes.io/anthos/anthos_cluster_info
              | filter (metric.anthos_distribution = 'baremetal')
              | align mean_aligner()
              | group_by [resource.project_id, resource.location, resource.cluster_name],
                  [value_anthos_cluster_info_aggregate:
                     aggregate(value.anthos_cluster_info)]
              | every 1m }
          | join
          | value [t_0.value_up_mean_aggregate]
          | window 1m
          | absent_for 300s
        trigger:
          count: 1
      displayName: Anthos on baremetal API server is up
      name: projects/xxxxxx/alertPolicies/8497323605386949154/conditions/8497323605386950375
    creationRecord:
      mutateTime: '2021-03-17T23:07:18.618778106Z'
      mutatedBy: sharon@example.com
    displayName: Anthos on baremetal API server down (critical)
    enabled: true
    mutationRecord:
      mutateTime: '2021-03-17T23:07:18.618778106Z'
      mutatedBy: sharon@example.com
    name: projects/xxxxxx/alertPolicies/8497323605386949154
    

Creazione di criteri di avviso aggiuntivi

Questa sezione fornisce descrizioni e file di configurazione per un insieme di criteri di avviso consigliati.

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

  1. Fai clic sul link nella colonna 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

Nome avviso Descrizione Definizione dei criteri di avviso in Cloud Monitoring
Il server Anthos su API Baremetal è inattivo (crittografico) Il server API è scomparso dal rilevamento delle metriche target apiserver-down.json
Anthos su scheduler baremetal (giù) Lo scheduler è scomparso dal rilevamento delle metriche target scheduler-down.json
Anthos su Gestione baremetal del gestore del controller in stato non funzionante (critical) Il gestore del controller è scomparso dal rilevamento delle metriche target controller-manager-down.json

Sistema Kubernetes

Nome avviso Descrizione Definizione dei criteri di avviso in Cloud Monitoring
Anthos su loop di arresti anomali di pod baremetal (critical) Il pod è in uno stato di loop di arresto anomalo pod-crash-looping.json
Anthos su pod baremetal non pronto per più di un'ora (criterio) Il pod è in uno stato non pronto per più di un'ora pod-non-ready-1h.json
Anthos su volume permanente di alta frequenza di utilizzo permanente (crittografico) Il volume permanente rivendicato dovrebbe essere riempito persistente-volume-uso-alto.json
Il nodo Anthos su Baremetal non è pronto per più di un'ora (criterio) Il nodo è in uno stato non pronto per più di un'ora nodo-non-pronta-1h.json
L'utilizzo della CPU di Anthos su nodo baremetal supera l'80% (crittografico) Utilizzo CPU nodo superiore all'80% node-cpu-usage-high.json
L'utilizzo della memoria del nodo baremetal da parte di Anthos supera l'80% (valore critico) Utilizzo memoria nodo superiore all'80% node-memory-usage-high.json
L'utilizzo di Anthos sul disco del nodo baremetal supera l'80% (crittografico) L'utilizzo del disco del nodo è superiore all'80% node-disk-usage-high.json

Prestazioni di Kubernetes

Nome avviso Descrizione Definizione dei criteri di avviso in Cloud Monitoring
Il rapporto del numero di errori del server dell'API Anthos su Baremetal supera il 10% (Critico) Il server API restituisce errori per oltre il 10% delle richieste api-server-error-ratio-10-percent.json
Il rapporto del numero di errori del server dell'API Anthos su Baremetal supera il 5% (avviso) Il server API restituisce errori per oltre il 5% delle richieste api-server-error-ratio-5-percent.json
Anthos su modifica leader leader baremetal eccessiva (frequente) Il leader etcd cambia troppo di frequente etcd-leader-change-too-frequent.json
Anthos su proposte bardet eccd non riuscite (frequente) Le proposte etcd non vengono pubblicate troppo spesso ecc.-proposta-non-corretta-.json
Il server Anthos su baremetal etcd non è in quorum (crittografico) Il server etcd non è in quorum etcd-server-not-in-quorum.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, su un canale Slack o in un'app per dispositivi mobili. Puoi scegliere i canali più adatti alle tue esigenze.

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