Logging e monitoraggio del bilanciatore del carico delle applicazioni interno

Questo documento fornisce le informazioni necessarie per comprendere le metriche di logging e monitoraggio per i bilanciatori del carico delle applicazioni interni. Le metriche di logging e monitoraggio per i bilanciatori del carico delle applicazioni interni regionali e per i bilanciatori del carico delle applicazioni interni tra regioni sono le stesse.

Logging

Puoi abilitare il logging in base al servizio di backend. Una singola mappa URL del bilanciatore del carico delle applicazioni interno può fare riferimento a più di un servizio di backend. Potresti dover abilitare la registrazione per più servizi di backend a seconda della configurazione.

Campionamento e raccolta dei log

Le richieste (e le risposte corrispondenti) gestite dalle istanze di macchine virtuali (VM) del backend del bilanciatore del carico vengono campionate. Queste richieste campionate vengono quindi elaborate per generare i log. Controlli la frazione delle richieste emesse come voci di log in base al parametro logConfig.sampleRate. Quando logConfig.sampleRate è 1.0 (100%), i log vengono generati per tutte le richieste e scritti in Cloud Logging.

Inoltre, anche quando il logging è disattivato per un servizio di backend, il bilanciatore del carico potrebbe produrre voci di log per le richieste non riuscite se non riesce ad associare queste richieste a un backend specifico.

Campi facoltativi

I record di log contengono campi obbligatori e facoltativi. La sezione Cosa viene registrato elenca i campi facoltativi e quelli obbligatori. Tutti i campi obbligatori sono sempre inclusi. Puoi personalizzare i campi facoltativi da conservare.

  • Se selezioni Includi tutti i campi facoltativi, tutti i campi facoltativi nel formato del record di log vengono inclusi nei log di flusso. Quando vengono aggiunti nuovi campi facoltativi al formato del record, i log di flusso includono automaticamente i nuovi campi.

  • Se selezioni Escludi tutti i campi facoltativi, tutti i campi facoltativi vengono omessi.

  • Se selezioni Personalizzato, puoi specificare i campi facoltativi che vuoi includere, ad esempio tls.protocol,tls.cipher.

Per istruzioni sulla personalizzazione dei campi facoltativi, consulta Abilitare la registrazione su un servizio di backend esistente.

Abilitazione del logging su un servizio di backend esistente

Per i bilanciatori del carico delle applicazioni interni regionali, segui questi passaggi:

Console

  1. Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazione backend.

  5. Fai clic su Modifica accanto al servizio di backend.

  6. Fai clic su Configurazioni avanzate (affinità sessione, timeout per svuotamento della connessione).

  7. Fai clic su Abilita il logging.

  8. Imposta una frazione per la frequenza di campionamento. Puoi impostare un numero compreso tra 0.0 e 1.0, dove 0.0 indica che nessuna richiesta viene registrata e 1.0 indica che il 100% delle richieste viene registrato. Il valore predefinito è 1.0.

  9. (Facoltativo) Per includere tutti i campi facoltativi nei log, nella sezione Campi facoltativi, fai clic su Includi tutti i campi facoltativi.

  10. Per completare la modifica del servizio di backend, fai clic su Aggiorna.

  11. Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.

gcloud

Per aggiornare il servizio di backend in modo da attivare la registrazione, utilizza il comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

dove

  • --enable-logging abilita il logging per il servizio di backend.
  • --logging-sample-rate ti consente di specificare un valore compreso tra 0.0 e 1.0, dove 0.0 indica che nessuna richiesta viene registrata e 1.0 indica che il 100% delle richieste viene registrato. Significativo solo con il parametro --enable-logging. L'abilitazione del logging, ma l'impostazione della frequenza di campionamento su 0.0 equivale alla disattivazione del logging. Il valore predefinito è 1.0.
  • --logging-optional consente di specificare i campi facoltativi che vuoi includere nei log:

    • INCLUDE_ALL_OPTIONAL per includere tutti i campi facoltativi.

    • EXCLUDE_ALL_OPTIONAL (impostazione predefinita) per escludere tutti i campi facoltativi.

    • CUSTOM per includere un elenco personalizzato di campi facoltativi che specifichi in OPTIONAL_FIELDS.

  • --logging-optional-fields consente di specificare un elenco separato da virgole di campi facoltativi da includere nei log.

    Ad esempio, tls.protocol,tls.cipher può essere impostato solo se LOGGING_OPTIONAL_MODE è impostato su CUSTOM. Se utilizzi metriche personalizzate e vuoi registrare gli elementi del report di caricamento ORCA, imposta LOGGING_OPTIONAL_MODE su CUSTOM e specifica gli elementi da registrare nel campo OPTIONAL_FIELDS. Ad esempio, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Per i bilanciatori del carico delle applicazioni interni tra regioni, segui questi passaggi:

Console

  1. Nella console Trusted Cloud , vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazione backend.

  5. Fai clic su Modifica accanto al servizio di backend.

  6. Fai clic su Configurazioni avanzate (affinità sessione, timeout per svuotamento della connessione).

  7. Fai clic su Abilita il logging.

  8. Imposta una frazione per la frequenza di campionamento. Puoi impostare un numero compreso tra 0.0 e 1.0, dove 0.0 indica che nessuna richiesta viene registrata e 1.0 indica che il 100% delle richieste viene registrato. Il valore predefinito è 1.0.

  9. (Facoltativo) Per includere tutti i campi facoltativi nei log, nella sezione Campi facoltativi, fai clic su Includi tutti i campi facoltativi.

  10. Per completare la modifica del servizio di backend, fai clic su Aggiorna.

  11. Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.

gcloud

Per aggiornare il servizio di backend in modo da attivare la registrazione, utilizza il comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --global \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

dove

  • --enable-logging abilita il logging per il servizio di backend.
  • --logging-sample-rate ti consente di specificare un valore compreso tra 0.0 e 1.0, dove 0.0 indica che nessuna richiesta viene registrata e 1.0 indica che il 100% delle richieste viene registrato. Significativo solo con il parametro --enable-logging. L'abilitazione del logging, ma l'impostazione della frequenza di campionamento su 0.0 equivale alla disattivazione del logging. Il valore predefinito è 1.0.
  • --logging-optional consente di specificare i campi facoltativi che vuoi includere nei log:

    • INCLUDE_ALL_OPTIONAL per includere tutti i campi facoltativi.

    • EXCLUDE_ALL_OPTIONAL (impostazione predefinita) per escludere tutti i campi facoltativi.

    • CUSTOM per includere un elenco personalizzato di campi facoltativi che specifichi in OPTIONAL_FIELDS.

  • --logging-optional-fields consente di specificare un elenco separato da virgole di campi facoltativi da includere nei log.

    Ad esempio, tls.protocol,tls.cipher può essere impostato solo se LOGGING_OPTIONAL_MODE è impostato su CUSTOM. Se utilizzi metriche personalizzate e vuoi registrare gli elementi del report di caricamento ORCA, imposta LOGGING_OPTIONAL_MODE su CUSTOM e specifica gli elementi da registrare nel campo OPTIONAL_FIELDS. Ad esempio, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Dopo aver abilitato la registrazione sul servizio di backend, ogni richiesta HTTP(S) viene registrata utilizzando Cloud Logging.

