En este documento se explica cómo configurar y usar Cloud Logging y Cloud Monitoring para balanceadores de carga de red de pases externos.
Los balanceadores de carga de red de paso a través externos basados en el servicio de backend admiten tanto el registro como la monitorización. Sin embargo, los balanceadores de carga de red de paso a través externos basados en grupos de destino solo admiten la monitorización.
Almacenamiento de registros
Los registros proporcionan información útil para solucionar problemas y monitorizar tu balanceador de carga de red de paso a través externo basado en el servicio de backend. Los registros se agregan por conexión y se exportan casi en tiempo real. Se generan registros de cada instancia con balanceo de carga para los flujos TCP, UDP, ESP, GRE, ICMP e ICMPv6 del tráfico de entrada y de 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 los registros. En función de cómo importes los registros, se aplicarán los precios estándar de Cloud Logging, BigQuery o Pub/Sub. Habilitar los registros no afecta al rendimiento del balanceador de carga.
El registro ofrece las siguientes ventajas:
Monitorización del tráfico del balanceador de carga de red de paso a través externo. El registro por conexión te permite saber cómo se enruta cada conexión a los backends de servicio.
Solución de problemas de red. Puede utilizar los registros del balanceador de carga de red de paso a través externo para solucionar problemas. Para obtener más información, consulta el artículo Solucionar problemas de balanceadores de carga de red de paso a través externos.
Formato de registro de ejemplo para flujos de un cliente externo a una VM
En el siguiente diagrama se muestra el tráfico entrante y saliente de un cliente externo (203.0.113.7), un balanceador de carga de red de paso a través externo (198.51.100.99) y una instancia de backend (10.240.0.2).
Los registros de los balanceadores de carga de red de paso a través externos de 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 recogida de registros
Google Cloud muestra los paquetes que salen y entran en las VMs de backend del balanceador de carga. Los paquetes muestreados se procesan para generar registros.
No se muestrean todos los paquetes. Google Cloud Muestrea un subconjunto variable de paquetes en función de la cantidad de tráfico del host físico. La frecuencia de muestreo más baja posible es de uno de cada 1024 paquetes. Google Cloudcontrola la frecuencia de muestreo de forma dinámica. No puedes ajustar la frecuencia de muestreo.
El muestreo de paquetes interactúa con las reglas de cortafuegos de las siguientes formas:
- Los paquetes se muestrean antes de que se apliquen las reglas de cortafuegos de salida.
- Los paquetes se muestrean después de aplicar las reglas de cortafuegos de entrada.
Después del muestreo de paquetes, Google Cloud procesa los paquetes muestreados siguiendo este procedimiento:
Agregación: los paquetes muestreados se agregan en un intervalo de cinco segundos para generar una sola entrada de flujo.
Muestreo de registros configurable (secundario): se trata de un segundo proceso de muestreo que toma muestras de los flujos. Controlas 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 han procesado todos los paquetes muestreados.Escribir en el registro: las entradas de registro se escriben en Cloud Logging.
Campos opcionales:
Los registros de registro contienen campos obligatorios y campos opcionales. En la sección Campos de registro se indica qué campos son opcionales y cuáles son obligatorios. Todos los campos obligatorios se incluyen siempre. Puedes personalizar los campos opcionales que quieras conservar.
Si seleccionas Incluir todos los campos opcionales, se incluirán todos los campos opcionales del formato de registro en los registros de flujo. Cuando se añaden nuevos campos opcionales al formato de registro, los registros de flujo incluyen automáticamente los nuevos campos.
Si selecciona Excluir todos los opcionales, se omitirán todos los campos opcionales.
Si seleccionas Personalizado, puedes especificar los campos opcionales que quieras incluir por el campo principal, como
serverInstance
, o por sus nombres completos, comoserverInstance.vm
.
Cuando se añaden campos opcionales nuevos al formato de registro, los registros no los incluirán, a menos que sean campos nuevos dentro de un campo principal que hayas especificado que se incluya.
Si especifica un campo opcional personalizado mediante campos principales, cuando se añadan campos opcionales nuevos al formato de registro de ese campo principal, los registros incluirán automáticamente los campos nuevos. Por ejemplo, si elige incluir optionalFieldA
, se incluirá automáticamente un nuevo campo añadido a los registros con el nombre optionalFieldA.subField1
.
Para obtener instrucciones sobre cómo personalizar los campos opcionales, consulta el artículo Habilitar el registro en un nuevo servicio backend.
Requisitos de la dirección IP de origen del paquete de respuesta
El registro toma muestras de 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 carga. En las conexiones TCP, los paquetes de respuesta siempre deben tener orígenes que coincidan con el destino del paquete de solicitud. Sin embargo, en otros protocolos, es posible que los paquetes de respuesta usen una dirección IP de origen diferente. Para obtener más información, consulta Direcciones IP de paquetes de solicitud y de retorno.
El proceso de muestreo de paquetes que usa el registro del balanceador de carga de red de paso a través externo omite los paquetes de respuesta de las VMs de backend si esos paquetes de respuesta tienen orígenes que no coinciden con una dirección IP de una regla de reenvío de un balanceador de carga de red de paso a través externo.
Habilitar el registro en un servicio de backend nuevo
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haz clic en el nombre de tu balanceador de carga.
- Haga clic en Editar y, a continuación, en Configuración de backend.
- Selecciona Crear un servicio de backend y, a continuación, rellena los campos obligatorios del servicio de backend.
- En la sección Almacenamiento de registros, marca la casilla Habilitar el almacenamiento de registros.
- Define una fracción de Frecuencia de muestreo. Puedes definir una tarifa entre
0.0
y1.0
(valor predeterminado). - Opcional: Para incluir todos los campos opcionales en los registros, en la sección Campos opcionales, haga clic en Incluir todos los campos opcionales.
- Para terminar de editar el servicio de backend, haz clic en Actualizar.
- Para terminar de editar el balanceador de carga, haz clic en Actualizar.
gcloud
Crea el servicio de backend para habilitar el registro con el comando gcloud compute backend-services create
.
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
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 generan registros y1.0
significa que se generan registros de todos los paquetes muestreados. Habilitar el registro, pero definir la frecuencia de muestreo en0.0
equivale a inhabilitar el registro. El valor predeterminado es1.0
.LOGGING_OPTIONAL
: los campos opcionales que quieras incluir en los registros:INCLUDE_ALL_OPTIONAL
para incluir todos los campos opcionales.EXCLUDE_ALL_OPTIONAL
(valor predeterminado) para excluir todos los campos opcionales.CUSTOM
para incluir una lista personalizada de campos opcionales que especifiques enOPTIONAL_FIELDS
.
OPTIONAL_FIELDS
: lista separada por comas de campos opcionales que quieras incluir en los registros.Por ejemplo,
serverInstance.vm,serverGkeDetails
. Solo se puede definir siLOGGING_OPTIONAL
se define comoCUSTOM
.
API
Haz 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" } }
Incluir una lista personalizada de campos opcionales
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "CUSTOM", "optionalFields": ["field1","field2",...] } }
Habilitar el registro en un servicio de backend
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haz clic en el nombre de tu balanceador de carga.
- Haz clic en Editar y, a continuación, en Configuración de backend.
- Junto a tu servicio backend, haz clic en Editar.
- En la sección Almacenamiento de registros, marca la casilla Habilitar el almacenamiento de registros.
- Define una fracción de Frecuencia de muestreo. Puedes definir una tarifa entre
0.0
y1.0
(valor predeterminado). - Opcional: Para incluir todos los campos opcionales en los registros, en la sección Campos opcionales, haga clic en Incluir todos los campos opcionales.
- Para terminar de editar el servicio de backend, haz clic en Actualizar.
- Para terminar de editar el balanceador de carga, haz clic en Actualizar.
gcloud
Habilita el registro en un servicio de backend 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
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 generan registros para todos los paquetes muestreados. Habilitar el registro, pero definir la frecuencia de muestreo en0.0
equivale a inhabilitar el registro. El valor predeterminado es1.0
.LOGGING_OPTIONAL
: los campos opcionales que quieras incluir en los registros:INCLUDE_ALL_OPTIONAL
para incluir todos los campos opcionales.EXCLUDE_ALL_OPTIONAL
(valor predeterminado) para excluir todos los campos opcionales.CUSTOM
para incluir una lista personalizada de campos opcionales que especifiques enOPTIONAL_FIELDS
.
OPTIONAL_FIELDS
: lista separada por comas de campos opcionales que quieras incluir en los registros.Por ejemplo,
serverInstance.vm,serverGkeDetails
. Solo se puede definir siLOGGING_OPTIONAL
se define comoCUSTOM
.
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`
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" } }
Incluir una lista personalizada de campos opcionales
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "CUSTOM", "optionalFields": ["field1","field2",...] } }
Inhabilitar el registro en un servicio backend
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
Haz clic en el nombre de tu balanceador de carga.
Haz clic en
Editar y, a continuación, en Configuración de backend.Para inhabilitar el registro por completo, en la sección Registro, desmarca la casilla Habilitar registro.
Si dejas el registro habilitado, puedes definir una fracción de Frecuencia de muestreo diferente. Puedes definir el valor entre
0.0
y1.0
(predeterminado). Para generar registros solo del 20% de los paquetes muestreados, asigna el valor0.2
.Para terminar de editar el servicio de backend, haz clic en Actualizar.
Para terminar de editar el balanceador de carga, 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
Haz los cambios siguientes:
BACKEND_SERVICE
: el nombre del servicio de backend.REGION
: 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 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 del balanceador de carga de red de paso a través externo, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Explorador de registros.
Selecciona el tipo de recurso Regla de balanceador de carga de red de paso a través externo.
Selecciona el nombre de registro loadbalancing.googleapis.com/flows.
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. Sustituye
PROJECT_ID
por el ID de tu proyecto.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
Haz clic en Realizar una consulta.
Ver los registros de un servicio backend específico
Para ver los registros de un balanceador de carga de red de paso a través externo de un servicio 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. Sustituye
PROJECT_ID
por el ID de tu proyecto yBACKEND_SERVICE_NAME
por el nombre de tu servicio 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 Realizar una consulta.
Ver los registros de un grupo de instancias de backend
Para ver los registros del balanceador de carga de red de paso a través externo 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. Sustituye
PROJECT_ID
por el ID de tu 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"
Haz clic en Realizar una consulta.
Campos de registro
Los registros de log contienen campos obligatorios, que son los campos predeterminados de todos los registros de log, y campos opcionales que añaden información adicional. Los campos opcionales se pueden omitir para ahorrar costes de almacenamiento.
Algunos campos de registro tienen un formato de varios campos, con más de un dato en un campo determinado. Por ejemplo, el campo connection
tiene el formato IpConnection
y contiene la dirección IP y el puerto de origen y de destino, además del protocolo, en un solo campo. Estos campos de varios campos se describen en la siguiente tabla de formato de registro.
El recurso monitorizado es loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.
Campo | Formato de campo | Tipo de campo: obligatorio u opcional | Descripción |
---|---|---|---|
conexión | IpConnection | Obligatorio | Tupla de 5 elementos que describe esta conexión. |
startTime | cadena | Obligatorio | Marca de tiempo (formato de cadena de fecha RFC 3339) del primer paquete observado durante el intervalo de tiempo agregado. |
endTime | cadena | Obligatorio | Marca de tiempo (formato de cadena de fecha RFC 3339) del último paquete observado durante el intervalo de tiempo agregado. |
bytesSent | int64 | Obligatorio | Número de bytes enviados del servidor al cliente. |
bytesReceived | int64 | Obligatorio | Número de bytes que el servidor ha recibido del cliente. |
packetsSent | int64 | Obligatorio | Número de paquetes enviados del servidor al cliente. |
packetsReceived | int64 | Obligatorio | Número de paquetes recibidos por el servidor del cliente. |
rtt | cadena | Obligatorio | La latencia solo se mide en las conexiones TCP. La latencia es la suma del tiempo de ida y vuelta (RTT) de la red estimado más el tiempo empleado en procesar el paquete en el sistema operativo del cliente. En el caso de los paquetes muestreados, el RTT se calcula desde la perspectiva de un backend con balanceo de carga. Para ello, se miden las diferencias de tiempo entre el momento en que el backend envía un segmento TCP y el momento en que recibe una confirmación TCP del número de secuencia del segmento enviado. La latencia se muestra como una cadena que empieza por el número de segundos y termina con "s" para indicar segundos. Los nanosegundos se expresan como fracciones de segundo. Por ejemplo, una latencia de 250 milisegundos se indica como "0.250000000s". |
serverInstance | InstanceDetails | Opcional | 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 del backend del servidor. Solo está disponible si el backend es un endpoint de GKE. |
networkTier | NetworkTierDetails | Opcional | Nivel de red para conexiones externas. Solo se rellena cuando el cliente no está enGoogle Cloud. |
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 |
Formato de campo InstanceDetails
Campo | Tipo | Descripción |
---|---|---|
projectId | cadena | ID del proyecto que contiene la VM |
vm | cadena | Nombre de instancia de la VM |
region [región] | cadena | Región de la VM |
zona | cadena | Zona de la VM |
vmIp | cadena | Dirección IPv4 interna principal de la interfaz de red que ha servido la conexión. |
Formato del campo GeographicDetails
Campo | Tipo | Descripción |
---|---|---|
continent | cadena | Nombre del continente |
regionCode | cadena | Un código de región CLDR de Unicode, como US o FR . En la mayoría de los países, estos códigos se corresponden directamente con los códigos ISO-3166-2. |
subRegion | cadena | 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 | cadena | 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 US-ASCII,
números, espacios y los siguientes caracteres: !#$%&'*+-.^_`|~ . |
asn | int32 | Número de sistema autónomo (ASN) de la red externa a la que pertenece este endpoint. |
Formato del campo GkeDetails
Campo | Tipo | Descripción |
---|---|---|
clúster | ClusterDetails | Metadatos del clúster de GKE |
pod | PodDetails | Metadatos de los pods de GKE, que se rellenan cuando el origen o el destino del tráfico es un pod |
servicio | ServiceDetails | Metadatos de servicio de GKE, rellenados solo en los endpoints de servicio. El registro contiene hasta dos servicios. Si hay más de dos servicios relevantes, este campo contiene un único servicio con un marcador especial MANY_SERVICES. |
Formato del campo ClusterDetails
Campo | Tipo | Descripción |
---|---|---|
clúster | cadena | Nombre del clúster de GKE |
clusterLocation | cadena | 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 | cadena | Nombre del pod |
podNamespace | cadena | Espacio de nombres del pod |
Formato del campo ServiceDetails
Campo | Tipo | Descripción |
---|---|---|
servicio | cadena | Nombre del servicio. Si hay más de dos servicios relevantes, el campo se define como el marcador especial MANY_SERVICES. |
serviceNamespace | cadena | Espacio de nombres del servicio |
Formato del campo NetworkTierDetails
Campo | Tipo | Descripción |
---|---|---|
networkTier | cadena | NetworkTier usado en la conexión, uno de los siguientes valores: [PREMIUM, STANDARD, FIXED_STANDARD, UNKNOWN]. |
Supervisión
Los balanceadores de carga de red de paso a través externos exportan métricas clave a Cloud Monitoring.
Las métricas de monitorización se pueden usar para lo siguiente:
- Evaluar la configuración, el uso y el rendimiento de un balanceador de carga
- Solucionar problemas
- Mejorar la utilización de recursos y la experiencia de usuario
Además de los paneles predefinidos de Monitoring, puedes crear paneles personalizados, configurar alertas y consultar las métricas a través de la API Monitoring.
Ver paneles de control de monitorización
Consola
En la Google Cloud consola, ve a la página Monitorización.
En el panel de navegación, selecciona Paneles.
Seleccione el panel de control Balanceadores de carga de Google Cloud. Se muestran todos los balanceadores de carga.
Selecciona el nombre del balanceador de carga en la lista de balanceadores de carga.
En el panel Detalles del balanceador de carga de red de paso a través externo, puede ver varios detalles del balanceador de carga seleccionado. En este panel se muestran las configuraciones actuales.
En el panel Métricas clave, puedes ver gráficos de cada métrica clave. Para ver desgloses específicos, haga clic en Desgloses. En este panel se muestran datos basados en configuraciones anteriores, mientras que en el panel Detalles del balanceador de carga de red de paso a través externo solo se muestran las configuraciones actuales. Para obtener más información, consulta Paneles de control y gráficos.
Definir paneles de control personalizados de monitorización
Puede crear paneles de control de Monitoring personalizados con métricas de balanceadores de carga de red de paso a través externos.
Consulta la lista de métricas y tipos de recursos para ver las métricas recogidas. Consulta la sección Filtros para ver las listas de atributos que puedes usar para filtrar los resultados.
Consola
En la Google Cloud consola, ve a la página Monitorización.
Selecciona Paneles > Crear panel.
Haz clic en Añadir gráfico.
Ponle un título al gráfico.
Seleccione métricas y filtros.
Para encontrar métricas de balanceadores de carga de red de paso a través externos, busca el prefijo
loadbalancing.googleapis.com/l3/external
.Haz clic en Guardar.
Definir alertas de Monitoring
Puede definir alertas de Monitoring en varias métricas de balanceadores de carga de red de paso a través externos:
Consola
En la Google Cloud consola, ve a la página Monitorización.
Selecciona Alertas > Crear una política.
Seleccione tipos de recursos y métricas.
Para encontrar los tipos de recursos y las métricas de los balanceadores de carga de red de paso a través externos, busca
loadbalancing.googleapis.com/l3/external
en el campo Buscar tipo de recurso y métrica.Especifica una configuración para definir cuándo se debe activar una alerta.
Añade Filtros si es necesario.
Haz clic en Guardar.
Frecuencia de los informes de métricas y retención
Las métricas de los balanceadores de carga de red de paso a través externos se exportan a Monitoring en lotes con una granularidad de un minuto. Los datos de monitorización 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). El panel de control ofrece 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). Puede solicitar manualmente un análisis en cualquier intervalo de entre seis semanas y sesenta segundos.
Métricas y tipos de recursos
En esta sección se describen las métricas y los tipos de recursos de los balanceadores de carga de red de paso a través externos.
Métricas
Las siguientes métricas de los balanceadores de carga de red de paso a través externos se registran en Monitoring. Puede usar estos nombres de métricas al hacer solicitudes a la API.
metric_name | Tipo | Descripción |
---|---|---|
loadbalancing.googleapis.com/l3/external/ingress_bytes_count |
contador | Número de bytes enviados desde un cliente a un backend de un balanceador de carga de red de paso a través externo. En el caso de los flujos TCP, solo se contabilizan los bytes del flujo de la aplicación. |
loadbalancing.googleapis.com/l3/external/ingress_packets_count |
contador | Número de paquetes enviados desde un cliente a un backend de un balanceador de carga de red de paso a través externo. |
loadbalancing.googleapis.com/l3/external/egress_bytes_count |
contador | Número de bytes enviados desde un backend de un balanceador de carga de red de paso a través externo a un cliente. En el caso de los flujos TCP, solo se contabilizan los bytes del flujo de la aplicación. |
loadbalancing.googleapis.com/l3/external/egress_packets_count |
contador | Número de paquetes enviados desde un backend de balanceador de carga de red de paso a través externo a un cliente. |
loadbalancing.googleapis.com/l3/external/rtt_latencies |
distribución | Distribución del tiempo de ida y vuelta medido en conexiones TCP para flujos de balanceadores de carga de red de paso a través externos. Solo está disponible para el tráfico TCP. |
Tipos de recursos
Los balanceadores de carga de red de paso a través externos usan los siguientes tipos de recursos:
tcp_lb_rule
udp_lb_rule
loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
Un balanceador de carga de red de paso a través externo puede admitir tráfico TCP, UDP, ESP, GRE, ICMP e ICMPv6.
Puede especificar el tipo de recurso como
tcp_lb_rule
o
udp_lb_rule
para limitar los datos monitorizados a los protocolos TCP o UDP.
Puedes especificar el tipo de recurso como loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
para monitorizar todos los protocolos admitidos, incluidos los protocolos TCP, UDP, ESP, GRE, ICMP e ICMPv6.
Filtros
Las métricas se agregan para cada balanceador de carga de red de paso a través externo. Puede filtrar las métricas agregadas por las siguientes dimensiones.
Etiquetas de recursos de tcp_lb_rule
o udp_lb_rule
Puedes restringir tu consulta por recurso. También puedes agrupar los resultados por estos valores.
resource.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descripción |
---|---|---|
project |
cadena | Identificador del proyecto asociado a este recurso. Google Cloud |
load_balancer_name |
cadena | Nombre del balanceador de carga. |
region |
cadena | La región
en la que se encuentra el backend del balanceador de carga. Por ejemplo,
us-central1 , europe-west1 ,
asia-east1 . |
network_name |
cadena | La red de VPC en la que reside el backend del balanceador de carga. |
backend_target_type |
cadena | Indica si el balanceador de carga de red de paso a través externo se basa en un grupo de destino o en un servicio de backend. Los valores válidos son BACKEND_SERVICE y TARGET_POOL . |
backend_target_name |
cadena | En el caso de los balanceadores de carga de red de paso a través externos basados en grupos de destino, el nombre del grupo de destino. En el caso de los balanceadores de carga de red de paso a través externos basados en el servicio de backend, el nombre del servicio de backend. |
forwarding_rule_name |
cadena | Nombre de la regla de reenvío. |
forwarding_rule_network_tier |
cadena | El nivel de red de la regla de reenvío. |
backend_name |
cadena | Nombre del backend que ha gestionado la conexión. En el caso de un balanceador de carga de red de paso a través externo basado en un servicio de backend, el valor es el nombre del grupo de instancias de backend o del grupo de puntos finales de red (NEG) que ha gestionado la conexión. En el caso de un balanceador de carga de red de paso a través externo basado en un grupo de destino, el valor es el nombre del grupo de destino. |
backend_type |
cadena | El tipo de backend que ha gestionado la conexión. En el caso de un balanceador de carga de red de paso a través externo basado en un servicio de backend, el valor puede ser En el caso de un balanceador de carga de red de paso a través externo basado en un grupo de destino, el valor es |
backend_scope |
cadena | En el caso de un balanceador de carga de red de paso a través externo basado en un servicio de backend, la zona o la región del grupo de instancias o del NEG de backend. En el caso de un balanceador de carga de red basado en un grupo de destino, el valor es |
backend_scope_type |
cadena | El tipo de ámbito del grupo de backend que ha gestionado la conexión. Los valores válidos son En el caso de un balanceador de carga de red basado en un grupo de destino, el valor es |
backend_failover_configuration |
cadena | La configuración de conmutación por error del grupo de backend que ha gestionado la conexión. Los valores válidos son PRIMARY , BACKUP o UNKNOWN . |
backend_subnetwork_name |
cadena | Nombre de la subred del backend que ha recibido la conexión. |
endpoint_zone |
cadena | La zona de la VM de backend que ha gestionado la conexión. |
Etiquetas de recursos de loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
Puedes restringir tu consulta por recurso. También puedes agrupar los resultados por estos valores.
resource.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descripción |
---|---|---|
project |
cadena | Identificador del proyecto asociado a este recurso. Google Cloud |
region |
cadena | La región
en la que se encuentra el backend del balanceador de carga. Por ejemplo:
us-central1 , europe-west1 ,
asia-east1 . |
backend_network_name |
cadena | La red de VPC en la que reside el backend del balanceador de carga. |
backend_target_type |
cadena | El tipo de destino backend que ha gestionado la conexión. Los valores válidos son BACKEND_SERVICE y TARGET_POOL . |
backend_service_name |
cadena | Nombre del servicio backend que ha gestionado la conexión. Si backend_target_type es TARGET_POOL , el valor es UNSUPPORTED_FOR_TARGET_POOL . |
primary_target_pool |
cadena | El nombre del grupo de destino principal. Si backend_target_type es BACKEND_SERVICE , el valor es UNSUPPORTED_FOR_BACKEND_SERVICE . |
target_pool |
cadena | Nombre del grupo de destino. Si backend_target_type es BACKEND_SERVICE , el valor es UNSUPPORTED_FOR_BACKEND_SERVICE . |
forwarding_rule_name |
cadena | Nombre de la regla de reenvío del balanceador de carga de red de paso a través externo. |
backend_group_name |
cadena | Nombre del grupo de backend que ha gestionado la conexión.
Si backend_target_type es TARGET_POOL , el valor es UNSUPPORTED_FOR_TARGET_POOL . |
backend_group_type |
cadena | El tipo de grupo de backend que ha gestionado la conexión. Si Si |
backend_group_scope |
cadena | El ámbito del grupo de backend (nombre de la zona o región) que ha gestionado la conexión. Si backend_target_type es TARGET_POOL ,
el valor es UNSUPPORTED_FOR_TARGET_POOL . |
backend_subnetwork_name |
cadena | Nombre de la subred del backend que ha recibido la conexión. |
backend_zone |
cadena | La zona de la VM de backend que ha gestionado la conexión. |
Etiquetas de métricas
Puedes restringir tu consulta por etiqueta de métrica. También puedes agrupar los resultados por estos valores.
metric.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descripción |
---|---|---|
client_country |
cadena | El país del cliente que ha iniciado la conexión con el balanceador de carga de red de paso a través externo. |
client_continent |
cadena | El continente del cliente que ha iniciado la conexión con el balanceador de carga de red de paso a través externo. |
protocol |
cadena | El protocolo de la conexión del recurso Este campo se deja en blanco en el caso de los recursos |
Monitorizar solicitudes a la API
Puedes crear consultas arbitrarias sobre métricas de balanceadores de carga de red de paso a través externos mediante la solicitud projects.timeSeries.list de la versión 3 de la API Monitoring. La estructura exacta de las distintas definiciones sigue la semántica genérica de los filtros de monitorización.
Solicitudes de ejemplo a la API
Obtiene todos los bytes enviados desde todos los balanceadores de carga de red de paso a través externos del proyecto entre las 12:00 y las 12:02 (UTC) del 1 de julio del 2019 con agregaciones de 1 minuto.
Parámetros de timeSeries.list:
- name: projects/
PROJECT_ID
- Filtro:
resource.type = "tcp_lb_rule"
Ymetric.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 la medición de la mediana del RTT de todos los balanceadores de carga de red de paso a través externos del proyecto entre las 12:19 y las 12:20 (UTC) del 1 de julio del 2019, desglosada por país del cliente.
Parámetros de timeSeries.list:
- name: projects/
PROJECT_ID
- Filtro:
resource.type = "tcp_lb_rule"
Ymetric.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/
Obtener el total de bytes de un balanceador de carga de red con paso a través externo específico entre las 12:19 y las 12:20 (UTC) del 1 de julio del 2019, desglosado por zona de endpoint y continente del cliente.
Parámetros de timeSeries.list:
- name: projects/
PROJECT_ID
- Filtro:
resource.type = "tcp_lb_rule"
Yresource.label.load_balancer_name = "netlb-bs-1"
Ymetric.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/
Siguientes pasos
- Consulta la información conceptual sobre los balanceadores de carga de red de paso a través externos.
- Configurar un balanceador de carga de red de paso a través externo
- Consulta información sobre las métricas, las series temporales y los recursos de Monitoring.
- Consulta información sobre las reglas de reenvío.
- Consulta información sobre cómo solucionar problemas de registro.