Puoi creare e gestire i criteri degli agenti utilizzando
Comando gcloud compute instances ops-agents policies
in Google Cloud CLI. I comandi in questo gruppo 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
Ops Agent. Questi criteri non possono essere applicati alla versione precedente
Agente Monitoring o l'agente Logging legacy.
gcloud compute instances ops-agents policies
il gruppo di comandi utilizza
Assegnazione dei criteri del sistema operativo
risorse nell'API OS Config. Sebbene esista gcloud CLI generale
un gruppo di comandi per la gestione
delle assegnazioni dei criteri del sistema operativo,
gcloud compute os-config os-policy-assignments
,
Il gruppo di comandi gcloud compute instances ops-agents policies
è progettato specificamente per l'agente
descritte in questo documento.
Prima di iniziare
Prima di utilizzare Google Cloud CLI per creare criteri degli agenti, completa la seguenti passaggi:
Se non lo hai già fatto, installa il Google Cloud CLI.
Scarica ed esegui lo script
prepare-for-ops-agents-policies.sh
per abilitare le API richieste e impostare le autorizzazioni appropriate per l'utilizzo Google Cloud CLI.Per informazioni sullo script, consulta The
prepare-for-ops-agents-policies.sh
script.
Disinstalla l'agente Monitoring e l'agente Logging legacy
Se stai creando un criterio per Ops Agent, assicurati che le tue VM non hanno installato l'agente Logging o l'agente Monitoring legacy. L'esecuzione Ops Agent e gli agenti legacy sulla stessa VM possono causare l'importazione di log duplicati o un conflitto nell'importazione delle metriche. Se necessario, disinstallare l'agente Monitoring e disinstallare il Agente Logging prima di creare un criterio per installare Ops Agent.Verifica che l'agente OS Config sia installato
Potresti dover installare e configurare manualmente l'agente OS Config VM precedenti a OS Config. Per informazioni sull'installazione manuale e verificando l'agente OS Config, consulta Elenco di controllo per la verifica di VM Manager.
Crea un criterio dell'agente per gestire Ops Agent
Per creare un criterio di agente, utilizza
Comando gcloud compute instances ops-agents policies
create
.
Questo comando ha la seguente struttura:
gcloud compute instances ops-agents policies
create
POLICY_ID \
--zone ZONE \
--file path/to/policy-description-file.yaml \
--project PROJECT_ID
Quando utilizzi questo comando, sostituisci le variabili come segue:
- POLICY_ID è un nome per il criterio.
- ZONE è una zona Compute Engine. I criteri dell'agente vengono applicati solo alle VM in la zona specificata; per applicare un criterio in più zone, è necessario creare più criteri.
- path/to/policy-description-file.yaml è il percorso di un file YAML che descrive il criterio. Per informazioni sulla struttura di questo file, vedi Descrivere i criteri degli agenti.
- PROJECT_ID è l'ID del tuo progetto Google Cloud.
Per informazioni sugli altri comandi del gruppo di comandi
le opzioni disponibili, vedi
gcloud compute instances ops-agents policies
.
Descrivi i criteri degli agenti
Fornisci le informazioni relative alle norme all'create
gcloud compute instances ops-agents policies
tramite
creando un file YAML che descriva il criterio e passando questo file
come valore dell'attributo --file
.
Questa sezione descrive la struttura del file di descrizione dei criteri. Per ulteriori informazioni, vedi Esempi di file di descrizione dei criteri.
Formato del file YAML policy-description
Il file di descrizione per un criterio di agente deve includere due gruppi di campi:
agentsRule
, che indica al criterio dell'agente se installare o rimuovere Ops Agent e specifica la versione dell'Ops Agent su cui operare.instanceFilter
, che descrive le VM su cui viene applicato il criterio.
Struttura del gruppo di campi agentsRule
Il gruppo di campi agentsRule
ha la seguente struttura:
agentsRule:
packageState: installed|removed
version: latest|2.*.*|2.x.y
- Il campo
packageState
indica al criterio lo stato previsto del Ops Agent. I valori validi sonoinstalled
eremoved
. Il campo
version
indica la versione di Ops Agent da installare o rimuovere. Puoi specificare i seguenti valori:latest
è la versione più recente di Ops Agent.2.*.*
è la release più recente della versione principale 2 di Ops Agent.2.x.y
indica una release specifica della versione principale 2.
Per informazioni sulle versioni disponibili di Ops Agent, consulta il repository GitHub dell'agente.
Struttura del gruppo di campi instanceFilter
Il gruppo di campi instanceFilter
indica le VM in una zona a cui
si applica il filtro. Questo gruppo di campi è una rappresentazione YAML
InstanceFilter
struttura utilizzata dalla risorsa OSPolicyAssignment
nell'API OS Config.
Il gruppo di campi instanceFilter
ha una delle seguenti strutture:
Per applicare il criterio dell'agente a tutte le VM in una zona, utilizza quanto segue:
instanceFilter: all: True
Se utilizzi il filtro
all: True
, non puoi specificare con qualsiasi altro criterio.Per applicare il criterio dell'agente a un insieme specifico di VM in una zona, descrivi utilizzando una combinazione di uno qualsiasi dei seguenti elementi:
- Etichette sulla VM, per inclusione o esclusione:
inclusionLabels:
exclusionLabels:
- Sistema operativo:
inventories:
Ad esempio, il seguente filtro applica il criterio dell'agente alle VM con i sistemi operativi specificati con l'etichetta "env=prod" e non hanno l'etichetta "app=web":
instanceFilter: inclusionLabels: - labels: env: prod exclusionLabels: - labels: app: web inventories: - osShortName: rhel osVersion: '7.*' - osShortName: debian osVersion: '11'
Per trovare i valori per i campi
osShortName
eosVersion
di una VM, usa i seguenti comandi:gcloud compute instances os-inventory describe INSTANCE_NAME \ --zone ZONE | grep "^ShortName: "
gcloud compute instances os-inventory describe INSTANCE_NAME \ --zone ZONE | grep "^Version: "
Questi comandi richiedono l'installazione dell'agente OS Config sulla VM.
- Etichette sulla VM, per inclusione o esclusione:
Verifica lo stato dei criteri dell'agente
Questa sezione descrive come controllare lo stato dei criteri creati e l'installazione di Ops Agent. Queste informazioni possono essere utili anche risoluzione dei problemi dei criteri dell'agente.
Pagina dei criteri del sistema operativo di Compute Engine
La pagina Criteri del sistema operativo di Compute Engine fornisce informazioni su i criteri degli agenti che gestiscono Ops Agent e le VM sul Scheda Istanze VM. Ad esempio:
- La colonna Stato indica se un criterio è stato correttamente eseguito installata ("Conforme"), in corso ("In attesa"), potrebbe non essere riuscita ("Sconosciuto") o mancante ("Nessun criterio").
- La colonna VM monitorata indica se Ops Agent
è gestito da OS Config ("Monitorata") o meno ("Non monitorato").
Se un criterio è "Conforme" ma la VM mostra "Non monitorata", potrebbe esserci un problema durante l'installazione di Ops Agent. Potresti, ad esempio, ad esempio, avere un agente legacy installato.
Nella console Google Cloud, vai alla pagina Criteri del sistema operativo:
Vai a Criteri del sistema operativo
Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato la cui Compute Engine.
Istanze VM nella scheda Criteri del sistema operativo di Compute Engine
mostra informazioni sugli agenti gestiti da tutti i criteri del sistema operativo in
progetto Google Cloud. Questi criteri sono etichettati come goog-ops-agent-policy
.
- L'indicatore
goog-ops-agent-policy
include diversi tipi di criteri:- Criteri creati utilizzando i comandi
gcloud compute instances ops-agents policies
. - Criteri creati per te, se lo hai richiesto Installazione di Ops Agent quando hai creato la VM.
- Criteri creati utilizzando Terraform per gestire Ops Agent.
Per distinguere tra i criteri, utilizza Scheda Assegnazioni criteri del sistema operativo nella pagina per visualizzare gli ID criterio per tutte le assegnazioni di criteri in progetto Google Cloud.
- Criteri creati utilizzando i comandi
- Questa colonna VM monitorata non riflette l'installazione di Ops Agent con altri mezzi, come l'installazione manuale o criteri dell'agente beta.
Pagina Istanze VM di Cloud Monitoring
La pagina Istanze VM in Cloud Monitoring include una Colonna Agent che elenca l'agente installato su ogni VM e per l'agente Ops Agent include un indicatore per gli agenti installati che sono antecedenti al all'ultima versione.
Nella console Google Cloud, vai alla pagina della dashboard delle istanze VM:
Vai alla dashboard delle istanze VM
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.
Esempi di file di descrizione dei criteri
Questa sezione fornisce alcuni esempi di file YAML di descrizione dei criteri
scenari diversi. Gli esempi presuppongono che gli attributi
YAML in un file denominato agent-policy-description.yaml
e che
crei il criterio nella zona us-central1-a
utilizzando un comando
ad esempio:
gcloud compute instances ops-agents policies
create
POLICY_ID \
--zone us-central1-a \
--file agent-policy-description.yaml \
--project PROJECT_ID
Installa su tutte le VM
Per installare la versione più recente di Ops Agent su tutte le VM in
us-central1-a
zona, utilizza la seguente descrizione del criterio:
agentsRule:
packageState: installed
version: latest
instanceFilter:
all: True
Rimuovi da tutte le VM
Per rimuovere la versione più recente di Ops Agent su tutte le VM nel
us-central1-a
zona, utilizza la seguente descrizione del criterio:
agentsRule:
packageState: removed
version: latest
instanceFilter:
all: True
Installazione su VM in base alle etichette
Per installare la versione più recente di Ops Agent su tutte le VM in
us-central1-a
zona con l'etichetta "env=prod" o "app=web",
utilizza la seguente descrizione della norma:
agentsRule:
packageState: installed
version: latest
instanceFilter:
inclusionLabels:
- labels:
env: prod
- labels:
app: web
Se specifichi più voci labels:
per l'inclusione o l'esclusione,
corrisponde se è presente una qualsiasi delle etichette; cioè gli insiemi di etichette
per l'inclusione o l'esclusione vengono considerate
un'operazione OR
logica,
non è un'operazione AND
logica.
Installa su VM in base ad altre etichette
Per installare la versione più recente di Ops Agent su tutte le VM in
us-central1-a
zona che esegue Debian 11, ad eccezione di quelle con le etichette "env=prod"
e "app=web6", utilizza la seguente descrizione dei criteri:
agentsRule:
packageState: installed
version: latest
instanceFilter:
exclusionLabels:
- labels:
env: prod
app: web6
inventories:
- osShortName: debian
osVersion: '11'
Quando specifichi più coppie chiave-valore in una singola voce labels:
per l'inclusione o l'esclusione, una VM corrisponde se sono presenti tutte le etichette;
ovvero le etichette vengono trovate come un'operazione AND
logica, non come un
per l'operazione logica OR
.
Installa su VM in base al sistema operativo
Per installare l'ultima versione 2 di Ops Agent su tutte le VM in esecuzione
Debian 11 o RHEL 7.* nella zona us-central1-a
, usa quanto segue
descrizione delle norme:
agentsRule:
packageState: installed
version: 2.*.*
instanceFilter:
inventories:
- osShortName: rhel
osVersion: '7.*'
- osShortName: debian
osVersion: '11'
Risolvere i problemi relativi ai criteri degli agenti GA
Questa sezione fornisce informazioni per aiutarti a risolvere i problemi relativi a: Criteri dell'agente GA per Ops Agent. Le informazioni descritte in Anche Verifica lo stato dei criteri dell'agente potrebbe essere utili.
I comandi ops-agents policy
hanno esito negativo
In caso di errore di un comando gcloud compute instances ops-agents policies
, la risposta mostra un
errore di convalida. Correggi gli errori correggendo gli argomenti del comando e
come suggerito dal messaggio di errore.
Oltre agli errori di convalida, potresti notare errori che indicano le seguenti condizioni:
Nelle sezioni seguenti vengono descritte queste condizioni in modo più dettagliato.
Autorizzazione IAM insufficiente
Se un comando gcloud compute instances ops-agents policies
non riesce e restituisce un errore di autorizzazione:
assicurati di aver eseguito lo script prepare-for-ops-agents-policies.sh
come descritto in
Prima di iniziare
per impostare i ruoli dei criteri di OS Config:
-
Amministratore OSPolicyAssignment
(
roles/osconfig.osPolicyAssignmentAdmin
): Fornisce l'accesso completo alle assegnazioni dei criteri del sistema operativo.
-
Editor OSPolicyAssignment
(
roles/osconfig.osPolicyAssignmentEditor
): Consente agli utenti di ottenere, aggiornare ed elencare le assegnazioni dei criteri del sistema operativo.
-
Visualizzatore OSPolicyAssignment
(
roles/osconfig.osPolicyAssignmentViewer
): Fornisce l'accesso di sola lettura per recuperare ed elencare le assegnazioni dei criteri del sistema operativo.
Per ulteriori informazioni sullo script prepare-for-ops-agents-policies.sh
, consulta
Lo script prepare-for-ops-agents-policies.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 abilitare l'API oppure eseguire prepare-for-ops-agents-policies.sh
script, descritto in
Prima di iniziare,
per concedere tutte le autorizzazioni necessarie. Se inserisci y
nel
nel messaggio di errore, devi ancora eseguire
prepare-for-ops-agents-policies.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 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 compute instances ops-agents policies
list
.
Il criterio è stato creato, ma sembra non produrre alcun effetto
Il deployment degli agenti OS Config su ogni istanza Compute Engine 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 questo comando:
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. Tu non necessitano di privilegi amministrativi.
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. La Documento sui dettagli del sistema operativo di Compute Engine indica quali funzionalità di VM Manager sono supportate il sistema operativo Compute Engine.
Se il sistema operativo supporta VM Manager, puoi installare l'agente OS Config manualmente.
L'agente OS Config è installato, ma non installa Ops Agent
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 prepare-for-ops-agents-policies.sh
come descritto in
Prima di iniziare
per impostare i metadati OS Config.
Per verificare che i metadati OS Config siano abilitati, puoi eseguire quanto segue :
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'
Ops Agent è installato, ma non funziona correttamente
Per ulteriori informazioni sul debug dei problemi di Ops Agent, consulta Risolvi i problemi di Ops Agent.
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 abilitare il logging a livello di debug per una VM, esegui questo comando:
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 supporto. descritti in questo documento:
Lo script prepare-for-ops-agents-policies.sh
Dopo aver scaricato lo script prepare-for-ops-agents-policies.sh
,
puoi utilizzare lo script per eseguire le azioni seguenti, in base agli argomenti
che fornisci:
Abilita l'API Cloud Logging, l'API Cloud Monitoring e API OS Config per il progetto.
Se l'API OS Config non era già abilitata, verrà abilitata in modalità a funzionalità limitate, sufficiente per gestire i criteri dell'agente. Per ulteriori informazioni, vedi Prezzi.
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 per creare e gestire i criteri. Progetto i proprietari hanno accesso completo per creare e gestire criteri; tutti gli altri utenti o di servizio agli account deve essere concesso uno dei seguenti ruoli:
-
Amministratore OSPolicyAssignment
(
roles/osconfig.osPolicyAssignmentAdmin
): Fornisce l'accesso completo alle assegnazioni dei criteri del sistema operativo.
-
Editor OSPolicyAssignment
(
roles/osconfig.osPolicyAssignmentEditor
): Consente agli utenti di ottenere, aggiornare ed elencare le assegnazioni dei criteri del sistema operativo.
-
Visualizzatore OSPolicyAssignment
(
roles/osconfig.osPolicyAssignmentViewer
): Fornisce l'accesso di sola lettura per recuperare ed elencare le assegnazioni dei criteri del sistema operativo.
Durante l'esecuzione dello script, puoi specificare i ruoli OSPolicyAssignment come
admin
,editor
oviewer
. Lo script mappa questi valori Nomi dei ruoli inroles/osconfig.osPolicyAssignment*
.-
Amministratore OSPolicyAssignment
(
Gli esempi seguenti mostrano alcune chiamate comuni allo script. Per ulteriori informazioni, vedi i commenti nello script stesso.
Per abilitare le API, concedi i ruoli necessari all'account di servizio predefinito, e abilita i metadati OS Config per un progetto, esegui lo script come segue:
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID
Per concedere inoltre uno dei ruoli di configurazione del sistema operativo a un utente che
non hanno il ruolo Proprietario (roles/owner
) per il progetto, esegui lo script come
che segue:
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID \ --iam-user=USER_EMAIL \ --iam-policy-access=[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 prepare-for-ops-agents-policies.sh --project=PROJECT_ID \ --iam-service-account=SERVICE_ACCT_EMAIL \ --iam-policy-access=[admin|editor|viewer]
Lo script diagnose_policies.sh
Dato un ID progetto, un ID istanza Compute Engine,
in una zona Compute Engine,
e l'ID criterio dell'agente,
Lo script diagnose_policies.sh
raccoglie automaticamente
le informazioni necessarie per diagnosticare i problemi relativi alle norme:
- La versione dell'agente OS Config
- L'assegnazione dei criteri del sistema operativo sottostante
- Le assegnazioni dei criteri del sistema operativo applicabili a questo Istanza Compute Engine
- Una descrizione di questa istanza Compute Engine
Per richiamare lo script, esegui questo comando:
bash diagnose_policies.sh --project-id=PROJECT_ID \ --gce-instance-id=INSTANCE_ID \ --policy-id=POLICY_ID \ --zone=ZONE
Prezzi
I comandi gcloud compute instances ops-agents policies
vengono implementati utilizzando
Assegnazione dei criteri del sistema operativo
di risorse di VM Manager.
Lo script prepare-for-ops-agents-policies.sh
, descritto in Prima di iniziare, imposta
di VM Manager
modalità con funzionalità limitate
(OSCONFIG_B
),
sufficiente per creare e gestire i criteri degli agenti. Non prevede costi
per utilizzare VM Manager in modalità limitata.
Se hai configurato VM Manager in modalità completa
(OSCONFIG_C
), potrebbero esserti addebitati dei costi.