Disattivare o modificare il logging su un servizio di backend esistente

Console

  1. Nella Trusted Cloud console, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazione backend.

  5. Fai clic su Modifica accanto al servizio di backend.

  6. Per disattivare completamente la registrazione, nella sezione Registrazione, deseleziona la casella di controllo Abilita la registrazione.

  7. Se lasci abilitato il logging, puoi impostare una frazione diversa per la frequenza di campionamento. Puoi impostare un numero compreso tra 0.0 e 1.0, dove 0.0 indica che nessuna richiesta viene registrata e 1.0 indica che il 100% delle richieste viene registrato. Il valore predefinito è 1.0. Ad esempio, 0.2 significa che il 20% delle richieste campionate genera log.

  8. Per completare la modifica del servizio di backend, fai clic su Aggiorna.

  9. Per completare la modifica del bilanciatore del carico, fai clic su Aggiorna.

gcloud: modalità cross-region

Disattiva il logging su un servizio di backend con il comando gcloud compute backend-services update.

Disattivare completamente il logging

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --no-enable-logging

dove

  • --global indica che il servizio di backend è globale. Utilizza questo campo per i servizi di backend utilizzati con i bilanciatori del carico delle applicazioni interni tra regioni.
  • --no-enable-logging disabilita la registrazione per il servizio di backend.

Abilitare i campi facoltativi di logging su un servizio di backend esistente

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

dove

  • --logging-sample-rate ti consente di specificare un valore compreso tra 0.0 e 1.0, dove 0.0 indica che nessuna richiesta viene registrata e 1.0 indica che il 100% delle richieste viene registrato. Significativo solo con il parametro --enable-logging. L'attivazione del logging, ma l'impostazione della frequenza di campionamento su 0.0 equivale alla disattivazione del logging. Il valore predefinito è 1.0.
  • --logging-optional consente di specificare i campi facoltativi che vuoi includere nei log:

    • INCLUDE_ALL_OPTIONAL per includere tutti i campi facoltativi.

    • EXCLUDE_ALL_OPTIONAL (impostazione predefinita) per escludere tutti i campi facoltativi.

    • CUSTOM per includere un elenco personalizzato di campi facoltativi che specifichi in OPTIONAL_FIELDS.

  • --logging-optional-fields consente di specificare un elenco separato da virgole di campi facoltativi da includere nei log.

    Ad esempio, tls.protocol,tls.cipher può essere impostato solo se LOGGING_OPTIONAL_MODE è impostato su CUSTOM. Se utilizzi metriche personalizzate e vuoi registrare gli elementi del report di caricamento ORCA, imposta LOGGING_OPTIONAL_MODE su CUSTOM e specifica gli elementi da registrare nel campo OPTIONAL_FIELDS. Ad esempio, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Aggiornamento della modalità facoltativa di logging da CUSTOM ad altre modalità

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=

dove

  • --logging-optional consente di specificare i campi facoltativi che vuoi includere nei log:

    • INCLUDE_ALL_OPTIONAL per includere tutti i campi facoltativi.

    • EXCLUDE_ALL_OPTIONAL (impostazione predefinita) per escludere tutti i campi facoltativi.

  • --logging-optional-fields deve essere configurato in modo esplicito come mostrato per cancellare eventuali campi CUSTOM esistenti. L'API non consente di combinare una modalità non CUSTOM con i campi CUSTOM.

Modificare la frequenza di campionamento del logging

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --logging-sample-rate=VALUE

gcloud: modalità regionale

Disattiva il logging su un servizio di backend con il comando gcloud compute backend-services update.

Disattivare completamente il logging

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --no-enable-logging

dove

  • --region indica che il servizio di backend è regionale. Utilizza questo campo per i servizi di backend utilizzati con i bilanciatori del carico delle applicazioni interni regionali.
  • --no-enable-logging disabilita la registrazione per il servizio di backend.

Abilitare i campi facoltativi di logging su un servizio di backend esistente

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

dove

  • --logging-sample-rate ti consente di specificare un valore compreso tra 0.0 e 1.0, dove 0.0 indica che nessuna richiesta viene registrata e 1.0 indica che il 100% delle richieste viene registrato. Significativo solo con il parametro --enable-logging. L'attivazione del logging, ma l'impostazione della frequenza di campionamento su 0.0 equivale alla disattivazione del logging. Il valore predefinito è 1.0.
  • --logging-optional consente di specificare i campi facoltativi che vuoi includere nei log:

    • INCLUDE_ALL_OPTIONAL per includere tutti i campi facoltativi.

    • EXCLUDE_ALL_OPTIONAL (impostazione predefinita) per escludere tutti i campi facoltativi.

    • CUSTOM per includere un elenco personalizzato di campi facoltativi che specifichi in OPTIONAL_FIELDS.

  • --logging-optional-fields consente di specificare un elenco separato da virgole di campi facoltativi da includere nei log.

    Ad esempio, tls.protocol,tls.cipher può essere impostato solo se LOGGING_OPTIONAL_MODE è impostato su CUSTOM. Se utilizzi metriche personalizzate e vuoi registrare gli elementi del report di caricamento ORCA, imposta LOGGING_OPTIONAL_MODE su CUSTOM e specifica gli elementi da registrare nel campo OPTIONAL_FIELDS. Ad esempio, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Aggiornamento della modalità facoltativa di logging da CUSTOM ad altre modalità

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=

dove

  • --logging-optional consente di specificare i campi facoltativi che vuoi includere nei log:

    • INCLUDE_ALL_OPTIONAL per includere tutti i campi facoltativi.

    • EXCLUDE_ALL_OPTIONAL (impostazione predefinita) per escludere tutti i campi facoltativi.

  • --logging-optional-fields deve essere configurato in modo esplicito come mostrato per cancellare eventuali campi CUSTOM esistenti. L'API non consente di combinare una modalità non CUSTOM con i campi CUSTOM.

