Configura Cloud Monitoring con un agente autonomo
Cloud Monitoring ti aiuta a ottenere visibilità su prestazioni, disponibilità e integrità delle tue applicazioni e della tua infrastruttura. Puoi utilizzare Cloud Monitoring e altre parti di Google Cloud Observability per monitorare, risolvere i problemi e gestire i servizi VMware Engine su larga scala.
Definisci la configurazione dell'inoltro delle metriche separatamente per ogni cloud privato utilizzando un agente autonomo. Ogni cloud privato richiede un agente separato, ospitato in una VM Compute Engine o in una VM VMware.
Una volta attivato correttamente l'inoltro delle metriche, puoi visualizzarle in
Metrics Explorer di Cloud Monitoring. I tipi di risorse e le metriche di
VMware Engine iniziano con external.googleapis.com/vmware/vcenter
,
e il nome di dominio completo di vCenter è taggato come parte dello spazio dei nomi.
Prima di iniziare
I passaggi descritti in questo documento presuppongono che tu esegua prima le seguenti operazioni:
- Abilita l'API Cloud Monitoring
- Identifica un account utente della soluzione da utilizzare con l'agente autonomo e imposta una password efficace per l'account utente della soluzione.
Crea una VM di Compute Engine o una VM VMware da utilizzare come host per l'agente autonomo. Le VM Compute Engine devono trovarsi in una rete Virtual Private Cloud (VPC) in peering con la rete VPC del cloud privato contenente le risorse che vuoi monitorare.
Per un esempio di creazione di una VM Compute Engine, consulta la Guida rapida all'utilizzo di una VM Linux di Compute Engine. Per un esempio di creazione di una VM VMware, vedi Creazione di una VM VMware.
Se utilizzi una VM Compute Engine per ospitare l'agente autonomo, Google gestisce rotazione della chiave per il account di servizio a cui ti connetti. Tuttavia, può essere conveniente creare una VM VMware se hai capacità inutilizzata nel tuo cloud privato e non ti preoccupa gestire autonomamente la rotazione della chiavevi.
Indipendentemente da dove crei la VM host dell'agente, questa deve soddisfare i seguenti requisiti:
Requisiti
La VM host dell'agente deve soddisfare i seguenti requisiti di sistema:
- Sistemi operativi Linux supportati:
- CentOS 6, 7 o 8
- Red Hat Enterprise Linux 6, 7 o 8
- SLES 12 o 15
- Ubuntu 14, 16, 18 o 19
- Almeno 4 GB di RAM
- 300 MB di spazio di installazione disponibile
- Directory di installazione impostata su
/opt/bpagent
- Utilità CLI
curl
installata
La VM host dell'agente deve anche accedere ai seguenti indirizzi per raccogliere e inviare metriche e log:
- Porta 443 (TCP) per la connessione HTTPS al tuo vCenter Server (impostazione predefinita)
monitoring.googleapis.com:443 (external access)
logging.googleapis.com:443 (external access)
Abilitazione dell'inoltro delle metriche
La procedura di configurazione della VM host dell'agente e di attivazione dell'inoltro delle metriche consiste nei seguenti passaggi:
- Installa l'agente sulla VM
- Specificare un service account
- Configura l'agente per accedere al tuo cloud privato per le metriche
- Configurare l'agente per accedere al account di servizio per la generazione di report
- Raccogliere metriche e log
- Configura un cloud privato per l'inoltro di syslog
Installazione dell'agente autonomo
Per installare l'agente sulla VM host:
- Connettiti alla VM host dell'agente.
Esegui lo script di installazione da remoto:
sudo sh -c "$(curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh)"
Per i sistemi in cui la VM host dell'agente potrebbe non avere accesso alla rete esterna, puoi scaricare l'agente e lo script di installazione utilizzando i seguenti comandi:
Per ottenere l'agente autonomo, esegui questo comando:
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/artifacts/bpagent-headless-vmware.tar.gz > agent.tar.gz
Per ottenere lo script di installazione, esegui il comando seguente:
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh > install.sh
Per installare l'agente, esegui il seguente comando sulla VM host dell'agente:
sudo sh install.sh agent.tar.gz
Specifica un account di servizio personalizzato
L'inoltro dei dati dall'agente a Cloud Monitoring richiede un service account dal tuo progetto Google Cloud . Questo account di serviziot deve avere il ruolo Amministratore Monitoring per le metriche e il ruolo Scrittore log per i log.
Se non hai un account di servizio per le applicazioni di monitoraggio e logging, creane uno:
Nella console Google Cloud , vai a IAM e amministrazione > Service account.
Fai clic su Seleziona un progetto e poi seleziona l'organizzazione, la cartella o il progetto in cui vuoi creare l'account di servizio.
Fai clic su Crea account di servizio.
Inserisci un nome, un ID e una descrizione per il account di servizio. Ti consigliamo di annotare che l'account viene utilizzato per l'integrazione dell'agente.
Fai clic su Crea e continua.
In Ruolo, seleziona Amministratore Monitoring.
In Ruolo, seleziona Logs Writer.
Fai clic su Continua.
Fai clic su Fine.
Se hai creato una VM VMware come VM host dell'agente, recupera la chiave privata del account di servizio in modo da poterla utilizzare per configurare l'agente:
Nella console Google Cloud , vai a IAM e amministrazione > Service account.
Fai clic su Seleziona un progetto e poi seleziona l'organizzazione, la cartella o il progetto in cui si trova il tuo account di servizio.
Trova il tuo account di servizio nell'elenco dei service account.
Nella colonna Azioni, fai clic sul menu delle azioni dell'account di servizio
e seleziona Gestisci chiavi.Fai clic su Aggiungi chiave e seleziona Crea nuova chiave.
Seleziona il tipo di chiave JSON e fai clic su Crea.
Apri il file JSON generato e copia l'intero contenuto. La raccolta di metriche e logging utilizza lo stesso file di chiave JSON.
Nella VM host dell'agente, copia il file della chiave JSON nella directory
/opt/bpagent/config/destinations/google_cloud
.
Configura l'agente per accedere al tuo cloud privato per le metriche
L'agente autonomo deve accedere al tuo cloud privato per raccogliere le metriche. Nella VM host dell'agente, configura l'accesso copiando e configurando il file vmware_vcenter.yaml
:
Copia
vmware_vcenter.yaml
nella directoryconfig/metrics/sources
:cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
Modifica
vmware_vcenter.yaml
in modo che corrispondano alle informazioni nel tuo ambiente VMware Engine:collection_interval: 1m0s connection_info: connection_timeout: "30" enable_performance_counters: "true" host: VCSA_FQDN password: SOLUTION_USER_PASSWORD performance_counter_end_time: "" performance_counter_query_timeout: "15" performance_counter_start_time: "" port: "443" sdk_path: "" ssl_config: "No Verify" username: SOLUTION_USER_ACCOUNT
Sostituisci quanto segue:
VCSA_FQDN
: il nome di dominio completo (FQDN) di vCenter Server Appliance nel tuo cloud privatoSOLUTION_USER_PASSWORD
: la password che corrisponde all'account utente della soluzione in usoSOLUTION_USER_ACCOUNT
: l'account utente della soluzione che l'agente utilizza per segnalare le informazioni
Configura l'agente per accedere al account di servizio per la generazione di report
L'agente autonomo deve accedere a Google Cloud Observability per inviare metriche e log. Configura l'agente per accedere al progetto utilizzato per la generazione di report tramite il service account che dispone delle autorizzazioni di monitoraggio e logging.
Nella VM host dell'agente, copia e configura il file log_agent.yaml
:
Copia
log_agent.example.yaml
inlog_agent.yaml
prima di modificare:cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
Nella parte inferiore di
log_agent.yaml
, inserisci il nome del progetto e il percorso completo del file della chiave JSON. Per le VM host dell'agente create in Compute Engine, rimuovi o commenta la rigacredentials_file
.... - id: my_project_destination project_id:
PROJECT_ID
type: google_cloud_output credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui vuoi generare i log di outputJSON_KEY_FILE
: il nome del file della chiave privata del account di servizio. Rimuovi o commenta questa riga per le VM host agent create in Compute Engine.
Se devi inoltrare il syslog da ESXi, nell'agente di log autonomo, esegui le seguenti operazioni per modificare la porta predefinita da
5142
a514
:- Vai a
/opt/bpagent/config
. - Aggiorna il numero di porta a
514
come segue:
- id: vmware-vcenter-logs # A syslog address of the form `
: ` listen_address: 0.0.0.0:514 # Enable TLS for the TCP listener enable_tls: false
Raccogliere metriche e log
Per raccogliere metriche o log, l'agente autonomo deve essere in esecuzione sulla VM host dell'agente. Connettiti alla VM host dell'agente e utilizza i seguenti comandi per avviare o arrestare l'agente:
Per avviare l'agente sulla VM host, esegui questo comando:
systemctl start bpagent
Per arrestare l'agente sulla VM host, esegui questo comando:
systemctl stop bpagent
Configura un cloud privato per l'inoltro di syslog
VMware Engine si integra con Cloud Logging inoltrando i messaggi syslog da vCenter e NSX all'agente autonomo. L'agente autonomo è configurato per analizzare i log di vCenter e NSX per Cloud Logging.
Per inoltrare i messaggi syslog da VMware Engine:
- Per l'inoltro di syslog di vCenter, segui i passaggi descritti in Inoltra i messaggi syslog di vCenter.
Nel campo Server, inserisci l'indirizzo IP o il nome host della VM host dell'agente. L'agente autonomo utilizza il protocollo di comunicazione TCP e ascolta
sulla porta
5142
. L'agente autonomo deve essere in esecuzione per consentire la connessione della configurazione syslog. - Per l'inoltro di syslog NSX, segui i passaggi descritti in Inoltrare i messaggi syslog NSX.
Nel campo FQDN o indirizzo IP, inserisci l'indirizzo IP o il nome host della VM host agent. L'agente autonomo utilizza il protocollo di comunicazione TCP
ed è in ascolto sulla porta
5142
.
Se prevedi di inoltrare syslog dagli host ESXi, modifica la porta predefinita su cui
l'agente di log è in ascolto da 5142
a 514
. In questo caso, utilizza la stessa porta
(514
) per il forwarding di syslog da vCenter e NSX.
Disinstallazione dell'agente
Per rimuovere l'agente da una VM, connettiti alla VM dell'agente ed esegui i seguenti comandi nella riga di comando:
Arresta e disabilita l'agente autonomo:
systemctl stop bpagent
systemctl disable bpagent
Esegui i seguenti comandi per rimuovere il servizio agente autonomo:
rm /etc/systemd/system/bpagent.service
rm -rf /opt/bpagent
Aggiorna la configurazione del sistema in base alle modifiche del servizio ed elimina le unità non riuscite:
systemctl daemon-reload
systemctl reset-failed
Dashboard di Cloud Monitoring
Dopo aver attivato l'inoltro delle metriche, puoi installare dashboard predefinite per VMware Engine. Le seguenti dashboard forniscono informazioni aggregate su tutte le origini che specifichi:
- Dashboard di panoramica: visualizzazione di alto livello che elenca le risorse chiave come data center, cluster e VM.
- Dashboard Contesa:utilizzo delle risorse per spazio di archiviazione, CPU, memoria e rete per aiutarti a individuare le VM e gli host principali in base alla richiesta di risorse.
- Dashboard delle prestazioni delle macchine virtuali:indicatori delle prestazioni delle istanze di macchine virtuali (VM) che possono essere filtrati in base al nome dell'istanza e utilizzati per confrontare le prestazioni di più VM tra loro.
Per accedere a una dashboard di VMware Engine:
Nella console Google Cloud , vai a Monitoraggio > Dashboard.
Nella scheda Libreria di esempi, seleziona la categoria VMware.
Seleziona la dashboard che ti interessa e fai clic su file_downloadImporta.
Le definizioni di queste dashboard sono anche archiviate su GitHub. Per i passaggi per installare o visualizzare le definizioni come dashboard personalizzate, vedi Installazione di dashboard di esempio.
Avvisi di Cloud Monitoring
Puoi utilizzare le metriche dell'integrazione per attivare avvisi e notifiche in base a soglie e incidenti personalizzati. Ad esempio, puoi fare in modo che Cloud Monitoring ti invii una notifica SMS quando qualcuno crea una nuova VM nel tuo cloud privato.
Per maggiori dettagli, vedi Introduzione agli avvisi.
Elenco delle metriche raccolte
Una volta attivato correttamente l'inoltro delle metriche, puoi visualizzarle in
Metrics Explorer di Cloud Monitoring. I tipi di risorse e di metriche di
VMware Engine iniziano con il prefisso
external.googleapis.com/vmware/vcenter.
in Metrics Explorer.
Ecco l'elenco completo delle metriche raccolte per VMware Engine, con il prefisso omesso:
Tipo di risorsa e metrica | Descrizione |
---|---|
cluster.cpu.available |
CPU disponibile in un cluster, in megahertz |
cluster.memory.available |
Memoria disponibile in un cluster, in byte |
cluster.cpu.threads |
Numero di thread CPU in un cluster |
cluster.cpu.effective |
CPU effettiva in un cluster da tutti gli host in esecuzione. Gli host che non rispondono o sono in modalità di manutenzione non vengono conteggiati. |
cluster.effective_hosts |
Numero di host effettivi in un cluster. Gli host che non rispondono o in modalità di manutenzione non vengono conteggiati. |
cluster.memory.effective |
Memoria effettiva in un cluster da tutti gli host in esecuzione. Gli host che non rispondono o sono in modalità di manutenzione non vengono conteggiati. |
cluster.hosts |
Numero di host in un cluster |
cluster.vsan.latency |
Latenza vSAN di un cluster, in microsecondi |
cluster.vsan.throughput |
Throughput di lettura/scrittura vSAN di un cluster, in byte |
cluster.vsan.iops |
IOPS vSAN di un cluster |
cluster.vsan.congestions |
Valore di congestione vSAN di un cluster |
cluster.vsan.oio |
I/O in attesa (oio) di vSAN in un cluster |
datacenter.cpu.average_host_utilization |
Utilizzo medio dell'host di un data center, in percentuale |
datacenter.clusters |
Numero di cluster in un data center |
datacenter.datastores |
Numero di datastore in un data center |
datacenter.hosts |
Numero di host in un data center |
datacenter.host_systems |
Numero di sistemi host in un data center |
datacenter.hosts/powered_on |
Numero di host accesi in un data center |
datacenter.hosts/powered_off |
Numero di host spenti in un data center |
datacenter.disk/space |
Spazio su disco totale in un data center, in terabyte |
datastore.capacity_bytes |
Capacità di un datastore, in byte |
datastore.capacity_utilization |
Utilizzo della capacità di un datastore, in percentuale |
host_system.network.transmitted_packets |
Numero di pacchetti di rete trasmessi dal sistema host |
host_system.network.received_packets |
Numero di pacchetti di rete ricevuti dal sistema host |
host_system.dropped_packets |
Numero di pacchetti di rete eliminati dal sistema host |
host_system.network.adapters |
Numero di schede di rete del sistema host |
host_system.memory.utilization |
Utilizzo della memoria del sistema host, in percentuale |
host_system.memory.utilization_ratio |
Rapporto di utilizzo della memoria del sistema host |
host_system.memory.used |
Memoria utilizzata dal sistema host, in megabyte |
host_system.disk.read |
Lettura del disco del sistema host, in kilobyte al secondo |
host_system.disk_latency |
Latenza del disco del sistema host, in millisecondi |
host_system.cpu.usage |
Utilizzo della CPU del sistema host, in percentuale |
host_system.cpu.utilization_ratio |
Rapporto di utilizzo della CPU del sistema host |
host_system.cpu.capacity |
Capacità della CPU del sistema host, in megahertz |
host_system.cpu.reserved_capacity |
Capacità CPU riservata del sistema host, in megahertz |
host_system.cpu.average_speed |
Velocità media della CPU del sistema host, in megahertz |
host_system.cpu.used |
CPU utilizzata dal sistema host, in megahertz |
host_system.vsan.throughput |
Throughput di lettura/scrittura vSAN del sistema host, in byte |
host_system.vsan.iops |
IOPS vSAN del sistema host |
host_system.vsan.latency |
Latenza vSAN del sistema host, in microsecondi |
host_system.vsan.client_cache_hits |
Hit della cache client vSAN del sistema host |
host_system.vsan.client_cache_hit_rate |
Percentuale di successo della cache client vSAN del sistema host |
host_system.vsan.congestions |
Valore di congestione vSAN del sistema host |
resource_pool.memory.swapped_bytes |
Memoria scambiata di vCenter, in megabyte |
resource_pool.memory.shared_bytes |
Memoria condivisa vCenter, in megabyte |
resource_pool.memory.private_bytes |
Memoria privata vCenter, in megabyte |
resource_pool.memory.shares |
Numero di condivisioni di memoria vCenter |
resource_pool.memory.overhead_usage_bytes |
Utilizzo dell'overhead di memoria di vCenter, in megabyte |
resource_pool.memory.host_usage_bytes |
Utilizzo dell'host di memoria vCenter, in megabyte |
resource_pool.memory.active_guest_usage_bytes |
Utilizzo attivo della memoria guest di vCenter, in megabyte |
resource_pool.memory.balloon_size |
Dimensione della memoria balloon di vCenter, in megabyte |
resource_pool.cpu.usage |
CPU utilizzata da vCenter, in megahertz |
resource_pool.cpu.shares |
Numero di condivisioni CPU nel pool di risorse, in megabyte |
vm.memory.ballooned |
Dimensione della memoria balloon della VM, in megabyte |
vm.network.throughput_bytes |
Velocità effettiva di rete della VM, in kilobyte al secondo |
vm.memory.used_percent |
Memoria utilizzata dalla VM, come percentuale della memoria disponibile |
vm.memory.usage_bytes |
Memoria utilizzata dalla VM, in megabyte |
vm.disk.throughput_bytes |
Velocità effettiva di lettura/scrittura del disco della VM, in kilobyte al secondo |
vm.disk.used_percent |
Utilizzo del disco della VM, come percentuale dello spazio di archiviazione disponibile |
vm.disk.usage_bytes |
Utilizzo del disco della VM, in byte |
vm.disk.free_bytes |
Spazio su disco disponibile della VM, in byte |
vm.cpu.used_percent |
Utilizzo della CPU della VM, come percentuale della CPU disponibile |
vm.cpu.usage |
Utilizzo della CPU della VM, in megahertz |
vm.cpu.ready_percent |
CPU della VM pronta ma non in grado di essere eseguita, in percentuale |
vm.vsan.throughput |
Throughput di lettura/scrittura vSAN della VM, in byte |
vm.vsan.iops |
IOPS vSAN della VM |
vm.vsan.latency |
Latenza vSAN della VM, in microsecondi |
vm.vsan.readCount |
Conteggio delle letture vSAN della VM |
vm.vsan.writeCount |
Conteggio delle scritture vSAN della VM |
vsphere.cpu.available |
CPU disponibile nei cluster gestiti da vSphere, in gigahertz |
vsphere.memory.available |
Memoria disponibile nei cluster gestiti da vSphere, in gigabyte |
vsphere.clusters.total |
Numero di cluster gestiti da vSphere |
vsphere.clusters |
Conteggio dei cluster gestiti da vSphere con il codice colore dello stato del cluster (ad es. verde, grigio, rosso o giallo) |
vsphere.cpu.cpus |
Numero totale di core CPU del sistema host gestiti da vSphere |
vsphere.datacenters |
Numero di data center gestiti da vSphere |
vsphere.datastores.total |
Numero di datastore in vSphere |
vsphere.datastores |
Conteggio dei datastore gestiti da vSphere con il codice colore dello stato del datastore (ad es. verde, grigio, rosso o giallo) |
vsphere.disk.space |
Spazio su disco totale collegato in vSphere, in terabyte |
vsphere.host_systems |
Numero di sistemi host in vSphere |
vsphere.hosts |
Conteggio dei sistemi host gestiti da vSphere con il codice colore dello stato del sistema host (ad es. verde, grigio, rosso o giallo) |
vsphere.network.adapters |
Numero di schede di rete in vSphere |
vsphere.hosts.powered_off |
Numero di host spenti in vSphere |
vsphere.hosts.powered_on |
Numero di host accesi in vSphere |
vsphere.virtual_machines.total |
Numero di VM in tutti i cluster vSphere |
vsphere.virtual_machines |
Conteggio delle VM gestite da vSphere con il codice colore dello stato della VM (ad es. verde, grigio, rosso o giallo) |