Raccogli i log di VMware vCenter
Questo documento spiega come importare i log di VMware vCenter in Google Security Operations utilizzando l'agente Bindplane.
VMware vCenter è una piattaforma di gestione dei server che genera messaggi JSON e syslog per le operazioni della macchina virtuale, la gestione dell'host, l'autenticazione e le modifiche alla configurazione.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Windows Server 2016 o versioni successive o host Linux con
systemd - Connettività di rete tra l'agente Bindplane e il server VMware vCenter
- Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
- Accesso con privilegi all'interfaccia utente web di gestione di VMware vCenter Server
Recuperare il file di autenticazione dell'importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'acquisizione.
Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Recuperare l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
Installa l'agente Bindplane
Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.
Installazione di Windows
- Apri Prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo:
sc query observiq-otel-collectorIl servizio dovrebbe essere visualizzato come IN ESECUZIONE.
Installazione di Linux
- Apri un terminale con privilegi root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo:
sudo systemctl status observiq-otel-collectorIl servizio dovrebbe essere visualizzato come attivo (in esecuzione).
Risorse aggiuntive per l'installazione
Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.
Configura l'agente Bindplane per importare il syslog e inviarlo a Google SecOps
Individua il file di configurazione
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifica il file di configurazione
Sostituisci l'intero contenuto di
config.yamlcon la seguente configurazione:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/vmware_vcenter: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VMWARE_VCENTER raw_log_field: body service: pipelines: logs/vmware_vcenter_to_chronicle: receivers: - udplog exporters: - chronicle/vmware_vcenter
Parametri di configurazione
Sostituisci i seguenti segnaposto:
Configurazione del destinatario:
listen_address: Indirizzo IP e porta da ascoltare:0.0.0.0per ascoltare su tutte le interfacce (consigliato)- La porta
514è la porta syslog standard (richiede l'accesso root su Linux; utilizza1514per l'accesso non root)
Configurazione dell'esportatore:
creds_file_path: Percorso completo del file di autenticazione dell'acquisizione:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: ID cliente copiato dalla console Google SecOpsendpoint: URL dell'endpoint regionale:- Stati Uniti:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Per l'elenco completo, consulta Endpoint regionali.
- Stati Uniti:
Salva il file di configurazione
- Dopo la modifica, salva il file:
- Linux: premi
Ctrl+O, poiEntere infineCtrl+X. - Windows: fai clic su File > Salva
- Linux: premi
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart observiq-otel-collectorVerifica che il servizio sia in esecuzione:
sudo systemctl status observiq-otel-collectorControlla i log per individuare eventuali errori:
sudo journalctl -u observiq-otel-collector -f
Per riavviare l'agente Bindplane in Windows, scegli una delle seguenti opzioni:
Prompt dei comandi o PowerShell come amministratore:
net stop observiq-otel-collector && net start observiq-otel-collectorConsole Servizi:
- Premi
Win+R, digitaservices.msce premi Invio. - Individua observIQ OpenTelemetry Collector.
- Fai clic con il tasto destro del mouse e seleziona Riavvia.
Verifica che il servizio sia in esecuzione:
sc query observiq-otel-collectorControlla i log per individuare eventuali errori:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Premi
Configura syslog in VMware vCenter
- Accedi alla UI web di vCenter Server Management.
- Vai a Syslog > Forwarding Configuration (Syslog > Configurazione dell'inoltro).
- Fai clic su Configura per creare una nuova configurazione di inoltro.
- Fornisci i seguenti dettagli di configurazione:
- Indirizzo server: inserisci l'indirizzo IP dell'agente Bindplane.
- Protocollo: seleziona UDP.
- Porta: inserisci il numero di porta dell'agente Bindplane (ad esempio,
514).
- Fai clic su Salva.
- Fai clic su Invia messaggio di prova per verificare la configurazione.
Tabella di mappatura UDM
La tabella seguente elenca i mapping dei campi da log a UDM per i log di VMware vCenter:
| Campo log | mappatura UDM |
|---|---|
Access Mask |
principal.process.access_mask |
Account Domain |
principal.administrative_domain |
Account Name |
target.user.userid |
AccessControlRuleAction |
security_result.action |
AccessControlRuleName |
security_result.rule_name |
ACPolicy |
security_result.rule_labels |
admin |
principal.resource.attribute.labels |
agent.hostname |
principal.hostname,principal.asset.hostname |
agent.type |
observer.application |
agent.version |
intermediary.platform_version |
alarm_target |
about.resource.name |
api_call_method |
metadata.product_event_type |
app |
principal.application |
ApplicationProtocol |
network.application_protocol |
appname |
principal.application |
auth_date_time |
metadata.collected_timestamp |
auth_user |
target.user.userid |
Authentication Package |
security_result.about.resource.name |
basedn_group_iden |
target.user.group_identifiers |
bytes_received |
network.received_bytes |
bytes_sent |
network.sent_bytes |
Client |
target.user.attribute.labels |
Client Address |
principal.ip |
Client Port |
principal.port |
client_ip |
principal.ip,principal.asset.ip |
client_port |
principal.port |
ClientVersion |
target.platform_version |
cmd |
target.process.command_line |
ConnectionID |
security_result.about.labels |
cor_id |
metadata.product_log_id |
data_center |
target.location.name |
datacenter |
target.location.name |
desc |
metadata.description |
description_data |
metadata.description |
dest_ip |
target.ip,target.asset.ip |
dest_port |
target.port |
DeviceUUID |
metadata.product_log_id |
domain |
principal.administrative_domain |
dstip |
target.ip,target.asset.ip |
EgressZone |
target.location.name |
error_code |
security_result.detection_fields |
error_message |
security_result.summary |
event_name |
metadata.product_event_type |
eventid |
metadata.product_event_type |
EventPriority |
security_result.severity,security_result.severity_details |
@fields.company_name |
principal.user.company_name |
@fields.facility |
principal.resource.resource_subtype |
@fields.host |
principal.hostname,principal.asset.hostname |
@fields.privatecloud_id |
principal.resource_ancestors.product_object_id |
@fields.privatecloud_name |
principal.resource_ancestors.name |
@fields.procid |
principal.process.pid |
@fields.region_id |
principal.location.country_or_region |
file_path |
target.process.file.full_path |
file_type |
network.http.response_headers |
FirstPacketSecond |
security_result.about.labels |
f_path |
target.file.full_path |
function |
security_result.detection_fields |
hmethod |
network.http.method |
host.architecture |
principal.asset.hardware |
host.id |
observer.asset_id |
host.ip |
principal.ip,principal.asset.ip |
host.mac |
principal.mac |
host.os.kernel |
principal.platform_patch_level |
host.os.platform |
target.platform |
host.os.version |
principal.platform_version |
host_ip |
principal.ip,principal.asset.ip |
http_method |
network.http.method |
HTTPResponse |
network.http.response_code |
http_version |
network.tls.version_protocol |
i_ip |
intermediary.ip,intermediary.asset.ip |
i_port |
intermediary.port |
IngressZone |
principal.location.name |
InitiatorBytes |
network.sent_bytes |
InitiatorPackets |
network.sent_packets |
insertId |
metadata.product_log_id |
InstanceId |
target.asset_id |
inter_host_name |
intermediary.hostname |
inter_ip |
intermediary.ip |
inter_port |
target.port |
intermediary_ip |
intermediary.ip |
intermediary_port |
intermediary.port |
ip |
target.ip,target.asset.ip |
ips |
principal.ip,principal.asset.ip |
jsonPayload.appname |
security_result.detection_fields |
jsonPayload.facility |
security_result.detection_fields |
jsonPayload.hostname |
principal.hostname,principal.asset.hostname |
jsonPayload.message |
security_result.detection_fields |
jsonPayload.priority |
security_result.detection_fields |
jsonPayload.version |
security_result.detection_fields |
kv_msg1.cipher |
network.tls.cipher |
kv_msg1.ctladdr |
intermediary.user.attribute.labels |
kv_msg1.daemon |
security_result.about.labels |
kv_msg1.from |
network.email.from |
kv_msg1.get_error |
intermediary.user.attribute.labels |
kv_msg1.msgid |
network.email.mail_id |
kv_msg1.proto |
security_result.about.labels |
kv_msg1.size |
network.sent_bytes |
kv_msg1.stat |
security_result.summary |
kv_msg1.to |
network.email.to |
kv_msg1.verify |
security_result.description,security_result.action |
kv_msg1.version |
network.tls.version |
labels.log_type |
metadata.product_event_type |
labels.net.host.ip |
principal.ip,principal.asset.ip |
labels.net.host.port |
principal.port |
labels.net.peer.ip |
intermediary.ip,intermediary.asset.ip,target.ip,target.asset.ip |
labels.net.peer.port |
intermediary.port,target.port |
labels.net.transport |
network.ip_protocol |
level |
security_result.severity,security_result.severity_details |
level_name |
security_result.severity,security_result.severity_details |
local_address_1 |
observer.ip |
local_address_2 |
observer.ip |
local_port_1 |
observer.port |
log.file.path |
target.process.file.full_path |
log.source.address |
intermediary.ip,intermediary.port |
log.syslog.severity.name |
security_result.severity_details |
log_id |
metadata.product_log_id |
log_level |
security_result.severity,security_result.severity_details |
logName |
security_result.category_details |
Logon Account |
principal.user.userid |
logstash.irm_site |
target.location.name |
logstash.process.host |
additional.fields |
mail_from |
network.email.from |
mail_to |
network.email.to |
msg |
metadata.description |
name |
about.group.group_display_name |
namespace |
principal.namespace |
NAPPolicy |
security_result.rule_labels |
o_ip |
observer.ip,observer.asset.ip |
o_port |
observer.port |
obj_h |
additional.fields |
obj_p |
additional.fields |
p_ip |
principal.ip,principal.asset.ip |
p_log_id |
metadata.product_log_id |
p_port |
principal.port |
p_user_id |
principal.user.userid |
p_vm_name |
target.resource.name |
parsable_message |
metadata.description |
pid |
target.process.pid |
port |
intermediary.port |
ppid |
principal.process.pid |
prin_app |
principal.application |
prin_domain |
principal.administrative_domain |
prin_name |
principal.resource.attribute.labels |
prin_pid |
principal.process.pid |
principal_email |
principal.user.email_addresses |
principal_ip1 |
principal.ip,principal.asset.ip |
principal_ip2 |
principal.ip,principal.asset.ip |
principal_port |
principal.port |
priority |
security_result.severity,security_result.severity_details |
process |
principal.application |
process_id |
principal.process.pid |
product_event_type |
metadata.product_event_type |
program |
principal.application |
Protocol |
network.ip_protocol |
providername |
principal.application |
r_bytes |
network.received_bytes |
r_name |
principal.resource.name |
ReferencedHost |
target.hostname,target.asset.hostname |
Relative Target Name |
target.file.full_path |
relay |
intermediary.hostname,intermediary.ip |
request_path |
target.url |
resource.labels.project_id |
src.resource_ancestors.product_object_id |
resource.type |
src.user.attribute.labels |
resource_name |
target.resource.name |
ResponderBytes |
network.received_bytes |
ResponderPackets |
network.received_packets |
response_code |
network.http.response_code |
response_details |
target.resource.attribute.labels |
role |
target.user.attribute.roles |
s_bytes |
network.sent_bytes |
sec_desc |
security_result.description |
Security ID |
target.user.windows_sid |
security_result_action_detail |
security_result.action_details |
server_name |
target.hostname,target.asset.hostname |
session_id |
network.session_id |
severity |
security_result.severity,security_result.severity_details |
severity_data |
security_result.severity,security_result.severity_details |
Share Name |
target.resource.name |
sid |
about.group.windows_sid |
Source Network Address |
principal.ip |
Source Port |
principal.port |
source_port |
principal.port |
src_ip |
principal.ip |
srcip |
principal.ip,principal.asset.ip |
ssh_proto |
network.application_protocol |
summary |
security_result.summary |
syslog_host |
target.hostname,target.asset.hostname |
t_ip |
target.ip,target.asset.ip |
t_port |
target.port |
t_url |
target.url |
tags |
additional.fields |
principal_app |
principal.application |
target_domain |
target.administrative_domain |
target_host |
target.hostname,target.asset.hostname |
target_ip1 |
target.ip,target.asset.ip |
target_ip2 |
target.ip,target.asset.ip |
target_port |
target.port |
target_userid |
target.user.userid |
temp_host |
intermediary.hostname |
tgt_domain |
target.administrative_domain |
tgt_user |
target.user.userid |
thread_id |
principal.resource.attribute.labels |
tls_cipher |
network.tls.cipher |
type |
metadata.product_event_type |
upn_name |
intermediary.url |
upstream_ip |
target.ip,target.asset.ip |
upstream_port |
target.port |
URL |
target.url |
User |
security_result.summary |
user |
target.user.userid,principal.user.userid |
User ID |
target.user.userid |
user_id |
principal.user.userid |
UserAgent |
network.http.user_agent,network.http.parsed_user_agent |
username |
principal.user.userid |
usrName |
target.user.userid |
vc_event_obj_id |
target.asset.asset_id |
vc_event_severity |
security_result.severity,security_result.severity_details |
vc_username |
target.user.userid |
ver_proto |
network.tls.version |
version |
metadata.product_version |
@version |
principal.platform_version |
vpxd_some_id |
additional.fields |
LEEF_version |
additional.fields |
ICMPType |
additional.fields |
ICMPCode |
additional.fields |
IngressInterface |
additional.fields |
EgressInterface |
additional.fields |
WebApplication |
additional.fields |
DNSQuery |
additional.fields |
DNSRecordType |
additional.fields |
DNSResponseType |
additional.fields |
DNS_TTL |
additional.fields |
ApplicationProtocol |
additional.fields |
service.type |
additional.fields |
log.syslog.facility.code |
additional.fields |
log.syslog.facility.name |
additional.fields |
log.syslog.severity.code |
additional.fields |
log.syslog.priority |
additional.fields |
host.os.name |
additional.fields |
host.os.build |
additional.fields |
labels.plugin_id |
additional.fields |
opID |
additional.fields |
sub |
additional.fields |
api_invocations |
additional.fields |
vc_event_cat_0 |
additional.fields |
vc_event_cat_1 |
additional.fields |
vc_event_chain_id |
additional.fields |
vc_event_obj_name |
additional.fields |
vc_event_obj_type |
additional.fields |
p_log_id_repeat |
additional.fields |
sys_priority |
additional.fields |
facility |
additional.fields |
originator |
additional.fields |
originator_id |
additional.fields |
subsystem |
additional.fields |
request_timestamp |
additional.fields |
response_flags |
additional.fields |
duration_total_ms |
additional.fields |
duration_upstream_connect_ms |
additional.fields |
duration_response_tx_ms |
additional.fields |
local_port_2 |
additional.fields |
proc_id |
additional.fields |
eventid_label |
additional.fields |
Logger_Name |
additional.fields |
subcomponent |
additional.fields |
op_id |
additional.fields |
vcenter_uuid_1 |
additional.fields |
vcenter_uuid_2 |
additional.fields |
object_lookup_method |
additional.fields |
conn_id |
additional.fields |
performed_action |
additional.fields |
login_time |
additional.fields |
open_connections |
additional.fields |
total_connections |
additional.fields |
channel_id |
additional.fields |
line_number |
additional.fields |
vc_event_desc |
additional.fields |
uid |
additional.fields |
euid |
additional.fields |
ruser |
additional.fields |
tty |
additional.fields |
tenant |
additional.fields |
duration_ms |
additional.fields |
provider |
additional.fields |
provider_type |
additional.fields |
response_flag |
additional.fields |
http_path |
additional.fields |
unknown_metric_1 |
additional.fields |
unknown_metric_2 |
additional.fields |
sequence_id |
additional.fields |
syslog_facility_code |
additional.fields |
syslog_severity_code |
additional.fields |
syslog_severity |
additional.fields |
syslog_pri |
additional.fields |
syslog_facility |
additional.fields |
logstash.collect.timestamp |
additional.fields |
logstash.ingest.timestamp |
additional.fields |
logstash.process.timestamp |
additional.fields |
logstash.irm_site |
additional.fields |
logstash.irm_environment |
additional.fields |
logstash.irm_region |
additional.fields |
agent.id |
additional.fields |
agent.ephemeral_id |
additional.fields |
ecs.version |
additional.fields |
input.type |
additional.fields |
Riferimento per le differenze tra le mappature UDM
Il 15 settembre 2026, Google SecOps ha rilasciato una nuova versione del parser VMware vCenter, che include modifiche alla mappatura dei campi di log VMware vCenter ai campi UDM.
Differenza tra le mappature dei campi dei log
La tabella seguente elenca le differenze di mappatura per i campi di log-to-UDM di VMware vCenter esposti prima del 15 settembre 2026 e successivamente (elencati rispettivamente nelle colonne Mappatura precedente e Mappatura attuale):
| Campo log | Vecchia mappatura | Mappatura attuale | Motivo della modifica |
|---|---|---|---|
appname |
target.application |
principal.application |
Questo è considerato lo strumento che avvia l'azione da parte dell'utente, il che lo rende l'applicazione principale che genera l'evento, anziché la destinazione su cui viene eseguita l'azione. |
auth_user |
principal.user.userid |
target.user.userid |
Si tratta di un evento di accesso utente per il quale l'utente è oggetto di un'azione. |
logstash.process.host |
target.hostname |
additional.fields |
Questo campo viene aggiunto dalla pipeline Logstash. Indica il nome host del server in cui è in esecuzione il processo Logstash, che fa parte dell'infrastruttura di raccolta dei log. Questo host non è la sorgente dell'evento stesso, ma piuttosto un intermediario che elabora il log. |
username |
target.user.userid |
principal.user.userid |
Questo ID utente appartiene all'origine dell'evento e non alla destinazione. |
domain |
target.administrative_domain |
principal.administrative_domain |
Questo dominio appartiene all'origine dell'evento e non alla destinazione. |
resource.labels.project_id |
src.cloud.project.id |
src.resource_ancestors.product_object_id |
Campo precedente ritirato. |
target_app |
target.application |
principal.application |
Il log descrive in modo specifico un Single Sign-On interno. |
process |
additional.fields |
principal.application |
Più adatto. |
app |
target.application |
principal.application |
Il log descrive in modo specifico un Single Sign-On interno. |
@fields.privatecloud_id |
principal.cloud.project.id |
principal.resource_ancestors.product_object_id |
Campo precedente ritirato. |
@fields.privatecloud_name |
principal.cloud.project.name |
principal.resource_ancestors.name |
Campo precedente ritirato. |
@fields.facility |
principal.resource.type |
principal.resource.resource_subtype |
Campo precedente ritirato. |
Client |
target.labels |
target.user.attribute.labels |
Campo precedente ritirato. |
kv_msg1.ctladdr |
intermediary.labels |
intermediary.user.attribute.labels |
Campo precedente ritirato. |
kv_msg1.get_error |
intermediary.labels |
intermediary.user.attribute.labels |
Campo precedente ritirato. |
resource.type |
src.labels |
src.user.attribute.labels |
Campo precedente ritirato. |
admin |
principal.user.attribute.labels |
principal.resource.attribute.labels |
Campo precedente ritirato. |
role |
target.user.role_name |
target.user.attribute.roles |
Campo precedente ritirato. |
syslog_host |
Non mappata | target.hostname |
Mappatura dei campi appena aggiunta. |
log.source.address |
Non mappata | intermediary.ip,intermediary.port |
Mapping dei campi appena aggiunto. |
agent.type |
Non mappata | observer.application |
Mappatura dei campi appena aggiunta. |
agent.version |
Non mappata | intermediary.platform_version |
Mappatura dei campi appena aggiunta. |
pid |
Non mappata | target.process.pid |
Mappatura dei campi appena aggiunta. |
temp_host |
Non mappata | intermediary.hostname |
Mappatura dei campi appena aggiunta. |
port |
Non mappata | intermediary.port |
Mappatura dei campi appena aggiunta. |
inter_hostname |
Non mappata | intermediary.hostname |
Mappatura dei campi appena aggiunta. |
tgt_user |
Non mappata | target.user.userid |
Mappatura dei campi appena aggiunta. |
tgt_domain |
Non mappata | target.administrative_domain |
Mappatura dei campi appena aggiunta. |
alarm_target |
Non mappata | about.resource.name |
Mappatura dei campi appena aggiunta. |
prin_app |
Non mappata | principal.application |
Mappatura dei campi appena aggiunta. |
dest_ip |
Non mappata | target.ip |
Mappatura dei campi appena aggiunta. |
dest_port |
Non mappata | target.port |
Mappatura dei campi appena aggiunta. |
error_message |
Non mappata | security_result.summary |
Mappatura dei campi appena aggiunta. |
error_code |
Non mappata | security_result.detection_fields |
Mappatura dei campi appena aggiunta. |
function |
Non mappata | security_result.detection_fields |
Mappatura dei campi appena aggiunta. |
thread_id |
Non mappata | principal.resource.attribute.labels |
Mappatura dei campi appena aggiunta. |
obj_p |
Non mappata | additional.fields |
Mappatura dei campi appena aggiunta. |
obj_h |
Non mappata | additional.fields |
Mapping dei campi appena aggiunto. |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.