Modificare la frequenza di campionamento del logging

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --logging-sample-rate=VALUE

Come visualizzare i log

Per visualizzare i log, nella console Trusted Cloud , vai alla pagina Esplora log.

I log del bilanciatore del carico delle applicazioni interno vengono indicizzati prima per rete e poi per regione.

  • Per visualizzare i log di tutti i bilanciatori del carico delle applicazioni interni, seleziona Regola del bilanciatore del carico delle applicazioni interno nel primo menu a discesa.
  • Per visualizzare i log di una sola rete, seleziona Regola del bilanciatore del carico delle applicazioni interno, quindi seleziona il nome di una rete.
  • Per visualizzare i log di una sola regione della rete, seleziona Regola del bilanciatore del carico delle applicazioni interno > NETWORK > REGION.

I campi dei log di tipo booleano in genere vengono visualizzati solo se hanno un valore true. Se un campo booleano ha un valore false, viene omesso dal log.

La codifica UTF-8 è applicata in modo forzato per i campi di log. I caratteri non UTF-8 vengono sostituiti con punti interrogativi.

Puoi configurare l'esportazione delle metriche basate su log per i log delle risorse (resource.type="internal_http_lb_rule"). Le metriche create si basano sulla risorsa "Regola del bilanciatore del carico delle applicazioni interno", disponibile nelle dashboard di Cloud Monitoring:

Vai a Monitoring

Che cosa viene registrato

Le voci di log del bilanciatore del carico delle applicazioni interno contengono informazioni utili per monitorare ed eseguire il debug del traffico HTTP(S). I record di log contengono campi obbligatori, ovvero i campi predefiniti di ogni record di log, e campi facoltativi che aggiungono informazioni aggiuntive sul traffico HTTP(S). Possono essere omessi per risparmiare sui costi di archiviazione. Le voci di log contengono i seguenti tipi di informazioni:

  • Informazioni generali mostrate nella maggior parte dei log Trusted Cloud , come gravità, ID progetto, numero di progetto e timestamp, come descritto in LogEntry.
  • Campi log HttpRequest.

Alcuni campi di log sono in formato multi-campo, con più di un dato in un determinato campo. Ad esempio, il campo tls è nel formato TlsDetails, che contiene il protocollo TLS e la crittografia TLS in un unico campo. Questi campi multifield sono descritti nella tabella seguente relativa al formato del record.

Campo Tipo Tipo di campo: obbligatorio o facoltativo Descrizione
logName string Obbligatorio Il nome della risorsa del log a cui appartiene questa voce di log.
Nel modulo "projects/PROJECT_ID/logs/requests".
timestamp string Obbligatorio L'ora in cui è iniziata la richiesta.
severity LogSeverity format Obbligatorio La gravità della voce di log. Il valore predefinito è LogSeverity.DEFAULT.
httpRequest Oggetto HttpRequest Obbligatorio Un proto HttpRequest che descrive la richiesta HTTP(S) registrata.
trace string Obbligatorio Il nome della risorsa della traccia associata alla voce di log, se presente. Se contiene un nome di risorsa relativo, si presume che il nome sia relativo a https://tracing.googleapis.com. Esempio: projects/PROJECT_ID/traces/06796866738c859f2f19b7cfb3214824.

I bilanciatori del carico delle applicazioni interni non supportano questo campo.

spanId string Obbligatorio L'ID intervallo nella traccia associata alla voce di log. Per gli intervalli di traccia, questa stringa ha lo stesso formato utilizzato dall'API Trace v2: una codifica esadecimale di 16 caratteri di un array di 8 byte, ad esempio 000000000000004a.

I bilanciatori del carico delle applicazioni interni non supportano questo campo.

resource Oggetto MonitoredResource Obbligatorio

La risorsa monitorata che ha prodotto questa voce di log.

L'oggetto MonitoredResourceDescriptor descrive lo schema di un oggetto MonitoredResource utilizzando un nome di tipo e un insieme di etichette.

Ad esempio, i descrittori risorsa monitorata per i bilanciatori del carico delle applicazioni interni hanno un tipo di risorsa internal_http_lb_rule e utilizzano le etichette delle risorse per identificare la risorsa effettiva e i relativi attributi. Per un elenco delle etichette delle risorse, consulta Etichette delle risorse per resource.type="internal_http_lb_rule".

jsonPayload object Obbligatorio Il payload della voce di log espresso come oggetto JSON. L'oggetto JSON contiene i seguenti campi:
  • tls
  • proxyStatus
  • backendTargetProjectNumber
  • serviceDirectoryService
  • cloudFitExperiment
  • cloudFitFault
  • serviceExtensionInfo
  • mtls
  • authzPolicyInfo
  • backendNetworkName
  • orca_load_report
string Obbligatorio

Il campo proxyStatus contiene una stringa che specifica perché il bilanciatore del carico delle applicazioni interno ha restituito HttpRequest.status. Questo campo viene compilato solo quando il proxy restituisce un codice di errore.

Il campo non viene registrato se il valore è una stringa vuota. Ciò può accadere se il proxy o il backend non restituisce un errore o il codice di errore che non è 0, 4XX o 5XX.

Il campo proxyStatus è composto da due parti:

string Obbligatorio Il campo backendTargetProjectNumber contiene il numero di progetto che identifica il proprietario delservizio di backendo o del bucket di backend.
string Obbligatorio Il campo serviceDirectoryService contiene il nome del servizio Service Directory su cui è stato configurato l'errore Cloud FIT.
string Obbligatorio Il campo cloudFitExperiment contiene il nome dell'esperimento Cloud FIT.
string Obbligatorio Il campo cloudFitFault contiene il nome dell'errore inserito da un esperimento di inserimento di errori Cloud FIT in questo percorso di richiesta.
ServiceExtensionInfo Obbligatorio Il campo serviceExtensionInfo memorizza informazioni sugli stream gRPC dal bilanciatore del carico alle estensioni del servizio. Per ulteriori informazioni, consulta i dati registrati per le estensioni callout.
AuthzPolicyInfo Obbligatorio Il campo authzPolicyInfo memorizza le informazioni sul risultato del criterio di autorizzazione. Queste informazioni sono disponibili solo per i bilanciatori del carico delle applicazioni interni con policy di autorizzazione abilitata. Per ulteriori informazioni, consulta Che cosa viene registrato per i criteri di autorizzazione.
TlsInfo Facoltativo

