En este documento, se muestra cómo configurar y usar Cloud Logging y Cloud Monitoring para balanceadores de cargas de red de transferencia externos.
Logging
Los registros proporcionan información útil para solucionar problemas y supervisar tu balanceador de cargas de red de transferencia externo. Los registros se agregan por conexión y se exportan casi en tiempo real. Los registros se generan para los flujos de TCP, UDP, ESP, GRE, ICMP y ICMPv6 de cada instancia con balanceo de cargas para el tráfico de entrada y salida. Para obtener más información sobre los campos proporcionados en la entrada de registro, consulta Campos de registro.
No se aplican cargos adicionales por usar registros. Según cómo importes registros, se aplican los precios estándar para Cloud Logging, BigQuery o Pub/Sub. La habilitación de los registros no afecta el rendimiento del balanceador de cargas.
El registro proporciona los siguientes beneficios:
Supervisión del tráfico del balanceador de cargas de red de transferencia externo. El registro por conexión te brinda estadísticas sobre cómo se enruta cada conexión a los backends activos.
Solución de problemas de red Puedes usar los registros del balanceador de cargas de red de transferencia externo para solucionar problemas. Para obtener más información, consulta Soluciona problemas de balanceadores de cargas de red de transferencia externos.
Formato de registro de muestra para flujos de un cliente externo a VM
En el siguiente diagrama, se muestra el tráfico entrante y saliente de un cliente externo (203.0.113.7), un balanceador de cargas de red de transferencia externo (198.51.100.99) y una instancia de backend (10.240.0.2).
Los registros del balanceador de cargas de red de transferencia externo para las conexiones del cliente a la instancia de backend tienen el siguiente formato:
connection.clientIp
: 203.0.113.7connection.serverIp
: 198.51.100.99bytesSent
: 1256bytesReceived
: 4521
Muestreo y recopilación de registros
Google Cloud crea muestras de los paquetes que entran y salen de las VMs de backend del balanceador de cargas. Esos paquetes de muestra se procesan para generar registros.
No todos los paquetes se muestrean. Google Cloud muestrea un subconjunto variable de paquetes según la cantidad de tráfico en el host físico. La tasa de muestreo más baja posible es una de 1,024 paquetes. Google Cloud controla de forma dinámica la tasa de muestreo. No puedes ajustar la tasa de muestreo.
El muestreo de paquetes interactúa con reglas de firewall de las siguientes maneras:
- Los paquetes se muestrean antes de que se apliquen las reglas de firewall de salida.
- Los paquetes se muestrean después de que se apliquen las reglas de firewall de entrada.
Después del muestreo de paquetes, Google Cloud procesa los paquetes de muestra según el siguiente procedimiento:
Agregación: Los paquetes de muestra se agregan durante un intervalo de cinco segundos para producir una sola entrada de flujo.
Muestreo de registros configurable (secundario): Este es un segundo proceso de muestreo, en el que se muestrean los flujos. 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
es1.0
(100%), significa que se procesan todos los paquetes de muestra.Escritura en Logging: Las entradas de registro se escriben en Cloud Logging.
Campos opcionales
Los registros contienen campos obligatorios y opcionales. En la sección Campos de registro, se enumeran los campos opcionales y los obligatorios. Siempre se incluyen todos los campos obligatorios. Puedes personalizar qué campos de metadatos opcionales.
Si seleccionas Include all optional, todos los campos opcionales en el formato del registro se incluyen en los registros de flujo. Cuando se agregan campos opcionales nuevos al formato del registro, los registros de flujo incluyen automáticamente los campos nuevos.
Si seleccionas Excluir todas las opciones opcionales, se omitirán todos los campos opcionales.
Si seleccionas Personalizado, puedes especificar los campos opcionales que deseas incluir con el campo superior, como
serverInstance
, o con sus nombres completos, comoserverInstance.vm
.
Cuando se agregan campos opcionales nuevos al formato del registro, los registros no incluirán estos campos, a menos que sean un campo nuevo dentro de un campo superior que hayas especificado.
Si especificas un campo opcional personalizado con campos superiores, cuando los campos opcionales nuevos se agreguen al formato del registro de ese campo superior, los registros incluirán automáticamente los campos nuevos. Por ejemplo, si eliges incluir optionalFieldA
, se incluirá de forma automática un campo nuevo agregado a los registros con el nombre optionalFieldA.subField1
.
Para obtener instrucciones para personalizar campos opcionales, consulta Habilita el registro en un nuevo servicio de backend.
Requisitos de dirección IP de origen del paquete de respuesta
El registro muestrea los paquetes de respuesta de las VMs de backend solo si la dirección IP de origen de esos paquetes coincide con la dirección IP de la regla de reenvío del balanceador de cargas. Para las conexiones de TCP, los paquetes de respuesta siempre deben tener fuentes que coincidan con el destino del paquete de la solicitud. Sin embargo, para otros protocolos, es posible que los paquetes de respuesta usen una dirección IP de origen diferente. A fin de obtener más información, consulta Direcciones IP para solicitudes y paquetes de retorno.
El proceso de muestreo de paquetes que usa el registro del balanceador de cargas de red de transferencia externo omite cualquier paquete de respuesta de las VMs de backend si esos paquetes tienen fuentes que no coinciden con una dirección IP de una regla de reenvío para un balanceador de cargas de red de transferencia externo.
Habilita el registro en un servicio de backend nuevo
Console
En la consola de Google Cloud, ve a la página Balanceo de cargas.
- Haz clic en el nombre de tu balanceador de cargas.
- Haz clic en Editar y, luego, en Configuración de backend.
- Selecciona Crear un servicio de backend y luego, completa los campos de servicio de backend obligatorios.
- En la sección Registro, selecciona la casilla de verificación Habilitar registro.
- Configura una fracción de Tasa de muestreo. Puedes establecer una tasa entre
0.0
y1.0
(predeterminada). - Opcional: Para incluir todos los campos opcionales en los registros, en la sección Optional fields, haz clic en Include all optional fields.
- Para terminar de editar el servicio de backend, haz clic en Actualizar.
- Para terminar de editar el balanceador de cargas, haz clic en Actualizar.
gcloud
Crea el servicio de backend para habilitar el registro con el
gcloud compute backend-services create
comando.
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE \ --logging-optional=LOGGING_OPTIONAL \ --logging-optional-fields=OPTIONAL_FIELDS
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 generan registros y,1.0
, que se generan registros de todos los paquetes de muestra. Si se habilita el registro, pero se configura la tasa de muestreo en0.0
, se inhabilita ese registro. El valor predeterminado es1.0
.LOGGING_OPTIONAL
: los campos opcionales que deseas incluir en los registros:INCLUDE_ALL_OPTIONAL
para incluir todos los campos opcionales.EXCLUDE_ALL_OPTIONAL
para excluir todos los campos opcionales (opción predeterminada).CUSTOM
para incluir una lista personalizada de los campos opcionales que especifiques enOPTIONAL_FIELDS
.
OPTIONAL_FIELDS
: una lista separada por comas de los campos opcionales que deseas incluir en los registros.Por ejemplo,
serverInstance.vm,serverGkeDetails
. Solo se puede configurar siLOGGING_OPTIONAL
se establece comoCUSTOM
.
API
Realiza una solicitud POST
al método regionBackendServices.insert
.
POST https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices
Excluir todos los campos opcionales
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Incluir todos los campos opcionales
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "INCLUDE_ALL_OPTIONAL" } }
Cómo incluir una lista personalizada de campos opcionales
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "CUSTOM", "optionalFields": ["field1","field2",...] } }
Habilita el registro en un servicio de backend existente
Console
En la consola de Google Cloud, ve a la página Balanceo de cargas.
- Haz clic en el nombre de tu balanceador de cargas.
- Haz clic en Editar y, luego, en Configuración de backend.
- Junto al servicio de backend, haz clic en Editar.
- En la sección Registro, selecciona la casilla de verificación Habilitar registro.
- Configura una fracción de Tasa de muestreo. Puedes establecer una tasa entre
0.0
y1.0
(predeterminada). - Opcional: Para incluir todos los campos opcionales en los registros, en la sección Optional fields, haz clic en Include all optional fields.
- Para terminar de editar el servicio de backend, haz clic en Actualizar.
- Para terminar de editar el balanceador de cargas, haz clic en Actualizar.
gcloud
Habilita el registro en un servicio de backend existente con el comando gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE \ --logging-optional=LOGGING_OPTIONAL \ --logging-optional-fields=OPTIONAL_FIELDS
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 informan registros y,1.0
, que se generan registros para todos los paquetes de muestra. Si se habilita el registro, pero se configura la tasa de muestreo en0.0
, se inhabilita ese registro. El valor predeterminado es1.0
.LOGGING_OPTIONAL
: los campos opcionales que deseas incluir en los registros:INCLUDE_ALL_OPTIONAL
para incluir todos los campos opcionales.EXCLUDE_ALL_OPTIONAL
para excluir todos los campos opcionales (opción predeterminada).CUSTOM
para incluir una lista personalizada de los campos opcionales que especifiques enOPTIONAL_FIELDS
.
OPTIONAL_FIELDS
: una lista separada por comas de los campos opcionales que deseas incluir en los registros.Por ejemplo,
serverInstance.vm,serverGkeDetails
. Solo se puede configurar siLOGGING_OPTIONAL
se establece comoCUSTOM
.
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`
Excluir todos los campos opcionales
"logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "EXCLUDE_ALL_OPTIONAL" }
Incluir todos los campos opcionales
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "INCLUDE_ALL_OPTIONAL" } }
Cómo incluir una lista personalizada de campos opcionales
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "CUSTOM", "optionalFields": ["field1","field2",...] } }
Inhabilita el registro en un servicio de backend existente
Console
En la consola de Google Cloud, ve a la página Balanceo de cargas.
Haz clic en el nombre de tu balanceador de cargas.
Haz clic en
Editar y luego, en Configuración de backend.Para inhabilitar el registro por completo, en la sección Registro, desmarca la casilla de verificación Habilitar registro.
Si dejas habilitado el registro, puedes configurar una fracción de Tasa de muestreo diferente. Puedes establecer una tasa entre
0.0
y1.0
(predeterminada). Para generar solo registros del 20% de los paquetes de muestra, establece el valor en0.2
.Para terminar de editar el servicio de backend, haz clic en Actualizar.
Para terminar de editar el balanceador de cargas, haz clic en Actualizar.
gcloud
Inhabilita el registro en el servicio de backend con el comando gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
Reemplaza lo siguiente:
BACKEND_SERVICE
: el nombre del servicio de backend.REGION
: Es la región del servicio de backend.
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
{ "logConfig": { "enable": false } }
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 del balanceador de cargas de red de transferencia externo, haz lo siguiente:
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 de transferencia externa.
Selecciona el nombre de registro loadbalancing.googleapis.com/flows.
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. Reemplaza
PROJECT_ID
por el ID del proyecto.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
Haz clic en Ejecutar consulta.
Visualiza los registros de un servicio de backend específico
Para ver los registros del balanceador de cargas de red de transferencia externo de un servicio de backend específico, haz lo siguiente:
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. Reemplaza
PROJECT_ID
por el ID del proyecto yBACKEND_SERVICE_NAME
por el nombre de tu servicio de backend.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows" resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
Haz clic en Ejecutar consulta.
Visualiza los registros de un grupo de instancias de backend
Para ver los registros del balanceador de cargas de red de transferencia externo de un grupo de instancias de backend específico, haz lo siguiente:
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. Reemplaza
PROJECT_ID
por el ID del proyecto yBACKEND_GROUP_NAME
por el nombre del grupo de instancias.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows" resource.labels.backend_group_name="BACKEND_GROUP_NAME"
Haga clic en Ejecutar consulta.
Campos de registro
Los registros contienen campos obligatorios (los campos predeterminados de cada registro) y campos opcionales que agregan información adicional. Los campos opcionales se pueden omitir para ahorrar costos de almacenamiento.
Algunos campos de registro se encuentran en formato de varios campos y poseen más de un dato en un campo específico. 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.
El recurso supervisado es loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.
Campo | Formato del campo | Tipo del campo: opcional o requerido | Descripción |
---|---|---|---|
conexión | IpConnection | Obligatorio | Esta conexión se describe a través de una tupla de 5. |
startTime | string | Obligatorio | Marca de tiempo (string con formato de fecha RFC 3339) del primer paquete observado durante el intervalo de tiempo agregado. |
endTime | string | Obligatorio | Marca de tiempo (string con formato fecha RFC 3339) del último paquete observado durante el intervalo de tiempo agregado. |
bytesSent | int64 | Obligatorio | Cantidad de bytes enviados del servidor al cliente. |
bytesReceived | int64 | Obligatorio | Cantidad de bytes que recibió el servidor del cliente. |
packetsSent | int64 | Obligatorio | Cantidad de paquetes enviados desde el servidor al cliente. |
packetsReceived | int64 | Obligatorio | Cantidad de paquetes que recibió el servidor desde el cliente. |
rtt | string | Obligatorio | La latencia se mide solo para conexiones TCP. La latencia es la suma del tiempo de ida y vuelta (RTT) estimado de la red más el tiempo consumido en el procesamiento del paquete dentro del sistema operativo del cliente. En los paquetes de muestra, el RTT se calcula desde la perspectiva de un backend con balanceo de cargas, mediante la medición de las diferencias de tiempo entre el backend que envía un segmento TCP y el backend que recibe una confirmación de recepción de TCP para el número de secuencia del segmento enviado. La latencia tiene el formato de una string que comienza con una cantidad de segundos y termina con “s” para indicar que son segundos. Los nanosegundos se expresan como segundos fraccionarios, por ejemplo, la latencia de 250 milisegundos tiene el formato “0.250000000s”. |
serverInstance | InstanceDetails | Opcional | Los detalles de la instancia de VM de backend. |
clientLocation | GeographicDetails | Opcional | Los metadatos de ubicación disponibles del cliente. |
serverGkeDetails | GkeDetails | Opcional | Metadatos de GKE para el backend del servidor. Solo está disponible si el backend es un extremo de GKE. |
networkTier | NetworkTierDetails | Opcional | Nivel de red para conexiones externas; se completa solo cuando el cliente no se encuentra en en Google Cloud. |
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 |
Formato del campo InstanceDetails
Campo | Tipo | Descripción |
---|---|---|
projectId | string | ID del proyecto que contiene la VM. |
vm | string | Nombre de la instancia de la VM. |
region | string | Región de la VM |
zone | string | Zona de la VM |
vmIp | string | Dirección IPv4 interna principal de la interfaz de red que entregó la conexión |
Formato del campo GeographicDetails
Campo | Tipo | Descripción |
---|---|---|
continent | string | Continent name |
regionCode | string | Un código regional CLDR de Unicode, como US o FR . Para la mayoría de los países, estos códigos corresponden directamente a los códigos ISO-3166-2. |
subRegion | string | Un ID de subdivisión CLDR de Unicode, por ejemplo, una provincia o un estado del país, como USCA o CAON . Estos códigos Unicode se derivan de las subdivisiones definidas por el estándar ISO-3166-2.
|
city | string | Nombre de la ciudad, por ejemplo, Mountain View para Mountain View, California. No hay una lista canónica de valores válidos para esta variable. Los nombres de las ciudades pueden contener letras, números, espacios y los siguientes caracteres de US-ASCII: !#$%&'*+-.^_`|~ . |
asn | int32 | El número del sistema autónomo (ASN) de la red externa a la que pertenece este extremo. |
Formato del campo GkeDetails
Campo | Tipo | Descripción |
---|---|---|
clúster | ClusterDetails | Metadatos del clúster de GKE |
pod | PodDetails | Metadatos del Pod de GKE, propagados cuando el origen o el destino del tráfico es un Pod |
service | ServiceDetails | Metadatos del servicio de GKE, propagados solo en los extremos del servicio. El registro contiene hasta dos servicios. Si hay más de dos servicios relevantes, este campo contiene un solo servicio con un marcador especial MANY_SERVICES. |
Formato del campo ClusterDetails
Campo | Tipo | Descripción |
---|---|---|
clúster | string | Nombre del clúster de GKE |
clusterLocation | string | Ubicación del clúster. La ubicación del clúster puede ser una zona o una región. |
Formato del campo PodDetails
Campo | Tipo | Descripción |
---|---|---|
pod | string | Nombre del Pod. |
podNamespace | string | Espacio de nombres del Pod. |
Formato del campo ServiceDetails
Campo | Tipo | Descripción |
---|---|---|
service | string | Nombre del servicio. Si hay más de dos servicios relevantes, el campo se configura como un marcador especial MANY_SERVICES. |
serviceNamespace | string | Espacio de nombres del servicio |
Formato del campo NetworkTierDetails
Campo | Tipo | Descripción |
---|---|---|
networkTier | string | NetworkTier usado en la conexión, uno de [PREMIUM, ESTÁNDAR, FIXED_STANDARD, UNKNOWN]. |
Supervisión
Los balanceadores de cargas de red de transferencia externos exportan métricas clave a Cloud Monitoring.
Se pueden usar las métricas de Monitoring para los siguientes fines:
- 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 las métricas a través de la API de Monitoring.
Ve los paneles de Monitoring
Console
En la consola de Google Cloud, ve a la página Supervisión.
En el panel de navegación, selecciona Paneles.
Selecciona el panel de Balanceadores de cargas de Google Cloud. Se muestran todos los balanceadores de cargas.
Selecciona el nombre del balanceador de cargas de la lista de balanceadores de cargas.
En el panel Detalles del balanceador de cargas de red de transferencia externa, puedes ver varios detalles del balanceador de cargas seleccionado. En este panel, se muestran tus configuraciones actuales.
En el panel Métricas de claves, puedes ver gráficos para cada métrica de clave. Para ver los desgloses específicos, haz clic en Desgloses. En este panel, se presentan datos informados por las configuraciones históricas, mientras que en el panel Detalles del balanceador de cargas de red de transferencia externo solo se muestran las configuraciones actuales. Para obtener más información, consulta Paneles y gráficos.
Define los paneles personalizados de Monitoring
Puedes crear paneles personalizados de Monitoring a través de métricas externas del balanceador de cargas de red de transferencia externo.
Consulta Tipos de recursos y métricas para obtener una lista de las métricas recopiladas. Si deseas ver las listas de atributos que puedes usar para filtrar resultados, consulta Filtros.
Console
En la consola de Google Cloud, ve a la página Supervisión.
Selecciona Paneles > Crear panel.
Haz clic en Agregar gráfico.
Ponle un título al gráfico.
Selecciona las métricas y los filtros.
Para encontrar las métricas del balanceador de cargas de red de transferencia externo, busca el prefijo
loadbalancing.googleapis.com/l3/external
.Haz clic en Guardar.
Define alertas de Monitoring
Puedes definir alertas de Monitoring a través de varias métricas del balanceador de cargas de red de transferencia externo:
Console
En la consola de Google Cloud, ve a la página Supervisión.
Selecciona Alertas > Crear una política.
Selecciona los tipos de recursos y métricas.
Para encontrar tipos de recursos y métricas del balanceador de cargas de red de transferencia externo, busca
loadbalancing.googleapis.com/l3/external
en el campo Buscar tipo de recurso y métricas.Especifica una Configuración para establecer cuándo se debe activar una alerta.
Si lo deseas, agrega Filtros.
Haz clic en Guardar.
Frecuencia y retención de informes de métricas
Las métricas de los balanceadores de cargas de red de transferencia externos se exportan a Monitoring en lotes con un nivel de detalle de un minuto. Los datos de Monitoring se conservan durante seis 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 una hora (1H), seis horas (6H), un día (1D), una semana (1W) y seis semanas (6W). Puedes solicitar un análisis de forma manual en cualquier intervalo de seis semanas a sesenta segundos.
Tipos de recursos y métricas
Métricas
Las siguientes métricas para balanceadores de cargas de red de transferencia externos se informan en Monitoring. Puedes usar estos nombres de métricas cuando realices solicitudes a la API.
metric_name | Tipo | Descripción |
---|---|---|
loadbalancing.googleapis.com/l3/external/ingress_bytes_count |
contador | La cantidad de bytes enviados de un cliente a un backend del balanceador de cargas de red de transferencia externo. Para los flujos TCP, solo se cuentan los bytes presentes en la transmisión de la aplicación. |
loadbalancing.googleapis.com/l3/external/ingress_packets_count |
contador | La cantidad de paquetes enviados de un cliente a un backend del balanceador de cargas de red de transferencia externo. |
loadbalancing.googleapis.com/l3/external/egress_bytes_count |
contador | La cantidad de bytes enviados de un backend del balanceador de cargas de red de transferencia externo a un cliente. Para los flujos TCP, solo se cuentan los bytes presentes en la transmisión de la aplicación. |
loadbalancing.googleapis.com/l3/external/egress_packets_count |
contador | La cantidad de paquetes enviados desde un backend del balanceador de cargas de red de transferencia externo a un cliente. |
loadbalancing.googleapis.com/l3/external/rtt_latencies |
distribución | Una distribución del rtt medida a través de conexiones TCP para los flujos de balanceadores de cargas de red de transferencia externos. Disponible solo para el tráfico de TCP. |
Tipos de recursos
Los balanceadores de cargas de red de transferencia externos usan los siguientes tipos de recursos:
tcp_lb_rule
udp_lb_rule
loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
Un balanceador de cargas de red de transferencia externo puede admitir tráfico de TCP, UDP, ESP, GRE, ICMP e ICMPv6.
Puedes especificar el tipo de recurso como
tcp_lb_rule
o
udp_lb_rule
para limitar
los datos supervisados a los protocolos TCP o UDP.
Puedes especificar el tipo de recurso como
loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
para supervisar todos los protocolos compatibles, incluidos
TCP, ICMP, ESP, GRE, ICMv6 y UDP.
Filtros
Las métricas se agregan para cada balanceador de cargas de red de transferencia externo. Puedes filtrar métricas agregadas por las siguientes dimensiones.
Etiquetas de recursos para tcp_lb_rule
o udp_lb_rule
Puedes restringir tu búsqueda por recurso. También puedes agrupar los resultados según estos valores.
resource.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descripción |
---|---|---|
project |
string | El identificador del proyecto de Google Cloud asociado a este recurso. |
load_balancer_name |
string | El nombre del balanceador de cargas. |
region |
string | La región en la que se encuentra el backend del balanceador de cargas, por ejemplo, us-central1 , europe-west1 , asia-east1 . |
network_name |
string | La red de VPC en la que reside el backend del balanceador de cargas. |
backend_target_type |
string | Indica si el balanceador de cargas de red de transferencia externo se basa en grupos de destino o en servicios de backend. Los valores válidos son BACKEND_SERVICE o TARGET_POOL . |
backend_target_name |
string | Para los balanceadores de cargas de red de transferencia externos basados en grupos de destino, el nombre del grupo de destino. Para los balanceadores de cargas de red de transferencia externos basados en servicios de backend, el nombre del servicio de backend. |
forwarding_rule_name |
string | El nombre de la regla de reenvío. |
forwarding_rule_network_tier |
string | El nivel de red de la regla de reenvío. |
backend_name |
string | El nombre del backend que controló la conexión. Para un balanceador de cargas de red de transferencia externo basado en servicios de backend, el valor es el nombre del grupo de instancias de backend o del grupo de extremos de red (NEG) que controló la conexión. Para un balanceador de cargas de red de transferencia externo basado en grupos de destino, el valor es el nombre del grupo de destino. |
backend_type |
string | El tipo de backend que controló la conexión. Para un balanceador de cargas de red de transferencia externo basado en servicios de backend, el valor puede ser Para un balanceador de cargas de red de transferencia externo basado en grupos de destino, el valor es |
backend_scope |
string | Para un balanceador de cargas de red de transferencia externo basado en servicios de backend, la zona o región del NEG o grupo de instancias de backend. Para un balanceador de cargas de red basado en grupos de destino, el valor es |
backend_scope_type |
string | El tipo de permiso del grupo de backend que controló la conexión. Los valores válidos son Para un balanceador de cargas de red basado en grupos de destino, el valor es |
backend_failover_configuration |
string | Configuración de conmutación por error del grupo de backend que controló la conexión. Los valores válidos son PRIMARY , BACKUP o UNKNOWN . |
backend_subnetwork_name |
string | El nombre de la subred del backend que recibió la conexión. |
endpoint_zone |
string | La zona de la VM de backend que controló la conexión. |
Etiquetas de recursos de loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
Puedes restringir tu búsqueda por recurso. También puedes agrupar los resultados según estos valores.
resource.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descripción |
---|---|---|
project |
string | El identificador del proyecto de Google Cloud asociado a este recurso. |
region |
string | La región en la que se encuentra el backend del balanceador de cargas, por ejemplo, us-central1 , europe-west1 , asia-east1 . |
backend_network_name |
string | La red de VPC en la que reside el backend del balanceador de cargas. |
backend_target_type |
string | El tipo de destino de backend que controló la conexión. Los valores válidos son BACKEND_SERVICE o TARGET_POOL . |
backend_service_name |
string | El nombre del servicio de backend que controló la conexión. Si backend_target_type es TARGET_POOL , el valor es UNSUPPORTED_FOR_TARGET_POOL . |
primary_target_pool |
string | El nombre del grupo de destino principal. Si backend_target_type es BACKEND_SERVICE , el valor es UNSUPPORTED_FOR_BACKEND_SERVICE . |
target_pool |
string | El nombre del grupo de destino. Si backend_target_type es BACKEND_SERVICE , el valor es UNSUPPORTED_FOR_BACKEND_SERVICE . |
forwarding_rule_name |
string | El nombre de la regla de reenvío del balanceador de cargas de red de transferencia externo. |
backend_group_name |
string | El nombre del grupo de backend que controló la conexión.
Si backend_target_type es TARGET_POOL , el valor es UNSUPPORTED_FOR_TARGET_POOL . |
backend_group_type |
string | El tipo de grupo de backend que controló la conexión. Si Si |
backend_group_scope |
string | El permiso del grupo de backend (nombre de la zona o región) que controló la conexión. Si backend_target_type es TARGET_POOL , el valor es UNSUPPORTED_FOR_TARGET_POOL . |
backend_subnetwork_name |
string | El nombre de la subred de la instancia que recibió la conexión. |
backend_zone |
string | La zona de la VM de backend que controló la conexión. |
Etiquetas de métrica
Puedes restringir tu búsqueda por etiqueta de métrica. También puedes agrupar los resultados según estos valores.
metric.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descripción |
---|---|---|
client_country |
string | El país del cliente que inició la conexión con el balanceador de cargas de red de transferencia externo. |
client_continent |
string | El continente del cliente que inició la conexión con el balanceador de cargas de red de transferencia externo. |
protocol |
string | El protocolo en la conexión para el recurso Este campo se deja en blanco para los recursos |
Solicitudes a la API de Monitoring
Puedes crear búsquedas arbitrarias a través de las métricas del balanceador de cargas de red de transferencia externo con la solicitud v3 projects.timeSeries.list de la API de Monitoring. La estructura exacta de las diversas definiciones respeta la semántica genérica de los filtros de supervisión.
Ejemplos de solicitudes a la API
Obtén todos los bytes enviados desde todos los balanceadores de cargas de red de transferencia del proyecto, entre las 12:00 y las 12:02 p.m. UTC del 1 de julio de 2019, con agregados de 1 m.
Parámetros de timeSeries.list:
- name: projects/
PROJECT_ID
- Filter:
resource.type = "tcp_lb_rule"
ANDmetric.name="loadbalancing.googleapis.com/l3/external/egress_bytes_count"
- interval.start_time:
2019-07-01T12:00:00Z
- interval.end_time:
2019-07-01T12:02:00Z
- aggregation.alignmentPeriod:
60s
- aggregation.crossSeriesReducer:
REDUCE_SUM
- aggregation.perSeriesAligner:
ALIGN_SUM
- name: projects/
Obtén una medición de la mediana del RTT en todos los balanceadores de cargas de red de transferencia externos del proyecto, entre las 12:19 y las 12:20 p.m. UTC del 1 de julio de 2019, desglosada por país del cliente.
Parámetros de timeSeries.list:
- name: projects/
PROJECT_ID
- Filter:
resource.type = "tcp_lb_rule"
ANDmetric.name="loadbalancing.googleapis.com/l3/external/rtt_latencies"
- interval.start_time:
2019-07-01T12:19:00Z
- interval.end_time:
2019-07-01T12:20:00Z
- aggregation.alignmentPeriod:
60s
- aggregation.crossSeriesReducer:
REDUCE_SUM
- aggregation.groupByFields:
metric.label.client_country
- aggregation.perSeriesAligner:
ALIGN_PERCENTILE_50
- name: projects/
Obtén el total de bytes de un balanceador de cargas de red de transferencia externo específico entre las 12:19 y 12:20 p.m. UTC del 1 de julio de 2019, que se desglosa por la zona del extremo y el continente del cliente.
Parámetros de timeSeries.list:
- name: projects/
PROJECT_ID
- Filter:
resource.type = "tcp_lb_rule"
ANDresource.label.load_balancer_name = "netlb-bs-1"
ANDmetric.name="loadbalancing.googleapis.com/l3/external/ingress_bytes_count"
- interval.start_time:
2019-07-01T12:19:00Z
- interval.end_time:
2017-07-01T12:20:00Z
- aggregation.alignmentPeriod:
60s
- aggregation.crossSeriesReducer:
REDUCE_SUM
- aggregation.groupByFields:
metric.label.client_continent
- aggregation.groupByFields:
resource.label.endpoint_zone
- aggregation.perSeriesAligner:
ALIGN_SUM
- name: projects/
¿Qué sigue?
- Lee la información conceptual sobre los balanceadores de cargas de red de transferencia externos.
- Configura un balanceador de cargas de red de transferencia externo
- Lee sobre las métricas, las series temporales y los recursos de Monitoring.
- Lee sobre las reglas de reenvío
- Lee sobre cómo solucionar problemas de registro