En este documento, se describe cómo crear una verificación de tiempo de actividad pública. Una verificación de tiempo de actividad pública puede emitir solicitudes desde varias ubicaciones en todo el mundo a URL disponibles de forma pública o recursos de Google Cloud para ver si el recurso responde. Si quieres obtener información sobre cómo crear verificaciones de tiempo de actividad para redes privadas, consulta Crea verificaciones de tiempo de actividad privadas.
Las verificaciones de tiempo de actividad públicas pueden determinar la disponibilidad de los siguientes recursos supervisados:- URL de verificación de tiempo de actividad
- Instancia de VM
- Aplicación de App Engine
- Servicio de Kubernetes
- Instancia de Amazon Elastic Compute Cloud (EC2)
- Balanceador de cargas de Amazon Elastic
- Revisión de Cloud Run
Para obtener vínculos a información sobre cómo administrar y supervisar tus verificaciones de tiempo de actividad, consulta la sección Próximos pasos de este documento.
Acerca de las verificaciones de tiempo de actividad
Para HTTP y HTTPS, se siguen todos los redireccionamientos de URL, y la respuesta final que recibe la verificación de tiempo de actividad se usa para evaluar cualquier criterio de éxito. Para las verificaciones de HTTPS, el hora de vencimiento del certificado SSL se calcula en función del certificado de servidor que se recibió en la respuesta final.
Para que una verificación de tiempo de actividad tenga éxito, se deben cumplir las siguientes condiciones:
- El estado HTTP debe coincidir con los criterios que especifiques.
- Los datos de respuesta no tienen contenido obligatorio o el contenido obligatorio está presente.
Las verificaciones de tiempo de actividad no cargan elementos de la página ni ejecutan JavaScript. Además, la configuración predeterminada de una verificación de tiempo de actividad no incluye la autenticación.
Antes de comenzar
-
A fin de obtener los permisos que necesitas para crear verificaciones de tiempo de actividad, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
-
Editor de Monitoring (
roles/monitoring.editor
): Usuarios de la consola de Google Cloud -
Editor de configuración de verificaciones de tiempo de actividad de Monitoring (
roles/monitoring.uptimeCheckConfigEditor
): usuarios de la API -
Editor de política de alertas de Monitoring (
roles/monitoring.alertPolicyEditor
): Usuarios de la API -
Editor de canal de notificaciones de Monitoring (
roles/monitoring.notificationChannelEditor
): usuarios de la API
Si quieres obtener más información para otorgar roles, consulta Administra el acceso.
Es posible que también puedas obtener los permisos necesarios mediante funciones personalizadas, o bien otras funciones predefinidas.
-
Editor de Monitoring (
Verifica que el recurso que quieres verificar tenga un extremo público o esté detrás de un firewall configurable.
Para todas las demás opciones de configuración, debes crear una verificación de tiempo de actividad privada. Para obtener más información, consulta Crea verificaciones de tiempo de actividad privadas.
Cuando tu recurso esté detrás de un firewall, configúralo para permitir el tráfico entrante de las direcciones IP de los servidores de verificación de tiempo de actividad. Para obtener más información, consulta Enumera las direcciones IP del servidor con verificación de tiempo de actividad.
Configura los canales de notificaciones que deseas usar para recibir alertas. Te recomendamos que crees varios tipos de canales de notificaciones. Para obtener más información, consulta Cómo crear y administrar canales de notificaciones.
Identifica al menos tres verificadores para tu verificación de tiempo de actividad. La región de verificación de tiempo de actividad
USA
incluye las regionesUSA_OREGON
,USA_IOWA
yUSA_VIRGINIA
. Cada una de las regionesUSA_*
tiene un verificador, yUSA
incluye las tres. Las otras regiones de verificación de tiempo de actividad,EUROPE
,SOUTH_AMERICA
yASIA_PACIFIC
, tienen un verificador.Si seleccionas Global cuando usas la consola de Google Cloud o
REGION_UNSPECIFIED
cuando usas la API, las verificaciones de tiempo de actividad se emiten desde todas las regiones de verificación de tiempo de actividad.
Crea una verificación de tiempo de actividad
En esta sección, se explica cómo crear y configurar verificaciones de tiempo de actividad.
A fin de crear una verificación de tiempo de actividad para un balanceador de cargas externo que tenga configurado al menos un puerto TCP o HTTP/s, puedes seguir estas instrucciones. Una alternativa es ir a la página Detalles del servicio del servicio y, luego, hacer clic en Crear una verificación de tiempo de actividad. Cuando comienzas desde la página Detalles del servicio, los campos específicos del servicio se propagan previamente.
Consola
Para crear una verificación de tiempo de actividad con la consola de Google Cloud, sigue estos pasos:
-
En la consola de Google Cloud, selecciona Monitoring y, luego, selecciona
Verificaciones de tiempo de actividad o haz clic en el siguiente botón:
Haga clic en Crear una verificación de tiempo de actividad.
Especifica el destino de la verificación de tiempo de actividad:
Selecciona el protocolo. Puedes seleccionar HTTP, HTTPS o TCP.
Elige uno de los siguientes tipos de recursos:
- URL: cualquier dirección IPv4 o nombre de host. La ruta de acceso y el puerto se ingresan por separado.
- Servicio LoadBalancer de Kubernetes: Servicio de Kubernetes de tipo LoadBalancer.
- Instancia: instancias de Compute Engine o AWS EC2.
- App Engine: Aplicaciones de App Engine (módulos).
- Elastic Load Balancer: Balanceador de cargas AWS.
Ingresa los campos específicos del protocolo:
Ingresa el puerto para las verificaciones de TCP.
Para las verificaciones de HTTP y HTTPS, puedes ingresar una ruta de acceso dentro de tu host o recurso. Todas las verificaciones de tiempo de actividad que usan estos protocolos envían una solicitud a
http://target/path
. En esta expresión, para un recurso de URL,target
es un nombre de host o una dirección IP. Para un recurso de App Engine,target
es un nombre de host derivado del nombre de servicio. Para recursos de instancias y balanceadores de cargas,target
es una dirección IP derivada del nombre que proporcionaste para el recurso o el grupo de recursos.Si dejas el campo
path
en blanco o si estableces el valor en/
, la solicitud se emitirá enhttp://target/
.Por ejemplo, para emitir una verificación de tiempo de actividad al recurso de URL
example.com/tester
, establece el campo Nombre de host enexample.com
y el campo Ruta en/tester
.Supongamos que implementaste un servidor en App Engine con un despachador que admite
/
y/hello
. Para emitir la verificación de tiempo de actividad al controlador "/", deja el campo Path vacío. Para emitir la verificación de tiempo de actividad al controlador/hello
, establece el valor del campo Path en/hello
.
Ingresa los campos específicos de los recursos:
Para los recursos URL, ingresa el nombre de host en el campo Nombre de host. Por ejemplo, ingresa
example.com
.En el caso de los recursos de App Engine, ingresa el nombre del servicio en el campo Servicio.
En los recursos Instancia y Elastic Load Balancer, completa el campo Se aplica a de la siguiente manera:
- A fin de emitir una verificación de tiempo de actividad a una sola instancia o balanceador de cargas, selecciona Único y, luego, usa el menú para seleccionar la instancia o el balanceador de cargas específico.
- Para emitir una verificación de tiempo de actividad a un grupo de Monitoring, selecciona Grupo y, luego, usa el menú para seleccionar el nombre del grupo.
Opcional: Para establecer la frecuencia con la que se ejecuta la verificación de tiempo de actividad, usa el campo Verificar frecuencia.
Opcional: Si quieres seleccionar regiones de verificador o configurar certificados SSL, autenticación, encabezados y puertos para las verificaciones de HTTP y HTTPS, haz clic en Más opciones de destino:
- Regiones: selecciona las regiones en las que las verificaciones de tiempo de actividad son para recibir solicitudes. Una verificación de tiempo de actividad debe tener al menos tres verificadores. Hay un verificador en todas las regiones, excepto en Estados Unidos, que tiene tres verificadores. La configuración predeterminada, Global, incluye todas las regiones.
- Pings de ICMP: Configura la verificación de tiempo de actividad para enviar hasta tres pings. Para obtener más información, consulta Cómo utilizar pings ICMP.
- Método de solicitud: Para las verificaciones de HTTP, selecciona el método de solicitud.
- Cuerpo: Para las verificaciones de HTTP POST, ingresa el cuerpo de la URL codificado. Debes realizar la codificación tú mismo. Para todas las demás verificaciones, deja este campo vacío.
- Encabezado del host: Completa este campo para verificar los hosts virtuales. Este campo no está disponible para verificaciones TCP.
- Puerto: especifica un número de puerto.
Encabezados personalizados: proporciona encabezados personalizados y encríptalos si lo deseas. La encriptación oculta los valores del encabezado del formulario. Usa la encriptación para los encabezados relacionados con la autenticación que no quieres que otros vean.
Autenticación: Proporciona un nombre de usuario y contraseña únicos. Estos valores se envían como un encabezado de autorización. Si estableces valores aquí, no establezcas un encabezado de autorización por separado; si estableces un encabezado de autorización, no establezcas valores aquí. Las contraseñas siempre están ocultas en el formulario. Este campo no está disponible para verificaciones TCP.
Validación del certificado SSL: Si seleccionaste HTTPS para un recurso de URL, de forma predeterminada, el servicio intenta conectarse a través de HTTPS y validar el certificado SSL. Las verificaciones de tiempo de actividad fallan cuando una URL tiene un certificado no válido. A continuación, se indican algunos de los motivos por los que se puede obtener un certificado no válido:
- Un certificado vencido
- Un certificado autofirmado
- Un certificado con un nombre de dominio que no coincide
- Un certificado que use la extensión de acceso a la información de la autoridad (AIA).
Para forzar una verificación de tiempo de actividad de HTTPS a fin de validar el certificado SSL, selecciona Validar certificados SSL.
Para inhabilitar la validación de certificados SSL, desmarca Validar certificados SSL.
Si tienes certificados SSL con extensiones AIA, debes inhabilitar la validación de certificados SSL. Estos tipos de certificados no son compatibles y fallan en la secuencia de validación. En general, el mensaje de error es “Respuesta con error de protocolo de enlace SSL en 10,000 ms”.
Puedes usar la métrica
monitoring.googleapis.com/uptime_check/time_until_ssl_cert_expires
para crear una alerta que te notifique antes de que venza tu certificado. Para obtener más información, consulta Políticas de muestra: política de verificación de tiempo de actividad.Selecciona la casilla de verificación Validar certificados SSL.
Haz clic en Continuar y configura los requisitos de respuesta. Todos los parámetros de configuración de esta sección tienen valores predeterminados:
Para cambiar el tiempo de espera de la verificación de tiempo de actividad, usa el campo Tiempo de espera de respuesta. Una verificación de tiempo de actividad falla cuando no se recibe ninguna respuesta de más de una ubicación dentro de este período.
Para configurar la verificación del tiempo de actividad a fin de realizar la coincidencia de contenido, asegúrate de que la etiqueta de activación sea La coincidencia de contenido está habilitada:
- Selecciona Response Content Match Type en el menú de opciones.
Este campo determina cómo se compara el contenido de la respuesta con los datos que se muestran. Por ejemplo, supongamos que el contenido de la respuesta es
abcd
y el tipo de concordancia de contenido es Contiene. La verificación de tiempo de actividad solo es exitosa cuando los datos de respuesta contienenabcd
. Para obtener más información, consulta Valida los datos de respuesta. - Ingresa el Contenido de la respuesta. El contenido de la respuesta debe ser una string de hasta 1,024 bytes. En la API, este campo es el objeto
ContentMatcher
.
- Selecciona Response Content Match Type en el menú de opciones.
Este campo determina cómo se compara el contenido de la respuesta con los datos que se muestran. Por ejemplo, supongamos que el contenido de la respuesta es
Para evitar que se creen entradas de registro debido a verificaciones de tiempo de actividad, borra la opción Fallas de verificación de registros.
Para las verificaciones de tiempo de actividad de HTTP, configura los códigos de respuesta aceptables. De forma predeterminada, las verificaciones de tiempo de actividad de HTTP marcan cualquier respuesta
2xx
como una respuesta exitosa.
Haz clic en Continuar y configura las alertas y notificaciones.
Si deseas recibir notificaciones cuando una verificación de tiempo de actividad falle, crea una política de alertas y configura los canales de notificaciones para esa política:
- Opcional: Actualiza el nombre de la política de alertas.
- Opcional: En el campo Duración, selecciona por cuánto tiempo deben fallar las verificaciones de tiempo de actividad antes de que se envíen las notificaciones. De forma predeterminada, las notificaciones se envían cuando al menos dos regiones informan fallas en las verificaciones de tiempo de actividad durante un período de al menos un minuto.
En el cuadro Canales de notificaciones, haz clic en Menú arrow_drop_down, selecciona los canales que quieres agregar y, luego, haz clic en Aceptar.
En el menú, los canales de notificaciones se agrupan alfabéticamente para cada tipo de canal.
Si no deseas crear una política de alertas, asegúrate de que el texto del botón de activación sea No crear una alerta.
Haz clic en Continuar y completa la verificación de tiempo de actividad:
Ingresa un título descriptivo para la verificación de tiempo de actividad.
Opcional: Para agregar etiquetas definidas por el usuario a tu verificación de tiempo de actividad, haz lo siguiente:
- Haz clic en expand_more Mostrar etiquetas de usuario.
- En el campo Clave, ingresa un nombre para la etiqueta.
Los nombres de las etiquetas deben comenzar con una letra minúscula y pueden contener letras en minúscula, números, guiones bajos y guiones. Por ejemplo, ingresa
severity
. - En el campo Valor, ingresa un valor para tu etiqueta. Los valores de etiqueta pueden contener letras minúsculas, números, guiones bajos y guiones. Por ejemplo, ingresa
critical
. - Para cada etiqueta adicional, haz clic en Agregar etiqueta de usuario y, luego, ingresa la clave y el valor de la etiqueta.
Para verificar la configuración de verificación de tiempo de actividad, haz clic en Probar (Test). Si el resultado no es el esperado, consulta Verifica fallas, corrige tu configuración y repite el paso de verificación.
Haz clic en Crear. Si seleccionas Crear y no se propaga un campo obligatorio, aparecerá un mensaje de error.
API
Realiza una llamada al método projects.uptimeCheckConfigs.create
. Configura los parámetros del método de la siguiente manera:
parent: Obligatorio. Este debe ser el nombre del proyecto en el que se creará la verificación de tiempo de actividad. Reemplaza
PROJECT_ID
por tu ID del proyecto de Google Cloud. El formato es:projects/PROJECT_ID
El cuerpo de la solicitud debe contener un objeto de
UptimeCheckConfig
para la verificación de tiempo de actividad nueva. En esta página, se proporciona información sobre algunos campos. Para obtener la documentación completa sobre este objeto y sus campos, consultaUptimeCheckConfig
:Deja en blanco el campo
name
del objeto de configuración. El sistema establece este campo cuando se construye el objeto de configuración de respuesta.Si configuras una verificación HTTP o HTTPS, debes propagar el campo
HttpCheck
del objetoUptimeCheckConfig
. En este objeto, configura el camporequestMethod
comoGET
oPOST
. Si este campo se omite o se establece enMETHOD_UNSPECIFIED
, se emite una solicitudGET
.Si configuras una solicitud
POST
, completa los camposcontentType
,customContentType
opcionales ybody
.
El método create
muestra el objeto UptimeCheckConfig
para la nueva configuración.
Si la configuración de tiempo de actividad creada no funciona como se espera, consulta la sección Verifica fallas en esta página.
C#
Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Puede haber un retraso de hasta 5 minutos antes de que comience el flujo de los resultados de la verificación de tiempo de actividad en Monitoring. Durante ese tiempo, el panel de verificación de tiempo de actividad informa el estado como "sin datos disponibles".
Cómo usar pings ICMP
A fin de ayudarte a solucionar problemas de verificaciones de tiempo de actividad públicas con errores, puedes configurar tus verificaciones de tiempo de actividad para enviar hasta 3 pings ICMP durante la verificación. Los pings pueden ayudarte a distinguir entre fallas causadas, por ejemplo, por problemas de conectividad de red y tiempos de espera en tu aplicación.
De forma predeterminada, las verificaciones de tiempo de actividad no envían pings. Cada ping agrega latencia a la verificación de tiempo de actividad. Las verificaciones de tiempo de actividad privadas no pueden enviar pings.
Cuando falla una verificación de tiempo de actividad pública, los resultados de los pings se escriben en los registros de Cloud Logging. Si el ping falla, los siguientes campos se agregan al campo httpRequest
en la entrada de registro:
rtt_usec
: Tiempo de ida y vuelta para cada solicitud de ping no exitosa.unreachable_count
: La cantidad de solicitudes de ping que mostraron el código de estadoICMP_DEST_UNREACH
.no_answer_count
: Es la cantidad de solicitudes de ping que agotaron el tiempo de espera y no mostraron ninguna respuesta.
Los resultados de los pings de las verificaciones de tiempo de actividad correctas no se registran.
Configurar pings
Cada configuración de verificación de tiempo de actividad incluye un objeto HttpCheck
o un objeto TcpCheck
.
Ambos objetos incluyen un campo pingConfig
.
Usa este campo para especificar la cantidad de pings ICMP que se deben incluir con cada verificación, hasta 3. De forma predeterminada, no se envían pings.
Para configurar pings, realiza una de las siguientes acciones:
Cuando uses la consola de Google Cloud, expande Más opciones de destino y, luego, ingresa un valor en el campo Pings de ICMP.
Cuando uses la API de Cloud Monitoring, usa el objeto
PingConfig
, que tiene la siguiente estructura:{ "pingsCount": integer }
Si quieres obtener más información sobre el uso de la API de Monitoring para la configuración de la verificación de tiempo de actividad, consulta Crea una verificación de tiempo de actividad: API o Edita una verificación de tiempo de actividad: API.
Verifica tu tiempo de actividad
Cuando creas una verificación de tiempo de actividad en la consola de Google Cloud, puedes probar la configuración antes de guardarla.
Verificaciones exitosas
Una verificación de tiempo de actividad es correcta cuando se cumplen las siguientes condiciones:
- El estado HTTP coincide con los criterios que seleccionaste.
- La respuesta no tiene contenido obligatorio o, una búsqueda de la respuesta para el contenido obligatorio es correcto.
Verificaciones fallidas
Las siguientes son algunas de las posibles causas de una falla en la verificación del tiempo de actividad:
- Error de conexión: rechazado: si utilizas el tipo de conexión HTTP predeterminado, verifica que tengas instalado un servidor web que responda a las solicitudes HTTP. Puede ocurrir un error de conexión en una instancia nueva si no instalaste un servidor web; consulta la Guía de inicio rápido para Compute Engine. Si usas un tipo de conexión HTTPS, es posible que debas realizar pasos de configuración adicionales. Para problemas de firewall, consulta Enumera las direcciones IP del servidor con verificación de tiempo de actividad.
- Nombre o servicio no encontrado: El nombre de host puede ser incorrecto.
- 403 Prohibido: El servicio muestra un código de error al verificador de tiempo de actividad. Por ejemplo, la configuración predeterminada de Apache Web Server muestra este código en Amazon Linux, pero aparece el código 200 (Success) en algunas otras versiones de Linux. Consulta el instructivo de LAMP para Amazon Linux o la documentación de tu servidor web.
- 404 No encontrado: La ruta de acceso podría ser incorrecta.
- 408 Tiempo de espera de solicitud o no hay respuesta: El número de puerto puede ser incorrecto, el servicio puede no estar ejecutándose, el servicio puede ser inaccesible o el tiempo de espera puede ser demasiado bajo. Comprueba que tu firewall permita el tráfico de los servidores de tiempo de actividad. Consulta Enumerar las direcciones IP de los servidores de verificación de tiempo de actividad. El límite de tiempo de espera se especifica como parte de las opciones de Validación de respuesta.
Si tu verificación de tiempo de actividad está configurada para enviar pings, los resultados de pings de las verificaciones de tiempo de actividad con errores se escriben en Cloud Logging. Para obtener más información, consulta Cómo usar pings ICMP.
¿Qué sigue?
- Administra verificaciones de tiempo de actividad
- Crea alertas para las verificaciones de tiempo de actividad
- Enumera las direcciones IP del servidor para la verificación de tiempo de actividad
- Gráfico de las métricas de verificación de tiempo de actividad
- Precios y límites