Il campo tls contiene il campo TlsInfo che specifica i metadati TLS per la connessione tra il client e il bilanciatore del carico. Questo campo è disponibile solo se il client utilizza la crittografia TLS/SSL.

Utilizza il parametro --logging-optional-fields per specificare quali elementi devono essere registrati:

  • tls.protocol
  • tls.cipher

Non puoi impostare --logging-optional-fields su tls per specificare tutti gli elementi.

MtlsInfo Facoltativo Il campo mtls contiene il valore MtlsInfo che specifica i metadati mTLS per la connessione tra il client e il bilanciatore del carico delle applicazioni interno. Questo campo è disponibile solo se il bilanciatore del carico utilizza TLS (mTLS) reciproco frontend.
string Facoltativo Il campo backendNetworkName specifica la rete VPC del backend, se il backend utilizza un VPC diverso dalla regola di forwarding del bilanciatore del carico.
OrcaLoadReport Facoltativo

Il campo orca_load_report contiene alcuni o tutti gli elementi del report di caricamento ORCA restituito dal backend. Questo campo è presente solo se il backend restituisce un report sul carico ORCA e se hai configurato il bilanciatore del carico per registrare il report sul carico ORCA.

Utilizza il parametro --logging-optional-fields per specificare quale dei seguenti elementi del report di caricamento ORCA deve essere registrato:

  • orca_load_report.cpu_utilization
  • orca_load_report.mem_utilization
  • orca_load_report.request_cost
  • orca_load_report.utilization
  • orca_load_report.rps_fractional
  • orca_load_report.eps
  • orca_load_report.named_metrics
  • orca_load_report.application_utilization

Puoi anche impostare --logging-optional-fields su orca_load_report per specificare che tutti gli elementi devono essere registrati.

Formato del campo TlsInfo

Campo Formato del campo Tipo di campo: obbligatorio o facoltativo Descrizione
protocollo string Facoltativo Protocollo TLS utilizzato dai client per stabilire una connessione con il bilanciatore del carico. I valori possibili possono essere TLS 1.0, 1.1, 1.2, 1.3 o QUIC. Questo valore è impostato su NULL se il client non utilizza la crittografia TLS/SSL.
cipher string Facoltativo Crittografia TLS utilizzata dai client per stabilire una connessione con il bilanciatore del carico. Questo valore è impostato su NULL se il client non utilizza HTTP(S) o la crittografia TLS/SSL.

Formato del campo MtlsInfo

Campo Formato del campo Tipo di campo: obbligatorio o facoltativo Descrizione
clientCertPresent bool Facoltativo

true se il client ha fornito un certificato durante l'handshake TLS; altrimenti, false.

clientCertChainVerified bool Facoltativo

true se la catena di certificati client viene verificata in base a un TrustStore configurato; altrimenti, false.

clientCertError string Facoltativo

Stringhe predefinite che rappresentano le condizioni di errore. Per maggiori informazioni sulle stringhe di errore, vedi Modalità di convalida client.

clientCertSha256Fingerprint string Facoltativo

Impronta SHA-256 con codifica Base64 del certificato client.

clientCertSerialNumber string Facoltativo

Il numero di serie del certificato client. Se il numero di serie è più lungo di 50 byte, la stringa client_cert_serial_number_exceeded_size_limit viene aggiunta a client_cert_error e il numero di serie viene impostato su una stringa vuota.

clientCertValidStartTime string Facoltativo

Timestamp (nel formato di stringa per la data RFC 3339) prima del quale il certificato client non è valido. Ad esempio, 2022-07-01T18:05:09+00:00.

clientCertValidEndTime string Facoltativo

Timestamp (nel formato di stringa per la data RFC 3339) dopo il quale il certificato client non è valido. Ad esempio, 2022-07-01T18:05:09+00:00.

clientCertSpiffeId string Facoltativo

L'ID SPIFFE dal campo Nome alternativo del soggetto (SAN). Se il valore non è valido o supera i 2048 byte, l'ID SPIFFE viene impostato su una stringa vuota.

Se l'ID SPIFFE è più lungo di 2048 byte, la stringa client_cert_spiffe_id_exceeded_size_limit viene aggiunta a client_cert_error.

clientCertUriSans string Facoltativo

Elenco separato da virgole e codificato in base64 delle estensioni SAN di tipo URI. Le estensioni SAN vengono estratte dal certificato client. L'ID SPIFFE non è incluso nel campo client_cert_uri_sans.

Se il campo client_cert_uri_sans è più lungo di 512 byte, la stringa client_cert_uri_sans_exceeded_size_limit viene aggiunta a client_cert_error e l'elenco separato da virgole viene impostato su una stringa vuota.

clientCertDnsnameSans string Facoltativo

Elenco codificato in Base64 e separato da virgole delle estensioni SAN di tipo DNSName. Le estensioni SAN vengono estratte dal certificato client.

Se il campo client_cert_dnsname_sans è più lungo di 512 byte, la stringa client_cert_dnsname_sans_exceeded_size_limit viene aggiunta a client_cert_error e l'elenco separato da virgole viene impostato su una stringa vuota.

clientCertIssuerDn string Facoltativo

Campo Emittente completo con codifica Base64 del certificato.

Se il campo client_cert_issuer_dn è più lungo di 512 byte, la stringa client_cert_issuer_dn_exceeded_size_limit viene aggiunta a client_cert_error e client_cert_issuer_dn viene impostato su una stringa vuota.

clientCertSubjectDn string Facoltativo

Campo Oggetto completo con codifica Base64 del certificato.

Se il campo client_cert_subject_dn è più lungo di 512 byte, la stringa client_cert_subject_dn_exceeded_size_limit viene aggiunta a client_cert_error e client_cert_subject_dn viene impostato su una stringa vuota.

clientCertLeaf string Facoltativo

