En esta página, se muestra cómo configurar y usar Cloud Logging y Cloud Monitoring para los balanceadores de cargas de red del proxy.
Supervisar recursos
En la tabla siguiente, se especifican los nombres de recursos para los balanceadores de cargas.
Balanceador de cargas de red del proxy externo regional Balanceador de cargas de red de proxy interno regional Balanceador de cargas de red del proxy interno entre regiones Balanceador de cargas de red del proxy externo global |
Balanceador de cargas de red del proxy clásico | |
---|---|---|
Tipo de recurso supervisado de Logging | “Regla del balanceador de cargas de red de proxy”l4_proxy_rule |
“Regla del balanceador de cargas de red de proxy externo global”tcp_ssl_proxy_rule |
Tipo de recurso supervisado | “Regla del balanceador de cargas de red de proxy”l4_proxy_rule |
“Regla del balanceador de cargas de red de proxy externo global”tcp_ssl_proxy_rule |
Registros de los balanceadores de cargas de red de proxy
Los registros proporcionan información útil para solucionar problemas y supervisar balanceadores de cargas. Los registros se agregan para cada conexión y te brindan estadísticas sobre cómo se enruta cada conexión a los backends activos.
No se aplican cargos adicionales por usar registros. Sin embargo, según cómo importes registros, se aplican los precios estándar para Cloud Logging, BigQuery o Pub/Sub. Además, habilitar los registros no afecta el rendimiento del balanceador de cargas.
Muestreo y recopilación de registros
Se realizan muestreos de las conexiones que salen de las instancias de máquina virtual (VM) de backend del balanceador de cargas. Estas conexiones de muestra se procesan para generar registros. Puedes controlar la fracción de las entradas de flujo que se emiten como entradas de registro según el parámetro logConfig.sampleRate. Cuando logConfig.sampleRate
es 1.0
(100%), significa que se generan registros para todas las conexiones y se escriben en Cloud Logging.
Habilita el registro en un servicio de backend nuevo
gcloud
Usa el comando gcloud compute backend-services create
:
Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE
Para balanceadores de cargas de red del proxy externos globales, balanceadores de cargas de red del proxy clásicos o balanceadores de cargas de red del proxy internos entre regiones:
gcloud compute backend-services create BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE
Reemplaza lo siguiente:
BACKEND_SERVICE
: el nombre del servicio de backend.REGION
: la región del servicio de backend que se creará.SAMPLE_RATE
: este campo solo se puede especificar si el registro está habilitado para este servicio de backend.
El valor del campo debe ser de
0.0 to 1.0
, en el que0.0
significa que no se registran registros y1.0
significa que se registran todas las conexiones. Si se habilita el registro, pero se configura la tasa de muestreo en0.0
, se inhabilita ese registro. El valor predeterminado es1.0
.
API
Realiza una solicitud POST
al método regionBackendServices.insert
.
Para balanceadores de cargas de red del proxy internos regionales:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "INTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Para balanceadores de cargas de red del proxy externos regionales:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Para balanceadores de cargas de red del proxy externo global:
Realiza una solicitud POST
al método backendServices.insert
.
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Para los balanceadores de cargas de red del proxy externos clásicos:
Realiza una solicitud POST
al método backendServices.insert
.
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Para balanceadores de cargas de red del proxy interno entre regiones:
Realiza una solicitud POST
al método backendServices.insert
.
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "INTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Reemplaza lo siguiente:
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 de
0.0 to 1.0
, en el que0.0
significa que no se registran registros y1.0
significa que se registran todas las conexiones. Si se habilita el registro, pero se configura la tasa de muestreo en0.0
, se inhabilita ese registro. El valor predeterminado es1.0
.
Habilita el registro en un servicio de backend existente
gcloud
Usa el comando gcloud
compute backend-services update
.
Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE
Para balanceadores de cargas de red del proxy externos globales, balanceadores de cargas de red del proxy clásicos o balanceadores de cargas de red del proxy internos entre regiones:
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE
Reemplaza lo siguiente:
BACKEND_SERVICE
: el nombre del servicio de backend.REGION
: la región del servicio de backend que se creará.SAMPLE_RATE
: este campo solo se puede especificar si el registro está habilitado para este servicio de backend.
El valor del campo debe ser de
0.0 to 1.0
, en el que0.0
significa que no se registran registros y1.0
significa que se registran todas las conexiones. Si se habilita el registro, pero se configura la tasa de muestreo en0.0
, se inhabilita ese registro. El valor predeterminado es1.0
.
API
Realiza una solicitud PATCH
al método regionBackendServices/patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
Para balanceadores de cargas de red del proxy internos regionales:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "INTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Para balanceadores de cargas de red del proxy externos regionales:
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL_MANAGED", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Para balanceadores de cargas de red del proxy externo global:
Realiza 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 } }
Para los balanceadores de cargas de red del proxy externos clásicos:
Realiza 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 } }
Para balanceadores de cargas de red del proxy interno entre regiones:
Realiza 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 } }
Reemplaza lo siguiente:
PROJECT_ID
: nombre del 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 de
0.0 to 1.0
, en el que0.0
significa que no se registran registros y1.0
significa que se registran todas las conexiones. Si se habilita el registro, pero se configura la tasa de muestreo en0.0
, se inhabilita ese registro. El valor predeterminado es1.0
.
Inhabilita el registro en un servicio de backend existente
gcloud
Usa el comando gcloud compute backend-services update
.
Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
Para balanceadores de cargas de red del proxy externos globales, balanceadores de cargas de red del proxy clásicos o balanceadores de cargas de red del proxy internos entre regiones:
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --no-enable-logging
Reemplaza lo siguiente:
BACKEND_SERVICE
: el nombre del servicio de backend.REGION
: Es la región del servicio de backend.
API
Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales
Realiza 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 } }
Para balanceadores de cargas de red del proxy externos globales, balanceadores de cargas de red del proxy clásicos o balanceadores de cargas de red del proxy internos entre regiones:
Realiza 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 } }
Reemplaza lo siguiente:
PROJECT_ID
: nombre del proyecto.REGION
: Es la región del servicio de backend.BACKEND_SERVICE
: el nombre del servicio de backend.
Ver registros
Cuando los registros se transfieren a Cloud Logging y no se excluyen a través de un receptor de enrutadores de registros, puedes leer los registros mediante la API de Cloud Logging y Google Cloud CLI.
Para ver todos los registros, completa los siguientes pasos.
Console
En la consola de Google Cloud, ve a la página Explorador de registros.
Selecciona el tipo de recurso Regla de balanceador de cargas de red del proxy.
Selecciona el nombre de registro loadbalancing.googleapis.com/connections.
Consulta de consola
En la consola de Google Cloud, ve a la página Explorador de registros.
Haz clic en el botón de activar o desactivar Mostrar consulta.
Pega lo siguiente en el campo de la consulta.
resource.type="LOG_RESOURCE_TYPE" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
Haz clic en Ejecutar consulta.
Reemplaza lo siguiente:
LOG_RESOURCE_TYPE
: Es el tipo de recurso supervisado de Logging configurado enl4_proxy_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: nombre del proyecto.
Visualiza los registros de un servicio de backend específico
Para ver los registros de un servicio de backend específico, completa los siguientes pasos.
Consulta de consola
En la consola de Google Cloud, ve a la página Explorador de registros.
Haz clic en el botón de activar o desactivar Mostrar consulta.
Pega lo siguiente en el campo de la 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 Ejecutar consulta.
Reemplaza lo siguiente:
LOG_RESOURCE_TYPE
: Es el tipo de recurso supervisado de Logging configurado enl4_proxy_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: nombre del proyecto.BACKEND_SERVICE_NAME
: el nombre del servicio de backend.
Visualiza los registros de un grupo de instancias de backend
Para ver los registros de un grupo de instancias de backend específico, completa los siguientes pasos.
Consulta de consola
En la consola de Google Cloud, ve a la página Explorador de registros.
Haz clic en el botón de activar o desactivar Mostrar consulta.
Pega lo siguiente en el campo de la 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 Ejecutar consulta.
Reemplaza lo siguiente:
LOG_RESOURCE_TYPE
: Es el tipo de recurso supervisado de Logging configurado enl4_proxy_rule
otcp_ssl_proxy_rule
.PROJECT_ID
: nombre del proyecto.BACKEND_GROUP_NAME
: el nombre del grupo de instancias.
¿Qué se registra?
Las entradas de registro contienen información útil para supervisar y depurar el tráfico. Los registros contienen campos obligatorios, que son los campos predeterminados de cada registro.
Campo | Formato del campo | Tipo del campo: opcional o requerido | Descripción |
---|---|---|---|
severity timestamp receiveTimestamp insertID logName |
LogEntry | Obligatorio | Los campos generales, como se describe en una entrada de registro. |
resource | MonitoredResource | Obligatorio | MonitoredResource es el tipo de recurso asociado con una entrada de registro. MonitoredResourceDescriptor describe el esquema de un objeto |
jsonPayload | objeto (formato Struct) | Obligatorio | Indica 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 contienen campos obligatorios, que son los campos predeterminados de cada registro.
Algunos campos de registro contienen más de un dato en un campo determinado. Estos
campos de registro se encuentran en formato de varios campos. Por ejemplo, el campo connection
tiene el formato IpConnection
, que contiene el puerto y la dirección IP de origen y destino, además del protocolo, en un solo campo. En la siguiente tabla de formato de registros, se describen estos campos múltiples de registro.
En la siguiente tabla, se enumeran todos los campos de registro obligatorios para el recurso l4_proxy_rule.
Campo | Formato del campo | Descripción |
---|---|---|
conexión | IpConnection | Esta conexión se describe a través de una tupla de 5. |
startTime | string | Marca de tiempo (string con formato de fecha RFC 3339) cuando el balanceador de cargas aceptó la conexión del cliente. |
endTime | string | Marca de tiempo (string con formato de fecha RFC 3339) cuando el cliente o el backend finalizó la conexión. |
bytesSent | int64 | Cantidad de bytes enviados del servidor al cliente. |
bytesReceived | int64 | Cantidad de bytes que recibió el servidor del cliente. |
Formato del campo IpConnection
Campo | Tipo | Descripción |
---|---|---|
clientIp | string | Dirección IP de cliente |
clientPort | int32 | Puerto del cliente. Solo se establece para conexiones TCP y UDP. |
serverIp | string | Dirección IP del servidor (IP de la regla de reenvío) |
serverPort | int32 | Puerto del servidor. Solo se establece para conexiones TCP y UDP. |
protocol | int32 | Número de protocolo IANA |
Campo de error de proxyStatus
El campo proxyStatus
contiene una cadena que especifica por qué el balanceador
de cargas mostró un error. Hay dos partes en el campo
proxyStatus
: proxyStatus error
y proxyStatus details
.
En esta sección, se describen las cadenas compatibles con el campo
proxyStatus error
.
El campo de error de proxyStatus se aplica a los siguientes balanceadores de cargas:
- Balanceador de cargas de red del proxy externo global
- Balanceador de cargas de red del proxy externo regional
- Balanceador de cargas de red del proxy interno entre regiones
- Balanceador de cargas de red de proxy interno regional
Error de proxyStatus | Descripción | Códigos de respuesta adjuntos comunes |
---|---|---|
destination_unavailable
|
El balanceador de cargas considera que el backend no está disponible. Por ejemplo, los intentos recientes de comunicarse con el backend fallaron, o una verificación de estado podría provocar un error. | 500, 503 |
connection_timeout
|
Se agotó el tiempo de espera del intento del balanceador de cargas para abrir una conexión con el backend. | 504 |
connection_terminated
|
La conexión del balanceador de cargas al backend finalizó antes de que se recibiera una respuesta completa. Este
|
0, 502, 503 |
connection_refused
|
Se rechaza la conexión del balanceador de cargas al backend. | 502, 503 |
connection_limit_reached
|
El balanceador de cargas está configurado para limitar la cantidad de conexiones que tiene al backend y se superó ese límite. Este
|
502, 503 |
destination_not_found
|
El balanceador de cargas no puede determinar el backend adecuado para usar en esta solicitud. Por ejemplo, es posible que el backend no esté configurado. | 500, 404 |
dns_error
|
El balanceador de cargas encontró un error de DNS cuando intentó encontrar una dirección IP para el nombre de host del backend. | 502, 503 |
proxy_configuration_error
|
El balanceador de cargas encontró un error de configuración interno. | 500 |
proxy_internal_error
|
El balanceador de cargas encontró un error interno. | 0, 500, 502 |
proxy_internal_response
|
El balanceador de cargas generó la respuesta sin intentar conectarse al backend. | Cualquier código de respuesta según el tipo de problema. Por ejemplo, el
código de respuesta 410 significa que el backend no está disponible debido a
mora de pago.
|
tls_protocol_error
|
El balanceador de cargas encontró un error de TLS durante el protocolo de enlace TLS. | 0 |
tls_certificate_error
|
El balanceador de cargas encontró un error en el momento de verificar el certificado que presentó el servidor. | 0 |
tls_alert_received
|
El balanceador de cargas encontró una alerta TLS irrecuperable durante el protocolo de enlace TLS. | 0 |
Campo de detalles de proxyStatus
El campo proxyStatus
contiene una cadena que especifica por qué el balanceador
de cargas mostró un error. Hay dos partes en el campo
proxyStatus
: proxyStatus error
y proxyStatus details
.
El campo proxyStatus details
es opcional y se muestra solo cuando
hay información adicional disponible.
En esta sección, se describen las cadenas compatibles con el campo
proxyStatus details
.
El campo de detalles del proxyStatus se aplica a los siguientes balanceadores de cargas:
- Balanceador de cargas de red del proxy externo global
- Balanceador de cargas de red de proxy externo regional
- Balanceador de cargas de red de proxy interno regional
- Balanceador de cargas de red del proxy interno entre regiones
Detalles de proxyStatus | Descripción | Códigos de respuesta adjuntos comunes |
---|---|---|
client_disconnected_before_any_response
|
La conexión con el cliente se interrumpió antes de que el balanceador de cargas enviara cualquier respuesta. | 0 |
backend_connection_closed
|
El backend cerró su conexión con el balanceador de cargas de forma inesperada. Esto puede suceder si el balanceador de cargas envía tráfico a otra entidad, como una aplicación de terceros con un tiempo de espera de TCP menor que el de 10 minutos (600 segundos) del balanceador de cargas. | 502 |
failed_to_connect_to_backend
|
No se pudo conectar el balanceador de cargas al backend. Esta falla incluye los tiempos de espera durante la fase de conexión. | 503 |
failed_to_pick_backend
|
El balanceador de cargas no pudo elegir un backend en buen estado para manejar la solicitud. | 502 |
handled_by_identity_aware_proxy
|
Identity-Aware Proxy (IAP) generó esta respuesta 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 superó el tiempo de espera total de la solicitud. | 408, 503, 504 |
tls_version_not_supported
|
Se reconoce la versión del protocolo TLS, pero no se admite. El error da como resultado una conexión TLS cerrada. | 0 |
unknown_psk_identity
|
Los servidores envían este error cuando se requiere el establecimiento de la clave PSK, pero el cliente no proporciona una identidad de PSK aceptable. El error da como resultado una conexión TLS cerrada. | 0 |
no_application_protocol
|
Enviado por los servidores cuando una extensión "application_layer_protocol_negotiation" del cliente anuncia solo protocolos que el servidor no admite. Consulta Extensión de negociación de protocolo de la capa de aplicación TLS. El error da como resultado una conexión TLS cerrada. | 0 |
no_certificate
|
No se encontró ningún certificado. El error da como resultado una conexión TLS cerrada. | 0 |
bad_certificate
|
Un certificado no es válido o contiene firmas que no se pudieron verificar. El error da como resultado una conexión TLS cerrada. | 0 |
unsupported_certificate
|
Un certificado es de un tipo no compatible. El error da como resultado una conexión TLS cerrada. | 0 |
certificate_revoked
|
El firmante revocó un certificado. El error da como resultado una conexión TLS cerrada. | 0 |
certificate_expired
|
Un certificado caducó o no es válido. El error da como resultado una conexión TLS cerrada. | 0 |
certificate_unknown
|
Surgieron algunos problemas no especificados mientras se procesaba el certificado, por lo que es inaceptable. El error da como resultado una conexión TLS cerrada. | 0 |
unknown_ca
|
Se recibió una cadena de certificados válida o una cadena parcial, pero no se aceptó el certificado porque no se pudo ubicar el certificado de la AC o no coincidió con un ancla de confianza conocida. El error da como resultado una conexión TLS cerrada. | 0 |
unexpected_message
|
Se recibió un mensaje inapropiado, como un mensaje de protocolo de enlace incorrecto o datos de aplicaciones prematuros. El error da como resultado una conexión TLS cerrada. | 0 |
bad_record_mac
|
Se recibe un registro que no se puede desproteger. El error da como resultado una conexión TLS cerrada. | 0 |
record_overflow
|
Se recibió un registro TLSCiphertext con una longitud mayor que
2 14 +256 bytes, o se desencriptó un registro en un
registro TLSPlaintext con más de 2 14 bytes
(o algún otro límite negociado). El error da como resultado una conexión TLS
cerrada.
|
0 |
handshake_failure
|
No se puede negociar un conjunto aceptable de parámetros de seguridad dadas las opciones disponibles. El error da como resultado una conexión TLS cerrada. | 0 |
illegal_parameter
|
Un campo del protocolo de enlace era incorrecto o no era coherente con otros campos. El error da como resultado una conexión TLS cerrada. | 0 |
access_denied
|
Se recibió un certificado o PSK válido, pero cuando se aplicó el control de acceso, el cliente no procedió con la negociación. El error da como resultado una conexión TLS cerrada. | 0 |
decode_error
|
No se pudo decodificar un mensaje porque algunos campos estaban fuera del rango especificado o la longitud del mensaje era incorrecta. El error da como resultado una conexión TLS cerrada. | 0 |
decrypt_error
|
Falló una operación criptográfica de protocolo de enlace (sin capa de registro), lo que incluye la imposibilidad de verificar correctamente una firma o validar un mensaje finalizado o un vinculador PSK. El error da como resultado una conexión TLS cerrada. | 0 |
insufficient_security
|
Una negociación falló específicamente porque el servidor requiere parámetros más seguros que los que admite el cliente. El error da como resultado una conexión TLS cerrada. | 0 |
inappropriate_fallback
|
Enviado por un servidor en respuesta a un reintento de conexión no válido de un cliente. El error da como resultado una conexión TLS cerrada. | 0 |
user_cancelled
|
El usuario cancela el protocolo de enlace por algún motivo no relacionado con una falla del protocolo. El error da como resultado una conexión TLS cerrada. | 0 |
missing_extension
|
Enviado por extremos que reciben un mensaje de protocolo de enlace que no contiene una extensión que es obligatorio enviar para la versión TLS ofrecida o para otros parámetros negociados. El error da como resultado una conexión TLS cerrada. | 0 |
unsupported_extension
|
Enviado por extremos que reciben cualquier mensaje de protocolo de enlace que contenga una extensión
cuya inclusión se sabe que está prohibida en el mensaje de protocolo de enlace determinado, o
que incluya cualquier extensión en ServerHello o
Certificate que no se ofreció primero en el ClientHello o la CertificateRequest
correspondiente.
El error da como resultado una conexión TLS cerrada.
|
0 |
unrecognized_name
|
Enviado por los servidores cuando no existe un servidor que pueda identificarse con el nombre que proporciona el cliente a través de la extensión “server_name”. Consulta Definiciones de la extensión TLS. | 0 |
bad_certificate_status_response
|
Enviado por clientes cuando el servidor proporciona una respuesta de OCSP no válida o inaceptable a través de la extensión "status_request". Consulta Definiciones de la extensión TLS. El error da como resultado una conexión TLS cerrada. | 0 |
load_balancer_configured_resource_limits_reached
|
El balanceador de cargas alcanzó los límites de recursos configurados, como la cantidad máxima de conexiones. | 400, 500, 503 |
Entradas de registro de la conexión TLS con errores
Cuando la conexión TLS entre el cliente y el balanceador de cargas falla antes de que
se seleccione cualquier backend, las entradas de registro registran los errores. Puedes configurar los
servicios de backend con diferentes tasas de muestreo de registro. Cuando falla una conexión TLS,
la tasa de muestreo de registro de la conexión TLS con errores es la tasa de muestreo más alta para cualquier
servicio de backend. Por ejemplo, si configuraste dos servicios de backend con
una tasa de muestreo de registro como 0.3
y 0.5
, la tasa de muestreo de registro de
conexión TLS con errores es 0.5
.
Puedes identificar las conexiones TLS con errores si verificas estos detalles de la entrada de registro:
- El tipo de error de 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 con errores 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 recursos
En la tabla siguiente, se enumeran las etiquetas de recursos para el tipo de recurso l4_proxy_rule
.
Campo | Tipo | Descripción |
---|---|---|
network_name | string | El nombre de la red de VPC del balanceador de cargas. |
project_id | string | El identificador del proyecto de Google Cloud asociado a este recurso. |
region | string | La región en la que se define el balanceador de cargas. |
target_proxy_name | string | El nombre del objeto proxy de destino al que hace referencia la regla de reenvío. |
forwarding_rule_name | string | El nombre del objeto de regla de reenvío. |
loadbalancing_scheme_name | string | Un atributo en la regla de reenvío y el servicio de backend de un balanceador de cargas que indica si el balanceador de cargas se puede usar para tráfico interno o externo. |
backend_target_name | string | El nombre del backend seleccionado para controlar la solicitud. |
backend_target_type | string | El tipo de destino de backend (BACKEND_SERVICE / UNKNOWN) . |
backend_name | string | El nombre del grupo de instancias de backend o el grupo de extremos de red (NEG). |
backend_type | string | El tipo de backend, ya sea un grupo de instancias o un NEG, o un tipo desconocido. Cloud Logging registra las solicitudes cuando el backend_type es |
backend_scope | string | El alcance del backend (ya sea un nombre de zona o de región). Puede ser UNKNOWN siempre que se desconozca backend_name . |
backend_scope_type | string | El alcance del backend (REGION/ZONE ). Puede ser UNKNOWN siempre que se desconozca backend_name . |
Supervisión
Los balanceadores de cargas de red del proxy exportan datos de supervisión a Cloud Monitoring.
Las métricas de supervisión se pueden usar para hacer lo siguiente:
- Evaluar la configuración, el uso y el rendimiento de un balanceador de cargas.
- Solucionar problemas.
- Mejorar el uso de recursos y la experiencia del usuario.
Además de los paneles predefinidos en Monitoring, puedes crear paneles personalizados, configurar alertas y consultar métricas a través de la API de Cloud Monitoring.
Ve los paneles de Monitoring
En la consola de Google Cloud, ve a la página Monitoring.
Si Recursos aparece en el panel de navegación, selecciona Recursos y, luego, Balanceadores de cargas de Google Cloud. De lo contrario, selecciona Paneles y, a continuación, el panel llamado Balanceadores de cargas de Google Cloud.
Haz clic en el nombre de tu balanceador de cargas.
En el panel izquierdo, puedes ver diversos detalles de este balanceador de cargas. En el panel derecho, verás gráficos de serie temporal. Para ver los desgloses específicos, haz clic en Desgloses.
Frecuencia y retención de informes de métricas
Las métricas de los balanceadores de cargas se exportan a Monitoring en lotes con un nivel de detalle de un minuto. Los datos de supervisió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).
En el panel, se proporciona un 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 un análisis de forma manual en cualquier intervalo desde seis semanas hasta un minuto.
Métricas para los balanceadores de cargas de red del proxy clásicos
Monitoring recibe las siguientes métricas de los balanceadores de cargas de red del proxy externos.
Métrica | Nombre | Descripción |
---|---|---|
Tráfico entrante | tcp_ssl_proxy/ingress_bytes_count |
La cantidad de bytes enviados de extremos externos a backends configurados mediante el Google Front End (GFE), en bytes por segundo. |
Tráfico saliente | tcp_ssl_proxy/egress_bytes_count |
La cantidad de bytes enviados de backends configurados a extremos externos mediante el GFE (en bytes por segundo). |
Conexiones abiertas | tcp_ssl_proxy/open_connections |
La cantidad de conexiones abiertas en un momento de muestreo puntual. Las muestras se toman cada un minuto. |
Conexiones nuevas por segundo | tcp_ssl_proxy/new_connections |
La cantidad de conexiones que se crearon (conexiones exitosas de un cliente al backend). El nivel de detalle del conteo es por minuto, pero los grafos se ajustan para mostrar valores por segundo. Para obtener más información, consulta la documentación de Monitoring. |
Conexiones cerradas por segundo | tcp_ssl_proxy/closed_connections |
La cantidad de conexiones que se cerraron. El nivel de detalle del conteo es por minuto, pero los grafos se ajustan para mostrar valores por segundo. Para obtener más información, consulta la documentación de Monitoring. |
RTT de frontend | tcp_ssl_proxy/frontend_tcp_rtt |
Una distribución del tiempo de ida y vuelta suavizado (RTT) medida para cada conexión entre el cliente y el GFE (se mide por la pila TCP de GFE) cada vez que bytes de la capa de aplicación pasan del GFE al cliente) El RTT suavizado es un algoritmo que se ocupa de las variaciones y las anomalías que pueden ocurrir en las mediciones de RTT. |
Métricas para otros balanceadores de cargas
Las siguientes métricas de los balanceadores de cargas de red de proxy internos regionales, los balanceadores de cargas de red de proxy externos regionales, los balanceadores de cargas de red de proxy internos entre regiones y los balanceadores de cargas de red de proxy externos globales se informan a Monitoring.
Métrica | Nombre | Descripción |
---|---|---|
Tráfico entrante | l4_proxy/ingress_bytes_count |
La cantidad de bytes enviados del cliente a la VM de backend con el proxy. Se tomaron muestras cada 60 segundos. Luego del muestreo, los datos no son visibles durante un máximo de 210 segundos. |
Tráfico saliente | l4_proxy/egress_bytes_count |
La cantidad de bytes enviados de la VM de backend al cliente mediante el proxy. Se tomaron muestras cada 60 segundos. Luego del muestreo, los datos no son visibles durante un máximo de 210 segundos. |
Conexiones cerradas por segundo | l4_proxy/tcp/closed_connections_count |
La cantidad de conexiones que se finalizaron mediante un mensaje de TCP RST o TCP FIN. Se tomaron muestras cada 60 segundos. Luego del muestreo, los datos no son visibles durante un máximo de 210 segundos. |
Filtra las dimensiones de las métricas
Las métricas se agregan por cada balanceador de cargas. Puedes desglosarlas según las siguientes dimensiones.
Propiedad | Descripción |
---|---|
ALCANCE DEL BACKEND | El alcance (la región o zona) del grupo de instancias que entregó la conexión. |
ZONA DEL BACKEND | Si el grupo de instancias era zonal, la zona del grupo de instancias que entregó la conexión. |
REGIÓN DEL BACKEND | Si el grupo de instancias era regional, la región del grupo de instancias que entregó la conexión. |
CONTINENTE DEL PROXY | El continente del GFE que finalizó la conexión TCP/SSL del usuario, por ejemplo, America , Europe o Asia .
|
GRUPO DE INSTANCIAS | El nombre del grupo de instancias que recibió la conexión del usuario. |
REGLA DE REENVÍO | El nombre de la regla de reenvío que se usa para conectarse al GFE. |
PAÍS DEL CLIENTE | El nombre del país del usuario. |
¿Qué sigue?
- Para obtener información sobre cómo funcionan las políticas de SSL, consulta esta página.
- Para obtener información sobre cómo funcionan los balanceadores de cargas de red del proxy externos, consulta la descripción general del balanceador de cargas de red del proxy externo.
- Si quieres obtener información sobre cómo funcionan los balanceadores de cargas de red del proxy internos regionales, consulta Descripción general del balanceador de cargas de red del proxy internos regionales.