I criteri degli agenti consentono l'installazione e la manutenzione automatiche Agenti Google Cloud Observability in un parco risorse di VM di Compute Engine corrispondenti secondo i criteri specificati dall'utente. Puoi creare un criterio per un progetto Google Cloud che regoli le VM esistenti e nuove associate al progetto Google Cloud, garantendo l'installazione, la disinstallazione e l'eventuale upgrade automatico di tutti gli agenti di Google Cloud Observability su queste VM.
Puoi creare e gestire i criteri dell'agente utilizzando il gruppo di comandi gcloud beta compute instances ops-agents policies
in Google Cloud CLI o il modulo Terraform agent-policy
.
I criteri dell'agente utilizzano
Suite di strumenti VM Manager in
Compute Engine per gestire i criteri del sistema operativo,
che può automatizzare il deployment e la manutenzione delle configurazioni software
come
Agenti Google Cloud Observability: Ops Agent, l'agente Monitoring legacy e l'agente Logging legacy.
Sistemi operativi supportati
Puoi applicare un criterio di agente a Compute Engine Istanze VM che eseguono i sistemi operativi indicati nella tabella seguente:
Sistema operativo | Ops Agent
(norme di GA e beta†) |
Agente Logging
(solo per i criteri beta†) |
Agente Monitoring
(solo criteri† beta) |
---|---|---|---|
CentOS 8 | |||
Rocky Linux 8 | |||
RHEL 6 | |||
RHEL 7: rhel-7, rhel-7-6-sap-ha, rhel-7-7-sap-ha, rhel-7-9-sap-ha |
‡ | ||
RHEL 8: rhel-8, rhel-8-4-sap-ha, rhel-8-6-sap-ha, rhel-8-8-sap-ha |
‡ | ||
Debian 9 (Stretch) | |||
Debian 11 (Bullseye) | |||
Deep Learning VM Image basate su Debian 11 (Bullseye) | |||
Ubuntu LTS 18.04 (Bionic Beaver): ubuntu-1804-lts, ubuntu-minimal-1804-lts |
|||
Ubuntu LTS 20.04 (Focal Fossa): ubuntu-2004-lts, ubuntu-minimal-2004-lts |
|||
Ubuntu LTS 22.04 (Jammy Jellyfish): buntu-2204-lts, ubuntu-minimal-2204-lts |
|||
SLES 12: sles-12, sles-12-sp5-sap |
|||
SLES 15: sles-15, sles-15-sp2-sap, sles-15-sp3-sap, sles-15-sp4-sap, sles-15-sp5-sap, sles-15-sp6-sap |
|||
OpenSUSE Leap 15: opensuse-leap (opensuse-leap-15-3-*, opensuse-leap-15-4-*) |
|||
Windows Server: 2016, 2019, 2022, Core 2016, Core 2019, Core 2022 |
create
a gcloud beta compute instances ops-agents policies
:
- Ops Agent viene mappato al tipo di agente
ops-agent
. - L'agente Logging viene mappato al tipo di agente
logging
. - L'agente di monitoraggio viene mappato al tipo di agente
metrics
.
rhel-7-9-sap-ha
, rhel-8-2-sap-ha
o
rhel-8-4-sap-ha
.
Crea un criterio per gli agenti
Questa sezione descrive l'utilizzo di Google Cloud SDK per gestire i criteri degli agenti. Per informazioni sull'utilizzo di Terraform, consulta Integrazione di Terraform.
Per creare un criterio di agente utilizzando Google Cloud CLI, completa quanto segue passaggi:
Se non l'hai ancora fatto, installa Google Cloud CLI.
I criteri dell'agente descritti in questo documento utilizzano il gruppo di comandi
beta
.Se non lo hai già fatto, installa il componente
beta
della gcloud CLI:gcloud components install beta
Per verificare se il componente
beta
è installato, esegui:gcloud components list
Se hai già installato il componente
beta
, assicurati di avere la versione più recente:gcloud components update
Scarica e utilizza lo script seguente per abilitare le API e impostare il parametro le autorizzazioni appropriate per l'utilizzo di Google Cloud CLI:
set-permissions.sh
Per informazioni sullo script, consulta The
set-permissions.sh
script.Usa il comando
gcloud beta compute instances ops-agents policies
create
per creare un criterio. Per la sintassi del comando, consultagcloud beta compute instances ops-agents policies
create
documentazione.Per esempi che mostrano come formattare il comando, consulta la sezione Esempi della documentazione di Google Cloud CLI.
Per ulteriori informazioni sugli altri comandi del gruppo di comandi e sulle opzioni disponibili, consulta la documentazione di
gcloud beta compute instances ops-agents policies
.
Best practice per l'utilizzo dei criteri dell'agente
Per controllare l'impatto sui sistemi di produzione durante il lancio, è consigliabile puoi utilizzare le etichette e le zone delle istanze per filtrare le istanze a cui il criterio a cui si applica.
Ecco un esempio di un piano di implementazione graduale per le VM Debian 11 in un progetto
chiamato my_project
:
Fase 1: crea un criterio denominato ops-agents-policy-safe-rollout
per installare gli agenti Logging e Monitoring precedenti su tutte le VM con le etichette env=test
e app=myproduct
.
gcloud beta compute instances \
ops-agents policies create ops-agents-policy-safe-rollout \
--agent-rules="type=logging,version=current-major,package-state=installed,enable-autoupgrade=true;type=metrics,version=current-major,package-state=installed,enable-autoupgrade=true" \
--os-types=short-name=debian,version=11 \
--group-labels=env=test,app=myproduct \
--project=my_project
Per ulteriori informazioni su come specificare il sistema operativo, vedi
gcloud beta compute instances ops-agents policies
create
Fase 2: aggiorna il criterio in modo che abbia come target le VM in un'unica zona con le etichette env=prod
e app=myproduct
.
gcloud beta compute instances \
ops-agents policies update ops-agents-policy-safe-rollout \
--group-labels=env=prod,app=myproduct \
--zones=us-central1-c \
Fase 3: aggiorna il criterio per cancellare il filtro delle zone in modo che venga implementato a livello globale
gcloud beta compute instances \
ops-agents policies update ops-agents-policy-safe-rollout \
--clear-zones
Criteri sulle VM precedenti a OS Config
Potresti dover installare e configurare manualmente l'agente OS Config sulle VM precedenti a OS Config. Per informazioni sull'installazione e sulla verifica manuale dell'agente OS Config, consulta la lista di controllo per la verifica di VM Manager.
Risolvi i problemi relativi ai criteri degli agenti beta
Questa sezione fornisce informazioni per aiutarti a risolvere i problemi relativi ai criteri dell'agente beta per Ops Agent, l'agente di monitoraggio legacy e l'agente di logging legacy.
I comandi ops-agents policy
non vanno a buon fine
In caso di errore di un comando gcloud beta compute instances ops-agents policies
, la risposta mostra un
errore di convalida. Correggi gli errori correggendo gli argomenti e i flag del comando come suggerito dal messaggio di errore.
Oltre agli errori di convalida, potresti visualizzare errori che indicano le seguenti condizioni:
Nelle sezioni seguenti vengono descritte queste condizioni in modo più dettagliato.
Autorizzazione IAM insufficiente
Se un comando gcloud beta compute instances ops-agents policies
non va a buon fine con un errore di autorizzazione, assicurati di aver eseguito lo script set-permissions.sh
come descritto in Creare un criterio dell'agente per configurare i ruoli dei criteri OS Config:
-
Amministratore GuestPolicy (
roles/osconfig.guestPolicyAdmin
): Fornisce l'accesso completo ai criteri guest. -
Editor GuestPolicy (
roles/osconfig.guestPolicyEditor
): Consente agli utenti di ricevere, aggiornare ed elencare i criteri relativi agli ospiti. -
Visualizzatore GuestPolicy (
roles/osconfig.guestPolicyViewer
): Fornisce l'accesso di sola lettura per recuperare ed elencare i criteri guest.
Per ulteriori informazioni sullo script set-permissions.sh
, consulta
Lo script set-permissions.sh
.
L'API OS Config non è abilitata
Un errore di esempio ha il seguente aspetto:
API [osconfig.googleapis.com] not enabled on project PROJECT_ID.
Would you like to enable and retry (this will take a few minutes)?
(y/N)?
Puoi inserire y
per attivare l'API oppure eseguire lo script set-permissions.sh
, descritto in Creare un criterio per gli agenti, per concedere tutte le autorizzazioni necessarie. Se inserisci y
al prompt nel messaggio di errore, devi comunque eseguire lo script set-permissions.sh
per impostare le autorizzazioni necessarie.
Per verificare che l'API OS Config sia abilitata per il progetto, esegui seguenti comandi:
gcloud services list --project PROJECT_ID | grep osconfig.googleapis.com
Di seguito è riportato l'output previsto:
osconfig.googleapis.com Cloud OS Config API
Il criterio non esiste
Un errore di esempio ha il seguente aspetto:
NOT_FOUND: Requested entity was not found
Questo errore potrebbe significare che il criterio non è mai stato creato, che è stato
o che l'ID criterio specificato non è corretto. Assicurati che
POLICY_ID in uso in gcloud beta compute instances ops-agents policies
describe
, update
o
Il comando delete
corrisponde a un criterio esistente. Per ottenere un elenco degli agenti
usa il comando gcloud beta compute instances ops-agents policies
list
.
Il criterio è stato creato, ma sembra non avere alcun effetto
Gli agenti di configurazione del sistema operativo vengono dipartiti in ogni istanza Compute Engine per gestire i pacchetti per gli agenti Logging e Monitoring. Il criterio potrebbe non avere alcun effetto se l'agente OS Config sottostante non installato.
Linux
Per verificare che l'agente OS Config sia installato, esegui il comando seguente:
gcloud compute ssh instance-id \
--project project-id \
-- sudo systemctl status google-osconfig-agent
Un output di esempio è:
google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
└─369 /usr/bin/google_osconfig_agent
Windows
Per verificare che l'agente OS Config sia installato:
Connettiti all'istanza utilizzando RDP o uno strumento simile e accedi a Windows.
Apri un terminale PowerShell, quindi esegui il seguente comando PowerShell. Non sono necessari privilegi di amministratore.
Get-Service google_osconfig_agent
Un output di esempio è:
Status Name DisplayName
------ ---- -----------
Running google_osconfig_a… Google OSConfig Agent
Se l'agente OS Config non è installato, è possibile che sia in uso un che non supporta VM Manager. Il documento Dettagli del sistema operativo di Compute Engine indica quali funzionalità di VM Manager sono supportate per ciascun sistema operativo Compute Engine.
Se il sistema operativo supporta VM Manager, puoi installare manualmente l'agente OS Config.
L'agente di configurazione del sistema operativo è installato, ma non viene installato l'agente di monitoraggio
Per verificare se sono presenti errori quando l'agente OS Config applica i criteri, controllare il log dell'agente OS Config. Questa operazione può essere eseguita utilizzando Esplora log o utilizzo di SSH o RDP per controllare singoli Compute Engine di Compute Engine.
Per visualizzare i log dell'agente OS Config Esplora log, utilizza il seguente filtro:
resource.type="gce_instance"
logId(OSConfigAgent)
Per visualizzare i log degli agenti OS Config, segui questi passaggi:
CentOS, RHEL,
SLES, SUSE
Esegui questo comando:
gcloud compute ssh INSTANCE_ID \
--project PROJECT_ID \
-- sudo cat /var/log/messages \
| grep "OSConfigAgent\|google-fluentd\|stackdriver-agent"
Debian, Ubuntu
Esegui questo comando:
gcloud compute ssh INSTANCE_ID \
--project PROJECT_ID \
-- sudo cat /var/log/syslog \
| grep "OSConfigAgent\|google-fluentd\|stackdriver-agent"
Windows
Connettiti all'istanza utilizzando RDP o uno strumento simile e accedi a Windows.
Apri l'app Event Viewer, quindi seleziona Log di Windows > Applicazione e ricerca per i log con
Source
uguale aOSConfigAgent
.
Se si verifica un errore di connessione al servizio OS Config, assicurati di eseguire
Script set-permissions.sh
come descritto in
Crea un criterio dell'agente
per impostare i metadati
OS Config.
Per verificare che i metadati di OS Config siano abilitati, puoi eseguire il seguente comando:
gcloud compute project-info describe \
--project PROJECT_ID \
| grep "enable-osconfig\|enable-guest-attributes" -A 1
Di seguito è riportato l'output previsto:
- key: enable-guest-attributes
value: 'TRUE'
- key: enable-osconfig
value: 'TRUE'
Gli agenti di osservabilità sono installati, ma non funzionano correttamente
Per informazioni sul debug di agenti specifici, consulta i seguenti documenti:
- Risolvi i problemi di Ops Agent
- Risolvere i problemi dell'agente Logging legacy
- Risolvere i problemi dell'agente Monitoring legacy
Abilita i log a livello di debug per l'agente OS Config
Può essere utile abilitare il logging a livello di debug nell'agente OS Config quando segnalando un problema.
Puoi impostare i metadati osconfig-log-level: debug
per abilitare a livello di debug
per l'agente OS Config. I log raccolti contengono maggiori informazioni
e aiutarti con l'indagine.
Per abilitare il logging a livello di debug per l'intero progetto, esegui questo comando:
gcloud compute project-info add-metadata \
--project PROJECT_ID \
--metadata osconfig-log-level=debug
Per attivare il logging a livello di debug per una VM, esegui il comando seguente:
gcloud compute instances add-metadata INSTANCE_ID \
--project PROJECT_ID \
--metadata osconfig-log-level=debug
Script di supporto
Questa sezione fornisce informazioni aggiuntive sugli script di assistenza descritti in questo documento:
Lo script set-permissions.sh
Dopo aver scaricato lo script set-permissions.sh
, puoi utilizzarlo per eseguire le seguenti azioni in base agli argomenti forniti:
Abilita l'API Cloud Logging, l'API Cloud Monitoring e l'API OS Config per il progetto.
Concedi i ruoli di Identity and Access Management Writer log (
roles/logging.logWriter
) e Autore delle metriche di Monitoring (roles/monitoring.metricWriter
) al servizio predefinito di Compute Engine account in modo che gli agenti possano scrivere log e metriche API Logging e Cloud Monitoring.Abilita i metadati OS Config per il progetto in modo che l'agente OS Config su ogni VM sia attiva.
Concedi uno dei seguenti ruoli IAM agli utenti non proprietari o all'account di servizio necessario per creare e gestire i criteri. I proprietari del progetto dispongono dell'accesso completo per creare e gestire i criteri. A tutti gli altri utenti o account di servizio deve essere concesso uno dei seguenti ruoli:
-
Amministratore GuestPolicy (
roles/osconfig.guestPolicyAdmin
): Fornisce l'accesso completo ai criteri guest. -
Editor GuestPolicy (
roles/osconfig.guestPolicyEditor
): Consente agli utenti di ricevere, aggiornare ed elencare i criteri relativi agli ospiti. -
Visualizzatore GuestPolicy (
roles/osconfig.guestPolicyViewer
): Fornisce l'accesso di sola lettura per recuperare ed elencare i criteri guest.
Quando esegui lo script, devi solo specificare
guestPolicy*
del nome del ruolo. Lo script fornisce la parteroles/osconfig.
del nome.-
Amministratore GuestPolicy (
Gli esempi seguenti mostrano alcune invocazioni comuni dello script. Per ulteriori informazioni, vedi i commenti nello script stesso.
Per abilitare le API, concedi i ruoli necessari all'account di servizio predefinito e attiva i metadati di OS Config per un progetto eseguendo lo script come segue:
bash set-permissions.sh --project=PROJECT_ID
Per concedere inoltre uno dei ruoli di configurazione del sistema operativo a un utente che non ha il ruolo Proprietario (roles/owner
) nel progetto, esegui lo script come segue:
bash set-permissions.sh --project=PROJECT_ID \ --iam-user=USER_EMAIL \ --iam-permission-role=guestPolicy[Admin|Editor|Viewer]
Per concedere inoltre a uno dei ruoli OS Config un ruolo non predefinito account di servizio, esegui lo script come segue:
bash set-permissions.sh --project=PROJECT_ID \ --iam-service-account=SERVICE_ACCT_EMAIL \ --iam-permission-role=guestPolicy[Admin|Editor|Viewer]
Lo script diagnose.sh
Dato un ID progetto, un ID istanza Compute Engine,
e l'ID criterio dell'agente,
Lo script diagnose.sh
raccoglie automaticamente
le informazioni necessarie per diagnosticare i problemi relativi alle norme:
- La versione dell'agente OS Config
- Il criterio guest di OS Config sottostante
- I criteri applicabili a questa istanza Compute Engine
- I repository dei pacchetti dell'agente che vengono estratti in questa istanza Compute Engine
Per richiamare lo script, esegui il seguente comando:
bash diagnose.sh --project-id=PROJECT_ID \ --gce-instance-id=INSTANCE_ID \ --policy-id=POLICY_ID
Integrazione di Terraform
Scopri come applicare o rimuovere un file Terraform. consulta la sezione Nozioni di base su Terraform comandi. Per informazioni su come funziona Terraform, consulta Utilizzo di Terraform.
Il supporto di Terraform per i criteri dell'agente si basa sui comandi della CLI di Google Cloud. Per creare un criterio dell'agente utilizzando Terraform, segui le istruzioni
istruzioni agent-policy
del modulo.
Puoi anche trovare criteri di esempio nella
Directory examples
.