Il certificato foglia client per una connessione mTLS stabilita in cui il certificato ha superato la convalida. La codifica del certificato è conforme alla RFC 9440: il certificato DER binario è codificato utilizzando Base64 (senza interruzioni di riga, spazi o altri caratteri al di fuori dell'alfabeto Base64) e delimitato da due punti su entrambi i lati.

Se client_cert_leaf supera i 16 KB non codificati, la stringa client_cert_validated_leaf_exceeded_size_limit viene aggiunta a client_cert_error e client_cert_leaf viene impostato su una stringa vuota.

clientCertChain string Facoltativo

L'elenco separato da virgole dei certificati, nell'ordine TLS standard, della catena di certificati client per una connessione mTLS stabilita in cui il certificato client ha superato la convalida, escluso il certificato foglia. La codifica del certificato è conforme a RFC 9440.

Se la dimensione combinata di client_cert_leaf e client_cert_chain prima della codifica Base64 supera i 16 KB, la stringa client_cert_validated_chain_exceeded_size_limit viene aggiunta a client_cert_error e client_cert_chain viene impostata su una stringa vuota.

Campo di errore proxyStatus

Il campo proxyStatus contiene una stringa che specifica il motivo per cui il bilanciatore del carico ha restituito un errore. Il campo proxyStatus è composto da due parti: proxyStatus error e proxyStatus details. Questa sezione descrive le stringhe supportate nel campo proxyStatus error.

Il campo proxyStatus error è applicabile ai seguenti bilanciatori del carico:

  • Bilanciatore del carico delle applicazioni esterno regionale
  • Bilanciatore del carico delle applicazioni interno tra regioni
  • Bilanciatore del carico delle applicazioni interno regionale
proxyStatus error Descrizione Codici di risposta di accompagnamento comuni
destination_unavailable Il bilanciatore del carico considera il backend non disponibile. Ad esempio, i recenti tentativi di comunicazione con il backend non sono andati a buon fine oppure un controllo di integrità potrebbe aver generato un errore. 500, 503
connection_timeout Il tentativo del bilanciatore del carico di aprire una connessione al backend è scaduto. 504
connection_terminated

La connessione del bilanciatore del carico al backend è terminata prima della ricezione di una risposta completa.

Questo proxyStatus error viene restituito in uno dei seguenti scenari:

  • La connessione del bilanciatore del carico al backend è terminata prima che venga ricevuta una risposta completa.
  • La connessione TLS non è riuscita durante l'handshake SSL e il client non ha stabilito una connessione con il bilanciatore del carico.

0, 502, 503
connection_refused La connessione del bilanciatore del carico al backend viene rifiutata. 502, 503
connection_limit_reached

Il bilanciatore del carico è configurato per limitare il numero di connessioni al backend e questo limite è stato superato.

Questo proxyStatus error viene restituito in uno dei seguenti scenari:

  • Se un backend è in modalità di manutenzione, il traffico non può essere indirizzato al backend.
  • Se la richiesta è limitata localmente.
  • Envoy gestisce le condizioni di errore, ad esempio l'esaurimento della memoria.
502, 503
destination_not_found Il bilanciatore del carico non riesce a determinare il backend appropriato da utilizzare per questa richiesta. Ad esempio, il backend potrebbe non essere configurato. 500, 404
dns_error Il bilanciatore del carico ha rilevato un errore DNS durante il tentativo di trovare un indirizzo IP per il nome host di backend. 502, 503
proxy_configuration_error Il bilanciatore del carico ha rilevato un errore di configurazione interno. 500
proxy_internal_error Il bilanciatore del carico ha riscontrato un errore interno. L'errore può essere dovuto a un riavvio pianificato del proxy che gestisce le connessioni. 0, 500, 502
proxy_internal_response Il bilanciatore del carico ha generato la risposta senza tentare di connettersi al backend. Qualsiasi codice di stato a seconda del tipo di problema. Ad esempio, il codice di stato 410 indica che il backend non è disponibile a causa di mancato pagamento.
http_response_timeout Il bilanciatore del carico ha raggiunto un limite di timeout del servizio di backend configurato mentre attendeva la risposta completa dal backend. 504, 408
http_request_error Il bilanciatore del carico ha rilevato un errore HTTP 4xx, che indica problemi con la richiesta del client. 400, 403, 405, 406, 408, 411, 413, 414, 415, 416, 417 o 429
http_protocol_error Il bilanciatore del carico ha riscontrato un errore del protocollo HTTP durante la comunicazione con il backend. 502
tls_protocol_error Il bilanciatore del carico ha riscontrato un errore TLS durante l'handshake TLS. 0
tls_certificate_error Il bilanciatore del carico ha rilevato un errore al momento della verifica del certificato presentato dal server o dal client quando mTLS è abilitato. 0
tls_alert_received Il bilanciatore del carico ha rilevato un avviso TLS irreversibile durante l'handshake TLS. 0

Campo dei dettagli proxyStatus

Il campo proxyStatus contiene una stringa che specifica il motivo per cui il bilanciatore del carico ha restituito un errore. Il campo proxyStatus è composto da due parti: proxyStatus error e proxyStatus details. Il campo proxyStatus details è facoltativo e viene visualizzato solo quando sono disponibili informazioni aggiuntive. Questa sezione descrive le stringhe supportate nel campo proxyStatus details.

Il campo proxyStatus details è applicabile ai seguenti bilanciatori del carico:

  • Bilanciatore del carico delle applicazioni esterno regionale
  • Bilanciatore del carico delle applicazioni interno regionale
  • Bilanciatore del carico delle applicazioni interno tra regioni
Dettagli di proxyStatus Descrizione Codici di stato della risposta di accompagnamento comuni
client_disconnected_before_any_response La connessione al client è stata interrotta prima che il bilanciatore del carico inviasse una risposta. 0
backend_connection_closed Il backend ha chiuso in modo imprevisto la connessione al bilanciatore del carico. Ciò può accadere se il bilanciatore del carico invia traffico a un'altra entità, ad esempio un'applicazione di terze parti con un timeout TCP più breve rispetto al timeout di 10 minuti (600 secondi) del bilanciatore del carico. 502
failed_to_connect_to_backend Il bilanciatore del carico non è riuscito a connettersi al backend. Questo errore include timeout durante la fase di connessione. 503
failed_to_pick_backend Il bilanciatore del carico non è riuscito a selezionare un backend integro per gestire la richiesta. 502
response_sent_by_backend La richiesta HTTP è stata inviata correttamente al backend e la risposta è stata restituita dal backend. Il codice di stato HTTP viene impostato dal software in esecuzione sul backend.
client_timed_out

La connessione tra il bilanciatore del carico e il client ha superato il timeout di inattività.

Per ulteriori informazioni sul bilanciatore del carico delle applicazioni esterno regionale, consulta Timeout keepalive HTTP client. Per saperne di più sul bilanciatore del carico delle applicazioni interno, consulta Timeout keepalive HTTP client.
0, 408
backend_timeout

Il backend ha raggiunto il timeout durante la generazione di una risposta.

502
http_protocol_error_from_backend_response La risposta del backend contiene un errore del protocollo HTTP. 501, 502
http_protocol_error_from_request La richiesta del client contiene un errore del protocollo HTTP. 400, 503
http_version_not_supported La versione del protocollo HTTP non è supportata. Sono supportati solo HTTP 1.1 e 2.0. 400
handled_by_identity_aware_proxy Questa risposta è stata generata da Identity-Aware Proxy (IAP) durante la verifica dell'identità del client prima di consentire l'accesso. 200, 302, 400, 401, 403, 500, 502
invalid_request_headers

Le intestazioni delle richieste HTTP ricevute da un client contengono almeno un carattere non consentito in base a una specifica HTTP applicabile.

Ad esempio, i nomi dei campi di intestazione che includono virgolette doppie (") o qualsiasi carattere al di fuori dell'intervallo ASCII standard (ovvero qualsiasi byte >= 0x80) non sono validi.

Per ulteriori informazioni, vedi:

400, 404
ip_detection_failed Impossibile rilevare l'indirizzo IP originale. Qualsiasi codice di stato possibile a seconda della natura dell'errore. Il valore deve essere compreso tra 400 e 599.
request_body_too_large Il corpo della richiesta HTTP ha superato la lunghezza massima supportata dal bilanciatore del carico. 413, 507
request_header_timeout L'intestazione della richiesta è scaduta perché il bilanciatore del carico non ha ricevuto la richiesta completa entro 5 secondi. 408, 504
denied_by_security_policy Il bilanciatore del carico ha negato questa richiesta a causa di un criterio di sicurezza Google Cloud Armor. 403
throttled_by_security_policy La richiesta è stata bloccata da una regola di limitazione di Cloud Armor. 429
client_cert_chain_invalid_eku Il certificato client o il relativo emittente non dispone dell'utilizzo esteso della chiave che include clientAuth. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_chain_max_name_constraints_exceeded Un certificato intermedio fornito per la convalida aveva più di 10 vincoli relativi ai nomi. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_invalid_rsa_key_size Un certificato intermedio o foglia client aveva una dimensione della chiave RSA non valida. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_not_provided Il client non ha fornito il certificato richiesto durante l'handshake. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_pki_too_large La PKI da utilizzare per la convalida ha più di tre certificati intermedi che condividono lo stesso Subject e Subject Public Key Info. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_unsupported_elliptic_curve_key Un certificato client o intermedio utilizza una curva ellittica non supportata. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_unsupported_key_algorithm Un certificato client o intermedio utilizza un algoritmo non RSA o non ECDSA. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_validation_failed La convalida del certificato client non riesce con TrustConfig. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_validation_not_performed Hai configurato TLS reciproca senza impostare un TrustConfig. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_validation_search_limit_exceeded È stato raggiunto il limite di profondità o di iterazione durante il tentativo di convalidare la catena di certificati. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
client_cert_validation_timed_out Il limite di tempo è stato superato (200 ms) durante la convalida della catena di certificati. Per saperne di più, vedi Errori registrati per le connessioni chiuse. 0
tls_version_not_supported La versione del protocollo TLS è riconosciuta, ma non supportata. L'errore comporta la chiusura della connessione TLS. 0
unknown_psk_identity I server inviano questo errore quando è richiesta la creazione della chiave PSK, ma il client non fornisce un'identità PSK accettabile. L'errore comporta una connessione TLS chiusa. 0
no_application_protocol Inviato dai server quando un'estensione"application_layer_protocol_negotiation" di un client pubblicizza solo protocolli non supportati dal server. Vedi Estensione di negoziazione del protocollo a livello di applicazione TLS. L'errore comporta la chiusura della connessione TLS. 0
no_certificate Nessun certificato trovato. L'errore comporta la chiusura della connessione TLS. 0
bad_certificate Un certificato non è valido o contiene firme che non è stato possibile verificare. L'errore comporta la chiusura della connessione TLS. 0
unsupported_certificate Un certificato è di un tipo non supportato. L'errore comporta una connessione TLS chiusa. 0
certificate_revoked Un certificato è stato revocato dal firmatario. L'errore comporta una connessione TLS chiusa. 0
certificate_expired Un certificato è scaduto o non è valido. L'errore comporta una connessione TLS chiusa. 0
certificate_unknown Durante l'elaborazione del certificato sono emersi alcuni problemi non specificati che lo hanno reso inaccettabile. L'errore comporta la chiusura della connessione TLS. 0
unknown_ca È stata ricevuta una catena di certificati valida o parziale, ma il certificato non può essere accettato perché non è possibile individuare il certificato CA o associarlo a un trust anchor noto. L'errore comporta la chiusura della connessione TLS. 0
unexpected_message È stato ricevuto un messaggio inappropriato, ad esempio un messaggio di contatto errato o dati dell'applicazione prematuri. L'errore comporta la chiusura della connessione TLS. 0
bad_record_mac Viene ricevuto un record che non può essere protetto. L'errore comporta la chiusura della connessione TLS. 0
record_overflow È stato ricevuto un record TLSCiphertext con una lunghezza superiore a 214+256 byte oppure un record è stato decriptato in un record TLSPlaintext con più di 214 byte (o un altro limite negoziato). L'errore comporta la chiusura della connessione TLS. 0
handshake_failure Impossibile negoziare un insieme accettabile di parametri di sicurezza date le opzioni disponibili. L'errore comporta la chiusura della connessione TLS. 0
illegal_parameter Un campo dell'handshake non era corretto o non era coerente con gli altri campi. L'errore comporta la chiusura della connessione TLS. 0
access_denied È stato ricevuto un certificato o una PSK validi, ma quando è stato applicato ilcontrollo dell'accessoo dell'accesso, il client non ha proceduto con la negoziazione. L'errore comporta la chiusura della connessione TLS. 0
decode_error Impossibile decodificare un messaggio perché alcuni campi non rientrano nell'intervallo specificato o la lunghezza del messaggio non è corretta. L'errore comporta una connessione TLS chiusa. 0
decrypt_error Un'operazione crittografica di handshake (non a livello di record) non è riuscita, ad esempio non è stato possibile verificare correttamente una firma o convalidare un messaggio finito o un binder PSK. L'errore comporta la chiusura della connessione TLS. 0
insufficient_security Una negoziazione non è riuscita perché il server richiede parametri più sicuri di quelli supportati dal client. L'errore comporta la chiusura della connessione TLS. 0
inappropriate_fallback Inviato da un server in risposta a un tentativo di nuovo tentativo di connessione non valido da un client. L'errore comporta la chiusura della connessione TLS. 0
user_cancelled L'utente ha annullato l'handshake per un motivo non correlato a un errore del protocollo. L'errore comporta la chiusura della connessione TLS. 0
missing_extension Inviato da endpoint che ricevono un messaggio di handshake che non contiene un'estensione obbligatoria per l'invio per la versione TLS offerta o altri parametri negoziati. L'errore comporta la chiusura della connessione TLS. 0
unsupported_extension Inviato da endpoint che ricevono un messaggio di handshake contenente un'estensione nota per essere vietata per l'inclusione nel messaggio di handshake specificato o che include estensioni in ServerHello o Certificate che non sono state offerte per prime nel corrispondente ClientHello o CertificateRequest. L'errore comporta la chiusura della connessione TLS. 0
unrecognized_name Inviato dai server quando non esiste un server identificabile dal nome fornito dal client tramite l'estensione "server_name". Consulta le definizioni delle estensioni TLS. 0
bad_certificate_status_response Inviato dai client quando il server fornisce una risposta OCSP non valida o inaccettabile tramite l'estensione "status_request". Consulta le definizioni delle estensioni TLS. L'errore comporta la chiusura della connessione TLS. 0
load_balancer_configured_resource_limits_reached Il bilanciatore del carico ha raggiunto i limiti delle risorse configurati, ad esempio il numero massimo di connessioni. 0

Voci di log relative a connessioni TLS non riuscite

Quando la connessione TLS tra il client e il bilanciatore del carico non riesce prima che venga selezionato un backend, le voci di log registrano gli errori. Puoi configurare i servizi di backend con diverse frequenze di campionamento dei log. Quando una connessione TLS non va a buon fine, la frequenza di campionamento dei log delle connessioni TLS non riuscite è la più alta per qualsiasi servizio di backend. Ad esempio, se hai configurato due servizi di backend con frequenza di campionamento della registrazione pari a 0.3 e 0.5, la frequenza di campionamento dei log della connessione TLS non riuscita è 0.5.

Puoi identificare le connessioni TLS non riuscite controllando questi dettagli della voce di log:

  • Il tipo di proxyStatus error è tls_alert_received, tls_certificate_error, tls_protocol_error, o connection_terminated.
  • Non sono presenti informazioni di backend.

L'esempio seguente mostra una voce di log TLS non riuscita con il campo proxyStatus error:

   json_payload:    {
   @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
   proxyStatus: "error="tls_alert_received"; details="server_to_client: handshake_failure""
   log_name: "projects/529254013417/logs/mockservice.googleapis.com%20name"
   }
   http_request {
    latency {
      nanos: 12412000
    }
    protocol: "HTTP/1.0"
    remote_ip: "127.0.0.2"
   }
  resource {
    type: "mock_internal_http_lb_rule"
    labels {
      backend_name: ""
      backend_scope: ""
      backend_scope_type: "UNKNOWN"
      backend_target_name: ""
      backend_target_type: "UNKNOWN"
      backend_type: "UNKNOWN"
      forwarding_rule_name: "l7-ilb-https-forwarding-rule-dev"
      matched_url_path_rule: "UNKNOWN"
      network_name: "lb-network"
      region: "REGION"
      target_proxy_name: "l7-ilb-https-proxy-dev"
      url_map_name: ""
    }
  }
  timestamp: "2023-08-15T16:49:30.850785Z"
  

Etichette risorse

La tabella seguente elenca le etichette risorse per resource.type="internal_http_lb_rule".

Campo Tipo Descrizione
network_name string Il nome della rete VPC del bilanciatore del carico.
project_id string L'identificatore del progetto Trusted Cloud associato a questa risorsa.
region string La regione in cui è definito il bilanciatore del carico.
url_map_name string Il nome dell'oggetto mappa URL configurato per selezionare un servizio di backend.
forwarding_rule_name string Il nome dell'oggetto regola di forwarding.
target_proxy_name string Il nome dell'oggetto proxy di destinazione a cui fa riferimento la regola di forwarding.
matched_url_path_rule string La regola di percorso o la regola di route della mappa URL configurata come parte della chiave della mappa URL. Può essere UNMATCHED o UNKNOWN come fallback.
  • UNMATCHED si riferisce a una richiesta che non corrisponde ad alcuna regola del percorso URL, pertanto utilizza la regola del percorso predefinita.
  • UNKNOWN indica un errore interno.
backend_target_name string Il nome del backend selezionato per gestire la richiesta, in base alla regola del percorso della mappa URL o della regola di route che corrisponde alla richiesta.
backend_target_type string Il tipo di target backend (BACKEND_SERVICE / UNKNOWN).
backend_name string Il nome del gruppo di istanza di backend o del NEG.
backend_type string

Il tipo di backend, un gruppo di istanze o un NEG oppure sconosciuto.

Cloud Logging registra le richieste quando backend_type è UNKNOWN anche se la registrazione è disabilitata. Ad esempio, se un client chiude la connessione al bilanciatore del carico prima che il bilanciatore del carico possa scegliere un backend, il backend_type è impostato su UNKNOWN e la richiesta viene registrata. Questi log forniscono informazioni utili per il debug delle richieste client chiuse perché il bilanciatore del carico non è riuscito a selezionare un backend.

backend_scope string L'ambito del backend, ovvero il nome di una zona o di una regione. Potrebbe essere UNKNOWN ogni volta che backend_name è sconosciuto.
backend_scope_type string L'ambito del backend (REGION/ZONE). Potrebbe essere UNKNOWN ogni volta che backend_name è sconosciuto.
backend_target_cross_project_id Stringa L'ID progetto del servizio o del bucket di destinazione di backend. Questo campo è disponibile solo se la risorsa di destinazione del backend viene creata in un progetto diverso da quello in cui viene creata la risorsa url_map.

Log delle richieste di policy di autorizzazione

L'oggetto authz_info nel payload JSON della voce di log del bilanciatore del carico contiene informazioni sulle policy di autorizzazione. Puoi configurare metriche basate sui log per il traffico consentito o negato da questi criteri. Controlla ulteriori dettagli del log delle norme di autorizzazione.

Campo Tipo Descrizione
authz_info.policies[] oggetto L'elenco dei criteri che corrispondono alla richiesta.
authz_info.policies[].name string Il nome del criterio di autorizzazione che corrisponde alla richiesta.

Il nome è vuoto per i seguenti motivi:

  • Nessun criterio ALLOW corrisponde alla richiesta e la richiesta viene rifiutata.
  • Nessun criterio DENY corrisponde alla richiesta e la richiesta è consentita.
authz_info.policies[].result enum Il risultato può essere ALLOWED o DENIED.
authz_info.policies[].details string I dettagli includono quanto segue:
  • allowed_as_no_deny_policies_matched_request
  • denied_as_no_allow_policies_matched_request
  • denied_by_authz_extension
  • denied_by_cloud_iap
authz_info.overall_result enum Il risultato può essere ALLOWED o DENIED.

Visualizzare i log per la convalida del certificato client mTLS

Per visualizzare gli errori registrati per le connessioni chiuse durante la convalida del certificato client TLS reciproco, completa i seguenti passaggi.

Console

  1. Nella console Trusted Cloud , vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic sul pulsante di attivazione/disattivazione Mostra query per attivare l'editor query.

  3. Incolla quanto segue nel campo Query. Sostituisci FORWARDING_RULE_NAME con il nome della regola di forwarding.

    jsonPayload.statusDetails=~"client_cert"
    jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
    resource.labels.forwarding_rule_name=FORWARDING_RULE_NAME
    
  4. Fai clic su Esegui query.

Monitoraggio

I bilanciatori del carico delle applicazioni interni esportano i dati di monitoraggio in Monitoring.

Le metriche di monitoraggio possono essere utilizzate per i seguenti scopi:

  • Valutare la configurazione, l'utilizzo e le prestazioni di un bilanciatore del carico
  • Risoluzione dei problemi
  • Miglioramento dell'utilizzo delle risorse e dell'esperienza utente

Visualizzazione delle metriche di Cloud Monitoring

Console

Per visualizzare le metriche per una risorsa monitorata con Esplora metriche, segui questi passaggi:

  1. Nella console Trusted Cloud , vai alla pagina  Esplora metriche:

    Vai a Esplora metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti della console Trusted Cloud , seleziona il tuo progetto Trusted Cloud . Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  3. Nell'elemento Metrica, espandi il menu Seleziona una metrica, digita Internal Application Load Balancer Rule nella barra dei filtri e poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:
    1. Nel menu Risorse attive, seleziona Regola di bilanciamento del carico delle applicazioni interno.
    2. Per selezionare una metrica, utilizza i menu Categorie di metriche attive e Metriche attive.
    3. Fai clic su Applica.
  4. Per rimuovere le serie temporali dalla visualizzazione, utilizza l'elemento Filtro.

  5. Per combinare le serie temporali, utilizza i menu dell'elemento Aggregazione. Ad esempio, per visualizzare l'utilizzo della CPU per le VM, in base alla zona, imposta il primo menu su Media e il secondo menu su zona.

    Tutte le serie temporali vengono visualizzate quando il primo menu dell'elemento Aggregazione è impostato su Nessuna aggregazione. Le impostazioni predefinite per l'elemento Aggregazione sono determinate dal tipo di metrica che hai selezionato.

  6. Per la quota e altre metriche che riportano un campione al giorno, procedi nel seguente modo:
    1. Nel riquadro Visualizzazione, imposta Tipo di widget su Grafico a barre in pila.
    2. Imposta il periodo di tempo su almeno una settimana.

Frequenza e conservazione dei report sulle metriche

Le metriche per i bilanciatori del carico vengono esportate in Monitoring in batch con granularità di 1 minuto. I dati di monitoraggio vengono conservati per sei (6) settimane. La dashboard fornisce l'analisi dei dati a intervalli predefiniti di 1 ora, 6 ore, 1 giorno, 1 settimana e 6 settimane. Puoi richiedere manualmente l'analisi in qualsiasi intervallo da 6 settimane a 1 minuto.

Monitoraggio delle metriche

Le seguenti metriche per i bilanciatori del carico delle applicazioni interni sono riportate in Monitoring:

Metrica FQDN Descrizione
Conteggio delle richieste loadbalancing.googleapis.com/https/internal/request_count Il numero di richieste gestite dal bilanciatore del carico delle applicazioni interno.
Conteggio byte richiesta loadbalancing.googleapis.com/https/internal/request_bytes Il numero di byte inviati come richieste dai client al bilanciatore del carico delle applicazioni interno.
Conteggio byte risposta loadbalancing.googleapis.com/https/internal/response_bytes Il numero di byte inviati come risposte dal bilanciatore del carico HTTP(S) interno al client.
Latenze totali loadbalancing.googleapis.com/https/internal/total_latencies

Una distribuzione della latenza totale. La latenza totale è il tempo in millisecondi tra il primo byte della richiesta ricevuto dal proxy e l'ultimo byte della risposta inviata dal proxy. Include: il tempo impiegato dal proxy per elaborare la richiesta, il tempo impiegato per inviare la richiesta dal proxy al backend, il tempo impiegato dal backend per elaborare la richiesta, il tempo impiegato per inviare la risposta al proxy e il tempo impiegato dal proxy per elaborare la risposta e inviarla al client.

Non include l'RTT tra il client e il proxy. Inoltre, le pause tra le richieste sulla stessa connessione che utilizzano Connection: keep-alive non influiscono sulla misurazione. Questa misurazione viene in genere ridotta al 95° percentile nelle visualizzazioni di Cloud Monitoring.

Latenze di backend loadbalancing.googleapis.com/https/internal/backend_latencies

Una distribuzione della latenza di backend. La latenza del backend è il tempo in millisecondi tra l'ultimo byte della richiesta inviata al backend e l'ultimo byte della risposta ricevuta dal proxy. Include il tempo impiegato dal backend per elaborare la richiesta e il tempo impiegato per inviare la risposta al proxy.

Filtrare le dimensioni per le metriche

Le metriche vengono aggregate per ogni bilanciatore del carico delle applicazioni interno. Puoi filtrare le metriche aggregate in base alle seguenti dimensioni.

Proprietà Descrizione
BACKEND_SCOPE La Trusted Cloud zona o regione del gruppo di backend che ha gestito la richiesta del client oppure una stringa speciale per i casi in cui il gruppo di backend non è stato assegnato. Esempi: us-central1-a, europe-west1-b, asia-east1, UNKNOWN.
PROXY_REGION Regione del bilanciatore del carico delle applicazioni interno, del client e del backend. Esempi: us-central1, europe-west1 o asia-east1.
BACKEND Il nome del gruppo di istanza di backend o del NEG che ha gestito la richiesta del client.
BACKEND_TARGET Il nome del servizio di backend che ha gestito la richiesta del client.
MATCHED_URL_RULE La regola di percorso o la regola di route della mappa URL che corrispondeva al prefisso della richiesta HTTP(S) del client (fino a 50 caratteri).

La metrica Response code class fraction è supportata per l'intero bilanciatore del carico. Non è supportata un'ulteriore granularità.

Passaggi successivi