En esta página se explica cómo configurar y usar Cloud Logging y Cloud Monitoring para balanceadores de carga de red proxy.
Recursos de Monitoring
En la siguiente tabla se especifican los nombres de los recursos de los balanceadores de carga.
Balanceador de carga de red con proxy externo regional Balanceador de carga de red con proxy interno regional Balanceador de carga de red con proxy interno interregional Balanceador de carga de red con proxy externo global |
Balanceador de carga de red de proxy clásico | |
---|---|---|
Tipo de recurso monitorizado de Logging | "Regla de balanceador de carga de red de proxy"l4_proxy_rule |
"Global External Proxy Network Load Balancer Rule" (Regla de balanceador de carga de red de proxy externo global)tcp_ssl_proxy_rule |
Monitorizar el tipo de recurso monitorizado | "Regla de balanceador de carga de red de proxy"l4_proxy_rule |
"Global External Proxy Network Load Balancer Rule" (Regla de balanceador de carga de red de proxy externo global)tcp_ssl_proxy_rule |
Registro de balanceadores de carga de red de proxy
Los registros proporcionan información útil para solucionar problemas y monitorizar balanceadores de carga. Los registros se agregan para cada conexión y te permiten saber cómo se enruta cada conexión a los back-ends de servicio.
No se aplican cargos adicionales por usar los registros. Sin embargo, en función de cómo importes los registros, se aplicarán los precios estándar de Cloud Logging, BigQuery o Pub/Sub. Además, habilitar los registros no afecta al rendimiento del balanceador de carga.
Muestreo y recogida de registros
Se toman muestras de las conexiones que salen y entran en las instancias de máquina virtual (VM) de backend del balanceador de carga. Estas conexiones muestreadas se procesan para generar registros. Puedes controlar la fracción de las conexiones que se emiten como entradas de registro mediante el parámetro logConfig.sampleRate. Si logConfig.sampleRate
es 1.0
(100%), significa que se generan registros de todas las conexiones y se escriben en Cloud Logging.
Habilitar el registro en un servicio de backend nuevo
gcloud
Usa el comando
gcloud compute backend-services create
.
En el caso de los balanceadores de carga de red con proxy externos regionales y los balanceadores de carga de red con proxy internos regionales:
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE
En el caso de los balanceadores de carga de red con proxy externo globales, los balanceadores de carga de red con proxy clásicos o los balanceadores de carga de red con proxy internos entre regiones:
gcloud compute backend-services create BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE
Haz los cambios siguientes:
BACKEND_SERVICE
: el nombre del servicio de backend.REGION
: la región del servicio backend que se va a crear.SAMPLE_RATE
: este campo solo se puede especificar si el registro está habilitado para este servicio backend.
El valor del campo debe ser
0.0 to 1.0
, donde0.0
significa que no se registran registros y1.0
significa que se registran todas las conexiones. Habilitar el registro, pero definir la frecuencia de muestreo en0.0
equivale a inhabilitar el registro. El valor predeterminado es1.0
.
API
Haz una solicitud POST
al
método regionBackendServices.insert
:
En el caso de los balanceadores de carga de red con proxy internos regionales:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "INTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
En el caso de los balanceadores de carga de red de proxy externo regionales:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
En el caso de los balanceadores de carga de red con proxy externo globales:
Haz una solicitud POST
al
método backendServices.insert
:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
En el caso de los balanceadores de carga de red de proxy clásicos:
Haz una solicitud POST
al
método backendServices.insert
:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
En el caso de los balanceadores de carga de red con proxy internos entre regiones:
Haz una solicitud POST
al
método backendServices.insert
:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "INTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Haz los cambios siguientes:
BACKEND_SERVICE
: el nombre del servicio de backend.SAMPLE_RATE
: este campo solo se puede especificar si el registro está habilitado para este servicio backend.
El valor del campo debe ser
0.0 to 1.0
, donde0.0
significa que no se registran registros y1.0
significa que se registran todas las conexiones. Habilitar el registro, pero definir la frecuencia de muestreo en0.0
equivale a inhabilitar el registro. El valor predeterminado es1.0
.
Habilitar el registro en un servicio de backend
gcloud
Usa el comando
gcloud
compute backend-services update
.
En el caso de los balanceadores de carga de red con proxy externos regionales y los balanceadores de carga de red con proxy internos regionales:
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE
En el caso de los balanceadores de carga de red con proxy externo globales, los balanceadores de carga de red con proxy clásicos o los balanceadores de carga de red con proxy internos entre regiones, haz lo siguiente:
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE
Haz los cambios siguientes:
BACKEND_SERVICE
: el nombre del servicio de backend.REGION
: la región del servicio backend que se va a crear.SAMPLE_RATE
: este campo solo se puede especificar si el registro está habilitado para este servicio backend.
El valor del campo debe ser
0.0 to 1.0
, donde0.0
significa que no se registran registros y1.0
significa que se registran todas las conexiones. Habilitar el registro, pero definir la frecuencia de muestreo en0.0
equivale a inhabilitar el registro. El valor predeterminado es1.0
.
API
Haz una solicitud PATCH
al método regionBackendServices/patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
En el caso de los balanceadores de carga de red con proxy internos regionales:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "INTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
En el caso de los balanceadores de carga de red de proxy externo regionales:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
En el caso de los balanceadores de carga de red con proxy externo globales:
Haz una solicitud PATCH
al método backendServices/patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE { "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
En el caso de los balanceadores de carga de red de proxy clásicos:
Haz una solicitud PATCH
al método backendServices/patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE { "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
En el caso de los balanceadores de carga de red con proxy internos entre regiones:
Haz una solicitud PATCH
al método backendServices/patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE { "name": "BACKEND_SERVICE", "loadBalancingScheme": "INTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Haz los cambios siguientes:
PROJECT_ID
: el nombre de tu proyecto.BACKEND_SERVICE
: el nombre del servicio de backend.SAMPLE_RATE
: este campo solo se puede especificar si el registro está habilitado para este servicio de backend.
El valor del campo debe ser
0.0 to 1.0
, donde0.0
significa que no se registran registros y1.0
significa que se registran todas las conexiones. Habilitar el registro, pero definir la frecuencia de muestreo en0.0
equivale a inhabilitar el registro. El valor predeterminado es1.0
.
Inhabilitar el registro en un servicio backend
gcloud
Usa el comando gcloud compute backend-services update
.
En el caso de los balanceadores de carga de red con proxy externos regionales y los balanceadores de carga de red con proxy internos regionales:
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
En el caso de los balanceadores de carga de red con proxy externo globales, los balanceadores de carga de red con proxy clásicos o los balanceadores de carga de red con proxy internos entre regiones, haz lo siguiente:
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --no-enable-logging
Haz los cambios siguientes:
BACKEND_SERVICE
: el nombre del servicio de backend.REGION
: la región del servicio de backend.
API
En el caso de los balanceadores de carga de red con proxy externos regionales y los balanceadores de carga de red con proxy internos regionales:
Haz una solicitud PATCH
al método regionBackendServices/patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE { "logConfig": { "enable": false } }
En el caso de los balanceadores de carga de red con proxy externo globales, los balanceadores de carga de red con proxy clásicos o los balanceadores de carga de red con proxy internos entre regiones:
Haz una solicitud PATCH
al método backendServices/patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE { "logConfig": { "enable": false } }
Haz los cambios siguientes:
PROJECT_ID
: el nombre de tu proyecto.REGION
: la región del servicio de backend.BACKEND_SERVICE
: el nombre del servicio de backend.
Ver registros
Cuando los registros se ingieren en Cloud Logging y no se excluyen mediante un sumidero del enrutador de registros, puedes leerlos con la API de Cloud Logging y la CLI de Google Cloud.
Para ver todos los registros, sigue estos pasos.
Consola
En la Google Cloud consola, ve a la página Explorador de registros.
Selecciona el tipo de recurso Proxy Network Load Balancer Rule (Regla de balanceador de carga de red proxy).
Selecciona el nombre de registro loadbalancing.googleapis.com/connections.
Consulta de consola
En la Google Cloud consola, ve a la página Explorador de registros.
Haz clic en el interruptor Mostrar consulta.
Pega lo siguiente en el campo de consulta.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
Haz clic en Realizar una consulta.
Haz los cambios siguientes:
LOG_RESOURCE_TYPE
: el tipo de recurso monitorizado de registro, que puede serl4_proxy_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: el nombre de tu proyecto.
Ver los registros de un servicio backend específico
Para ver los registros de un servicio backend específico, sigue estos pasos:
Consulta de consola
En la Google Cloud consola, ve a la página Explorador de registros.
Haz clic en el interruptor Mostrar consulta.
Pega lo siguiente en el campo de consulta.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections" resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
Haz clic en Realizar una consulta.
Haz los cambios siguientes:
LOG_RESOURCE_TYPE
: el tipo de recurso monitorizado de registro, que puede serl4_proxy_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: el nombre de tu proyecto.BACKEND_SERVICE_NAME
: el nombre del servicio backend.
Ver los registros de un grupo de instancias de backend
Para ver los registros de un grupo de instancias de backend específico, sigue estos pasos.
Consulta de consola
En la Google Cloud consola, ve a la página Explorador de registros.
Haz clic en el interruptor Mostrar consulta.
Pega lo siguiente en el campo de consulta.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections" resource.labels.backend_group_name="BACKEND_GROUP_NAME"
Haz clic en Realizar una consulta.
Haz los cambios siguientes:
LOG_RESOURCE_TYPE
: el tipo de recurso monitorizado de registro, que puede serl4_proxy_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: el nombre de tu proyecto.BACKEND_GROUP_NAME
: el nombre del grupo de instancias.
Qué se registra
Las entradas de registro contienen información útil para monitorizar y depurar tu tráfico. Los registros de registro contienen campos obligatorios, que son los campos predeterminados de todos los registros de registro.
Campo | Formato de campo | Tipo de campo: obligatorio u opcional | Descripción |
---|---|---|---|
severity timestamp receiveTimestamp insertID logName |
LogEntry | Obligatorio | Los campos generales, tal como se describen en una entrada de registro. |
resource | MonitoredResource | Obligatorio | El MonitoredResource es el tipo de recurso asociado a una entrada de registro. El MonitoredResourceDescriptor
describe el esquema de un objeto |
jsonPayload | object (formato Struct) | Obligatorio | La carga útil de la entrada de registro, que se expresa como un objeto JSON. El objeto JSON contiene los siguientes campos:
|
Campos de registro
Los registros de registro contienen campos obligatorios, que son los campos predeterminados de cada registro de registro.
Algunos campos de registro contienen más de un dato en un campo determinado. Estos campos de registro tienen un formato de varios campos. Por ejemplo, el campo connection
tiene el formato IpConnection
, que contiene la dirección IP y el puerto de origen y de destino, además del protocolo, en un solo campo. Estos campos de registro de varios campos se describen en la siguiente tabla de formato de registro.
En la siguiente tabla se enumeran todos los campos de registro obligatorios del recurso l4_proxy_rule.
Campo | Formato de campo | Descripción |
---|---|---|
conexión | IpConnection | Tupla de 5 elementos que describe esta conexión. |
startTime | cadena | Marca de tiempo (formato de cadena de fecha RFC 3339) en la que el balanceador de carga aceptó la conexión del cliente. |
endTime | cadena | Marca de tiempo (formato de cadena de fecha RFC 3339) en la que el cliente o el backend finalizaron la conexión. |
bytesSent | int64 | Número de bytes enviados del servidor al cliente. |
bytesReceived | int64 | Número de bytes que el servidor ha recibido del cliente. |
Formato de campo IpConnection
Campo | Tipo | Descripción |
---|---|---|
clientIp | cadena | Dirección IP del cliente |
clientPort | int32 | Puerto del cliente. Se establece solo para conexiones TCP y UDP. |
serverIp | cadena | Dirección IP del servidor (IP de la regla de reenvío) |
serverPort | int32 | Puerto del servidor. Se establece solo para conexiones TCP y UDP. |
protocol | int32 | Número de protocolo de la IANA |
Campo de error proxyStatus
El campo proxyStatus
contiene una cadena que especifica por qué el balanceador de carga ha devuelto un error. El campo proxyStatus
se compone de dos partes: proxyStatus error
y proxyStatus details
.
En esta sección se describen las cadenas que se admiten en el campo proxyStatus error
.
El campo proxyStatus error se aplica a los siguientes balanceadores de carga:
- Balanceador de carga de red con proxy externo global
- Balanceador de carga de red con proxy externo regional
- Balanceador de carga de red con proxy interno interregional
- Balanceador de carga de red con proxy interno regional
Error de proxyStatus | Descripción | Códigos de respuesta habituales |
---|---|---|
destination_unavailable
|
El balanceador de carga considera que el backend no está disponible. Por ejemplo, si se han producido errores en los intentos recientes de comunicarse con el backend o si una comprobación de estado ha dado como resultado un error. | 500 , 503
|
connection_timeout
|
El balanceador de carga ha agotado el tiempo de espera al intentar abrir una conexión con el backend. | 504
|
connection_terminated
|
La conexión del balanceador de carga con el backend ha finalizado antes de que se recibiera una respuesta completa. Este
|
0 , 502 , 503
|
connection_refused
|
Se rechaza la conexión del balanceador de carga al backend. | 502 , 503
|
connection_limit_reached
|
El balanceador de carga está configurado para limitar el número de conexiones que tiene con el backend y se ha superado ese límite. Este
|
502 , 503
|
destination_not_found
|
El balanceador de carga no puede determinar el backend adecuado para esta solicitud. Por ejemplo, es posible que el backend no esté configurado. | 500 , 404
|
dns_error
|
El balanceador de carga ha detectado un error de DNS al intentar encontrar una dirección IP para el nombre de host del backend. | 502 , 503
|
proxy_configuration_error
|
El balanceador de carga ha detectado un error de configuración interno. | 500
|
proxy_internal_error
|
El balanceador de carga ha detectado un error interno. El error puede deberse a un reinicio programado del proxy que gestiona las conexiones. | 0 , 500 , 502
|
proxy_internal_response
|
El balanceador de carga ha generado la respuesta sin intentar conectarse al backend. | Cualquier código de estado en función del tipo de problema. Por ejemplo, el código de estado 410 significa que el backend no está disponible debido a un impago.
|
tls_protocol_error
|
El balanceador de carga ha detectado un error de TLS durante la negociación de TLS. | 0
|
tls_certificate_error
|
El balanceador de carga ha detectado un error al verificar el certificado presentado por el servidor. | 0
|
tls_alert_received
|
El balanceador de carga ha detectado una alerta TLS fatal durante el handshake TLS. | 0
|
Campo de detalles de proxyStatus
El campo proxyStatus
contiene una cadena que especifica por qué el balanceador de carga ha devuelto un error. El campo proxyStatus
se compone de dos partes: proxyStatus error
y proxyStatus details
.
El campo proxyStatus details
es opcional y solo se muestra cuando hay información adicional disponible.
En esta sección se describen las cadenas que se admiten en el campo proxyStatus details
.
El campo detalles de proxyStatus se aplica a los siguientes balanceadores de carga:
- Balanceador de carga de red con proxy externo global
- Balanceador de carga de red con proxy externo regional
- Balanceador de carga de red con proxy interno regional
- Balanceador de carga de red con proxy interno interregional
Detalles de proxyStatus | Descripción | Códigos de estado de respuesta habituales |
---|---|---|
client_disconnected_before_any_response
|
La conexión con el cliente se ha interrumpido antes de que el balanceador de carga enviara ninguna respuesta. | 0 |
backend_connection_closed
|
El backend ha cerrado inesperadamente su conexión con el balanceador de carga. Esto puede ocurrir si el balanceador de carga envía tráfico a otra entidad, como una aplicación de terceros que tiene un tiempo de espera de TCP inferior al tiempo de espera de 10 minutos (600 segundos) del balanceador de carga. | 502
|
failed_to_connect_to_backend
|
El balanceador de carga no ha podido conectarse al backend. Este error incluye tiempos de espera durante la fase de conexión. | 503
|
failed_to_pick_backend
|
El balanceador de carga no ha podido elegir un backend en buen estado para gestionar la solicitud. | 502
|
handled_by_identity_aware_proxy
|
Esta respuesta la ha generado Identity-Aware Proxy (IAP) durante la verificación de la identidad del cliente antes de permitir el acceso. | 200 , 302 , 400 , 401 , 403 , 500 , 502
|
request_overall_timeout
|
Se ha superado el tiempo de espera total de la solicitud. Para obtener más información, consulta Errores registrados de conexiones cerradas. | 408 , 503 , 504
|
tls_version_not_supported
|
Se reconoce la versión del protocolo TLS, pero no se admite. El error provoca que se cierre la conexión TLS. | 0
|
unknown_psk_identity
|
Los servidores envían este error cuando se requiere el establecimiento de una clave PSK, pero el cliente no proporciona una identidad PSK aceptable. El error provoca que se cierre la conexión TLS. | 0
|
no_application_protocol
|
Enviado por los servidores cuando una extensión "application_layer_protocol_negotiation" de un cliente anuncia solo protocolos que el servidor no admite. Consulta la extensión de negociación de protocolo de capa de aplicación de TLS. El error provoca que se cierre la conexión TLS. | 0
|
no_certificate
|
No se ha encontrado ningún certificado. El error provoca que se cierre la conexión TLS. | 0
|
bad_certificate
|
Un certificado no es válido o contiene firmas que no se han podido verificar. El error provoca que se cierre la conexión TLS. | 0
|
unsupported_certificate
|
Un certificado es de un tipo no admitido. El error provoca que se cierre la conexión TLS. | 0
|
certificate_revoked
|
El firmante ha revocado un certificado. El error provoca que se cierre la conexión TLS. | 0
|
certificate_expired
|
Un certificado ha caducado o no es válido. El error provoca que se cierre la conexión TLS. | 0
|
certificate_unknown
|
Se han detectado algunos problemas sin especificar al procesar el certificado, por lo que no se puede aceptar. El error provoca que se cierre la conexión TLS. | 0
|
unknown_ca
|
Se ha recibido una cadena de certificados válida o una cadena parcial, pero no se puede aceptar el certificado porque no se encuentra el certificado de CA o no coincide con una raíz de confianza conocida. El error provoca que se cierre la conexión TLS. | 0
|
unexpected_message
|
Se ha recibido un mensaje inapropiado, como un mensaje de handshake incorrecto o datos de aplicación prematuros. El error provoca que se cierre la conexión TLS. | 0
|
bad_record_mac
|
Se recibe un registro que no se puede desproteger. El error provoca que se cierre la conexión TLS. | 0
|
record_overflow
|
Se ha recibido un registro TLSCiphertext con una longitud superior a 214+256 bytes, o bien se ha descifrado un registro TLSPlaintext con más de 214 bytes (u otro límite negociado). El error provoca que se cierre la conexión TLS.
|
0
|
handshake_failure
|
No se ha podido negociar un conjunto aceptable de parámetros de seguridad con las opciones disponibles. El error provoca que se cierre la conexión TLS. | 0
|
illegal_parameter
|
Un campo del handshake era incorrecto o no coincidía con otros campos. El error provoca que se cierre la conexión TLS. | 0
|
access_denied
|
Se ha recibido un certificado o una PSK válidos, pero cuando se ha aplicado el control de acceso, el cliente no ha continuado con la negociación. El error provoca que se cierre la conexión TLS. | 0
|
decode_error
|
No se ha podido decodificar un mensaje porque algunos campos están fuera del intervalo especificado o la longitud del mensaje es incorrecta. El error provoca que se cierre la conexión TLS. | 0
|
decrypt_error
|
Ha fallado una operación criptográfica de handshake (no de capa de registro), como no poder verificar correctamente una firma o validar un mensaje finalizado o un enlace PSK. El error provoca que se cierre la conexión TLS. | 0
|
insufficient_security
|
Se ha producido un error en una negociación porque el servidor requiere parámetros más seguros que los que admite el cliente. El error provoca que se cierre la conexión TLS. | 0
|
inappropriate_fallback
|
Enviada por un servidor en respuesta a un intento de reintento de conexión no válido de un cliente. El error provoca que se cierre la conexión TLS. | 0
|
user_cancelled
|
El usuario ha cancelado el handshake por algún motivo ajeno a un fallo del protocolo. El error provoca que se cierre la conexión TLS. | 0
|
missing_extension
|
Enviado por los endpoints que reciben un mensaje de handshake que no contiene una extensión obligatoria para enviar la versión de TLS ofrecida u otros parámetros negociados. El error provoca que se cierre la conexión TLS. | 0
|
unsupported_extension
|
Enviado por los endpoints que reciben cualquier mensaje de handshake que contenga una extensión que se sabe que está prohibida para incluirla en el mensaje de handshake en cuestión, o que incluya cualquier extensión en ServerHello o Certificate que no se haya ofrecido primero en el ClientHello o CertificateRequest correspondiente.
El error provoca que se cierre la conexión TLS.
|
0
|
unrecognized_name
|
Enviado por los servidores cuando no hay ningún servidor que se pueda identificar por el nombre proporcionado por el cliente a través de la extensión "server_name". Consulta las definiciones de extensiones TLS. | 0
|
bad_certificate_status_response
|
Enviada por los clientes cuando el servidor proporciona una respuesta OCSP no válida o inaceptable a través de la extensión "status_request". Consulta las definiciones de extensiones TLS. El error provoca que se cierre la conexión TLS. | 0
|
load_balancer_configured_resource_limits_reached
|
El balanceador de carga ha alcanzado los límites de recursos configurados, como el número máximo de conexiones. | 0
|
Entradas de registro de conexiones TLS fallidas
Cuando falla la conexión TLS entre el cliente y el balanceador de carga antes de que se seleccione ningún backend, las entradas de registro registran los errores. Puedes configurar los servicios backend con diferentes frecuencias de muestreo de registros. Cuando falla una conexión TLS, la frecuencia de muestreo de los registros de conexiones TLS fallidas es la frecuencia de muestreo más alta de cualquier servicio backend. Por ejemplo, si has configurado dos servicios de backend con una frecuencia de muestreo de registros de 0.3
y 0.5
, la frecuencia de muestreo de registros de conexión TLS fallida es 0.5
.
Para identificar las conexiones TLS fallidas, comprueba los detalles de estas entradas de registro:
- El tipo de error proxyStatus es
tls_alert_received
,tls_certificate_error
,tls_protocol_error
, oconnection_terminated
. - No hay información de backend.
En el siguiente ejemplo se muestra una entrada de registro de TLS fallida con el 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"
Etiquetas de recurso
En la siguiente tabla se enumeran las etiquetas de recursos del tipo de recurso l4_proxy_rule
.
Campo | Tipo | Descripción |
---|---|---|
network_name | cadena | Nombre de la red VPC del balanceador de carga. |
project_id | cadena | Identificador del proyecto asociado a este recurso. Google Cloud |
region [región] | cadena | La región en la que se define el balanceador de carga. |
target_proxy_name | cadena | Nombre del objeto proxy de destino al que hace referencia la regla de reenvío. |
forwarding_rule_name | cadena | Nombre del objeto de regla de reenvío. |
loadbalancing_scheme_name | cadena | Atributo de la regla de reenvío y del servicio de backend de un balanceador de carga que indica si el balanceador de carga se puede usar para el tráfico interno o externo. |
backend_target_name | cadena | Nombre del backend seleccionado para gestionar la solicitud. |
backend_target_type | cadena | El tipo de destino de backend (BACKEND_SERVICE / UNKNOWN) . |
backend_name | cadena | Nombre del grupo de instancias de backend o del grupo de puntos finales de red (NEG). |
backend_type | cadena | El tipo de backend (grupo de instancias, NEG o desconocido). Cloud Logging registra las solicitudes cuando el valor de backend_type es |
backend_scope | cadena | El ámbito del backend, que puede ser el nombre de una zona o de una región. Puede ser UNKNOWN siempre que backend_name sea desconocido. |
backend_scope_type | cadena | El alcance del backend (REGION/ZONE ).
Puede ser UNKNOWN cuando backend_name sea
desconocido. |
Supervisión
Los balanceadores de carga de red de proxy exportan datos de monitorización a Cloud Monitoring.
Las métricas de monitorización se pueden usar para lo siguiente:
- Evalúa la configuración, el uso y el rendimiento de un balanceador de carga.
- Solucionar problemas.
- Mejorar la utilización de los recursos y la experiencia de usuario.
Además de los paneles predefinidos de Monitoring, puedes crear paneles personalizados, configurar alertas y consultar métricas mediante la API de Cloud Monitoring.
Ver paneles de control de monitorización
En la Google Cloud consola, ve a la página Monitorización.
Si Recursos aparece en el panel de navegación, selecciona Recursos y, a continuación, Balanceadores de carga de Google Cloud. De lo contrario, selecciona Paneles de control y, a continuación, el panel de control llamado Balanceadores de carga de Google Cloud.
Haz clic en el nombre de tu balanceador de carga.
En el panel de la izquierda, puede ver varios detalles de este balanceador de carga. En el panel de la derecha, puedes ver gráficos de series temporales. Para ver desgloses específicos, haga clic en Desgloses.
Frecuencia de los informes de métricas y retención
Las métricas de los balanceadores de carga se exportan a Monitoring en lotes con una granularidad de un minuto. Los datos de monitorización se conservan durante seis (6) semanas. Las métricas se basan en el tráfico muestreado (la tasa de muestreo es dinámica y no se puede ajustar).
El panel de control ofrece análisis de datos en intervalos predeterminados de 1H (una hora), 6H (seis horas), 1D (un día), 1W (una semana) y 6W (seis semanas). Puedes solicitar manualmente un análisis en cualquier intervalo de entre seis semanas y un minuto.
Métricas de los balanceadores de carga de red de proxy clásicos
Las siguientes métricas de los balanceadores de carga de red de proxy clásicos se registran en Monitoring.
Métrica | Nombre | Descripción |
---|---|---|
Tráfico entrante | tcp_ssl_proxy/ingress_bytes_count |
Número de bytes enviados desde endpoints externos a backends configurados a través de Google Front End (GFE), en bytes por segundo. |
Tráfico saliente | tcp_ssl_proxy/egress_bytes_count |
Número de bytes enviados desde los backends configurados a los endpoints externos a través de GFE (en bytes por segundo). |
Conexiones abiertas | tcp_ssl_proxy/open_connections |
Número de conexiones abiertas en el momento de la muestra. Las muestras se toman con un minuto de diferencia. |
Nuevas conexiones por segundo | tcp_ssl_proxy/new_connections |
Número de conexiones que se han creado (el cliente se ha conectado correctamente al backend). La granularidad del recuento es por minuto, pero los gráficos se ajustan para mostrar los valores por segundo. Para obtener más información, consulta la documentación de Monitoring. |
Conexiones cerradas por segundo | tcp_ssl_proxy/closed_connections |
Número de conexiones que se han cerrado. La granularidad del recuento es por minuto, pero los gráficos se ajustan para mostrar los valores por segundo. Para obtener más información, consulta la documentación de Monitoring. |
RTT de frontend | tcp_ssl_proxy/frontend_tcp_rtt |
Distribución del tiempo de ida y vuelta (RTT) suavizado medido para cada conexión entre el cliente y el GFE (medido por la pila TCP del GFE cada vez que los bytes de la capa de aplicación pasan del GFE al cliente). El RTT suavizado es un algoritmo que gestiona las variaciones y anomalías que pueden producirse en las mediciones de RTT. |
Métricas de otros balanceadores de carga
Las siguientes métricas de los balanceadores de carga de red con proxy internos regionales, los balanceadores de carga de red con proxy externos regionales, los balanceadores de carga de red con proxy internos entre regiones y los balanceadores de carga de red con proxy externos globales se registran en Monitoring.
Métrica | Nombre | Descripción |
---|---|---|
Tráfico entrante | l4_proxy/ingress_bytes_count |
Número de bytes enviados desde el cliente a la VM de backend mediante el proxy. Se muestrea cada 60 segundos. Después del muestreo, los datos no podrán verse durante un máximo de 210 segundos. |
Tráfico saliente | l4_proxy/egress_bytes_count |
Número de bytes enviados desde la VM de backend al cliente mediante el proxy. Se muestrea cada 60 segundos. Después del muestreo, los datos no podrán verse durante un máximo de 210 segundos. |
Conexiones cerradas por segundo | l4_proxy/tcp/closed_connections_count |
Número de conexiones que se han terminado mediante un mensaje TCP RST o TCP FIN. Se muestrea cada 60 segundos. Después del muestreo, los datos no podrán verse durante un máximo de 210 segundos. |
Dimensiones de filtro de métricas
Las métricas se agregan para cada balanceador de carga. Las métricas se pueden desglosar aún más por las siguientes dimensiones.
Propiedad | Descripción |
---|---|
ÁMBITO DE BACK-END | El ámbito (región o zona) del grupo de instancias que ha servido la conexión. |
ZONA DE BACK-END | Si el grupo de instancias era un grupo de instancias zonales, la zona del grupo de instancias que ha servido la conexión. |
REGIÓN DE BACK-END | Si el grupo de instancias era un grupo de instancias regional, la región del grupo de instancias que ha servido la conexión. |
PROXY CONTINENT | El continente del GFE que ha terminado la conexión TCP/SSL del usuario. Por ejemplo, America ,
Europe o Asia .
|
INSTANCE GROUP | El nombre del grupo de instancias que ha recibido la conexión del usuario. |
REGLA DE REENVÍO | Nombre de la regla de reenvío que se usa para conectarse a GFE. |
CLIENT COUNTRY | Nombre del país del usuario. |
Siguientes pasos
- Para saber cómo funcionan las políticas de SSL, consulta la información general sobre las políticas de SSL.
- Para saber cómo funcionan los balanceadores de carga de red de proxy externo, consulta la descripción general de los balanceadores de carga de red de proxy externo.
- Para saber cómo funcionan los balanceadores de carga de red de proxy interno, consulta la descripción general de los balanceadores de carga de red de proxy interno.