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.
Scarica il file di configurazione del criterio: apiserver-down.json.
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.
Visualizza i criteri di avviso:
console
In Google Cloud Console, vai alla pagina Monitoring.
A sinistra, seleziona Avvisi.
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:
Fai clic sul link nella colonna destra per scaricare il file di configurazione.
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.