Soluciona problemas de monitores sintéticos y verificaciones de tiempo de actividad

En este documento, se proporciona información para encontrar datos de registro solucionar problemas de monitores sintéticos y fallas de las verificaciones de tiempo de actividad:

Cómo buscar registros

En esta sección, se proporciona información sobre cómo encontrar registros de tu monitores sintéticos y verificaciones de tiempo de actividad:

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Sigue uno de estos pasos:

    • Para encontrar todos los registros asociados con tus monitores sintéticos o verificaciones de tiempo de actividad, realiza una consulta por tipo de recurso. Puedes usar el menú Recurso o ingresa una consulta.

      Para las verificaciones de tiempo de actividad, en el menú Recurso, selecciona URL de verificación de tiempo de actividad o ingresa la siguiente consulta en el editor de consultas y, luego, haz clic en Ejecutar consulta:

      resource.type="uptime_url"
      

      Para los monitores sintéticos, en el menú Recurso, selecciona Revisión de Cloud Run o ingresa la siguiente consulta en el editor de consultas y, luego, haz clic en Ejecutar consulta:

      resource.type="cloud_run_revision"
      
    • Los registros de búsqueda que contienen información sobre la respuesta recibida durante un monitor sintético o la ejecución de una verificación de tiempo de actividad, haz cualquiera de las lo siguiente:

      • Para realizar consultas con el ID del monitor sintético o la verificación de tiempo de actividad, usa el siguiente formato cuando ingreses el ID en el editor de consultas Luego, haz clic en Ejecutar consulta.

        labels.check_id="my-check-id"
        
      • Consulta los registros que contienen datos de respuesta a las solicitudes emitidos por monitores sintéticos y verificaciones de tiempo de actividad, ingresa siguiente consulta en el editor de consultas y, luego, haz clic en Ejecutar consulta

        "UptimeCheckResult"
        

        La consulta anterior coincide con todas las entradas de registro que incluyen la cadena "UptimeCheckResult".

      Estos registros incluyen lo siguiente:

      • El ID del monitor sintético o de la verificación de tiempo de actividad, que se almacena en el campo labels.check_id

      • En el caso de los supervisores sintéticos, el nombre de tu función de Cloud Run, que se almacena en el campo resource.labels.service_name.

      • Cuando se recopilan datos de seguimiento, el ID de un seguimiento asociado, que se almacena en el campo trace.

    • Cómo verificar que tu servicio recibió solicitudes desde los servidores de Google Cloud, copia la siguiente consulta en Editor de consultas y, luego, haz clic en Ejecutar consulta:

      "GoogleStackdriverMonitoring-UptimeChecks"
      

      El campo protoPayload.ip contiene una de las direcciones utilizadas por de verificaciones de tiempo de actividad. Para obtener información sobre cómo enumerar todas las IP externas, consulta Enumera direcciones IP.

Cómo solucionar problemas con las notificaciones

En esta sección, se describen algunos errores que podrían surgir durante la configuración y brinda información para resolverlos.

Un verificador falló, pero otros no

Estás revisando tus métricas de verificación de tiempo de actividad y te das cuenta de que El verificador informó un error cuando todos los demás verificadores informaron que la operación fue exitosa.

No se requiere ninguna acción para resolver esta situación.

Cuando solo un verificador informa una falla, esa falla puede ser el resultado de la el tiempo de espera del comando de verificación debido a un problema en la red. Es decir, en lugar de que el comando falle, no se completa dentro del tiempo de espera especificado.

Las políticas de alertas que usan la configuración predeterminada requieren fallas de al menos dos verificadores antes de crear un incidente y enviar una notificación. Las fallas informadas por un solo verificador no generan una notificación.

Recibiste una notificación y quieres depurar el error

  1. Para identificar cuándo comenzó la falla, realiza una de las siguientes acciones:

    • En las verificaciones de tiempo de actividad, para determinar cuándo ocurrió el error, consulta la página Detalles del tiempo de actividad:

      1. En la consola de Google Cloud, ve a la página  Verificaciones de tiempo de actividad:

        Ve a Verificaciones de tiempo de actividad

        Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

      2. Busca y selecciona la verificación de tiempo de actividad.

        En el gráfico Verificaciones aprobadas, se muestra el historial de las verificaciones. Para identificar cuándo falló la verificación de tiempo de actividad, es posible que debas modificar el intervalo de tiempo del gráfico. El selector de intervalo de tiempo es ubicado en la barra de herramientas de la página Detalles del tiempo de actividad.

    • En el caso de los monitores sintéticos, para determinar cuándo ocurrió la falla, consulta la página Detalles del tiempo de actividad:

      1. En la consola de Google Cloud, ve a  Supervisión sintética:

        Ir a Supervisión sintética

        Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

      2. Busca y selecciona el monitor sintético.
  2. Para obtener información sobre cómo encontrar datos de registro asociados, consulta la sección de esta página, titulada Búsqueda de registros.

No se te notifica que falló una verificación de tiempo de actividad

Configuraste una verificación de tiempo de actividad y estás viendo la página Detalles de tiempo de actividad de que verifiquen. Notas que el gráfico Verificaciones aprobadas muestra que al menos una Se produjo un error durante el verificador. Sin embargo, no recibiste ninguna notificación.

De forma predeterminada, la política de alertas está configurada para crear un incidente una notificación cuando los verificadores de al menos dos regiones no reciben una respuesta a una verificación de tiempo de actividad. Estas fallas deben ocurrir de forma simultánea.

Puedes editar la condición de la política de alertas para recibir notificaciones cuando una región no recibe una respuesta. Sin embargo, te recomendamos usar la configuración predeterminada, lo que reduce la cantidad de notificaciones que que podrías recibir debido a fallas transitorias.

Para ver o editar una política de alertas, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página  Alertas.

    Ir a las Alertas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Haz clic en Ver todas las políticas en el panel Políticas.
  3. Busca la política que deseas ver o editar y, a continuación, haz clic en nombre de la política.

    Puedes ver y editar la política desde la página Detalles de la política.

Soluciona problemas de verificaciones de tiempo de actividad públicas

En esta sección, se describen algunos errores que pueden surgir al usar de tiempo de actividad públicas y brinda información para resolverlos.

Tus verificaciones de tiempo de actividad públicas fallan

Configuras una verificación de tiempo de actividad pública, pero recibes un error cuando realice el paso de verificación.

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 has instalado 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 de los servidores de 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, no se puede acceder al servicio o el tiempo de espera puede ser demasiado bajo. Verifica que tu firewall permita el tráfico de los servidores de tiempo de actividad. Consulta Lista de direcciones IP de los servidores de verificación de tiempo de actividad. El límite de tiempo de espera se especifica como parte de la Validación de respuestas opciones de estado.

Para solucionar problemas en las verificaciones de tiempo de actividad públicas con errores, tus verificaciones de tiempo de actividad para enviar hasta 3 Pings de ICMP durante la verificación Los pings pueden ayudarte a distinguir entre fallas causadas, por ejemplo, por problemas de conectividad de red y por tiempos de espera en tu aplicación. Para obtener más información, consulta Usa pings de ICMP.

Soluciona problemas de verificaciones de tiempo de actividad privadas

En esta sección, se describen algunos errores que pueden surgir al usar de tiempo de actividad privadas y brinda información para resolverlos.

Falla la creación de las verificaciones de tiempo de actividad

Es posible que la configuración de tu proyecto de Google Cloud impida que se modifiquen los roles asignados. a la cuenta de servicio que usan las verificaciones de tiempo de actividad administrar interacciones con el servicio del Directorio de servicios. En esta situación, la creación de la verificación de tiempo de actividad falla.

En esta sección, se describe cómo otorgar los roles que la cuenta de servicio requiere lo siguiente:

Consola de Google Cloud

Cuando usas la consola de Google Cloud para crear la verificación de tiempo de actividad privada, la consola de Google Cloud emite los comandos para que se del Directorio de servicios a la cuenta de servicio.

Para obtener información sobre cómo otorgar roles a una cuenta de servicio, consulta Cómo autorizar la cuenta de servicio.

API: Proyecto de permisos

La primera vez que crees una verificación de tiempo de actividad privada para una Servicio y recursos privados del Directorio de servicios en un solo proyecto de Google Cloud, la solicitud podría completarse con éxito o fallar. El resultado depende de si Inhabilitamos las asignaciones de roles automáticas para cuentas de servicio. en tu proyecto:

  • La primera creación de la verificación de tiempo de actividad se realiza correctamente si tu proyecto permite las asignaciones de roles automáticas para las cuentas de servicio. Una cuenta de servicio es creado automáticamente y que se le otorguen los roles necesarios.

  • La creación de la primera verificación de tiempo de actividad falla si tu proyecto no permite otorgamientos de roles automáticos para cuentas de servicio. Una cuenta de servicio es crear, pero no se otorgan roles.

Si la creación de la verificación de tiempo de actividad falla, haz lo siguiente:

  1. Autoriza la cuenta de servicio.
  2. Espera unos minutos para que se propaguen los permisos.
  3. Vuelve a crear la verificación de tiempo de actividad privada.

API: Proyecto supervisado

La primera vez que creas una verificación de tiempo de actividad privada que se orienta a un servicio del Directorio de servicios en un proyecto supervisado o a recursos privados en un proyecto de Google Cloud diferente, la solicitud falla y se crea una cuenta de servicio de Monitoring.

La forma en que autorizas la cuenta de servicio depende de la cantidad de Los proyectos de Google Cloud que usas y sus relaciones. Puedes tener hasta cuatro proyectos involucrados:

  • El proyecto en el que definiste la verificación de tiempo de actividad privada.
  • El proyecto supervisado en el que configuraste el Directorio de servicios.
  • El proyecto en el que configuraste la red de VPC.
  • El proyecto en el que se encuentran los recursos de red, como VMs o balanceadores de cargas configurado. Este proyecto no tiene ningún rol en la autorización de la cuenta de servicio que se analizan aquí.

Cuando falle la creación de la primera verificación de tiempo de actividad, haz lo siguiente:

  1. Autoriza la cuenta de servicio.
  2. Espera unos minutos para que se propaguen los permisos.
  3. Vuelve a crear la verificación de tiempo de actividad privada.

Acceso denegado

Tus verificaciones de tiempo de actividad fallan y arrojan VPC_ACCESS_DENIED resultados. Este resultado significa que algún aspecto de la configuración de red o la autorización no es correcta.

Verifica la autorización de tu cuenta de servicio para usar un alcance. proyecto o un proyecto supervisado, como se describe en La creación de las verificaciones de tiempo de actividad falla.

Para obtener más información sobre el acceso a redes privadas, consulta Configura el proyecto de red.

Resultados anómalos de las verificaciones de tiempo de actividad privadas

Tienes un servicio del Directorio de servicios con varias VMs y tu configuración del servicio contiene varios extremos. Cuando apagas una de las VMs, la verificación del tiempo de actividad sigue indicando que se realizó correctamente.

Cuando la configuración de tu servicio contiene varios extremos, se elige uno al azar. Si la VM asociada al extremo elegido está en ejecución, La verificación de tiempo de actividad se realiza con éxito aunque una de las VMs esté inactiva.

Encabezados predeterminados

Tus verificaciones de tiempo de actividad muestran errores o resultados inesperados. Esto podría si anulaste los valores de encabezado predeterminados.

Cuando se envía una solicitud para una verificación de tiempo de actividad privada a un extremo de destino, la solicitud incluye los siguientes encabezados y valores:

Encabezado Valor
HTTP_USER_AGENT GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)
HTTP_CONNECTION keep-alive
HTTP_HOST IP del extremo del Directorio de servicios
HTTP_ACCEPT_ENCODING gzip, deflate, br
CONTENT_LENGTH Se calcula a partir de los datos posteriores al tiempo de actividad

Si intentas anular estos valores, es posible que ocurra lo siguiente:

  • La verificación de tiempo de actividad informa errores
  • Los valores de anulación se descartan y se reemplazan por los valores de la tabla

No hay datos visibles

No ves ningún dato en el panel de verificación de tiempo de actividad cuando la verificación de tiempo de actividad se encuentra en un proyecto de Google Cloud diferente Directorio de servicios.

Asegúrate de que el proyecto de Google Cloud que contiene la verificación de tiempo de actividad supervisa el proyecto de Google Cloud que contiene Directorio de servicios.

Obtén más información para enumerar los proyectos supervisados y agregar unas, verás Configura un permiso de métricas para varios proyectos.

Soluciona problemas de monitores sintéticos

En esta sección, se proporciona información que puedes usar para solucionar problemas tus monitores sintéticos.

Mensaje de error después de habilitar las APIs

Abres el flujo de creación de un monitor sintético y se te solicita que lo habilites al menos una API. Después de habilitar las APIs, aparecerá un mensaje similar al siguiente se muestra:

An error occurred during fetching available regions: Cloud Functions API has
not been used in project PROJECT_ID before or it is disabled.

El mensaje de error recomienda verificar que la API esté habilitada y, luego, te aconseja que esperes y vuelvas a intentar la acción.

Para verificar que la API esté habilitada, dirígete a la página APIs y de Google Cloud para tu proyecto:

Ir a API y servicios.

Después de verificar que la API esté habilitada, puedes continuar con el flujo de creación. La condición se resuelve automáticamente después de que la API La habilitación se propaga a través del backend.

No se hace un seguimiento de las solicitudes HTTP de salida

Configuras tu monitor sintético para recopilar datos de seguimiento de las solicitudes HTTP de salida. Tus datos de seguimiento solo muestran un intervalo, similar a la siguiente captura de pantalla:

Cloud Trace muestra solo un seguimiento.

Para resolver esta situación, asegúrate de que tu cuenta de servicio se le otorgó el rol de agente de Cloud Trace (roles/cloudtrace.agent). Un rol de editor (roles/editor) también es suficiente.

Para ver los roles otorgados a tu cuenta de servicio, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página IAM:

    Ir a IAM

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.

  2. Selecciona Incluir asignaciones de roles proporcionadas por Google.
  3. Si la cuenta de servicio que usa el monitor sintético no aparece en la lista o si no se le otorgó un rol que incluya los permisos en el rol de Agente de Cloud Trace (roles/cloudtrace.agent) y, luego, otorga este rol a tu cuenta de servicio.

    Si desconoces el nombre de tu cuenta de servicio, en la barra de navegación selecciona Cuentas de servicio.

Estado en curso

En la página Monitores sintéticos, se muestra una lista de monitores sintéticos con un estado de In progress. Un estado de In progress significa que el monitor sintético se creó hace poco y no hay datos para mostrar, o que no se pudo implementar la función.

Para determinar si la función no se pudo implementar, prueba lo siguiente:

  • Asegúrate de que el nombre de tu función de Cloud Run no contenga virgulillas. Si hay un guion bajo, quítalo y vuelve a implementar la función de Cloud Run.

  • Abre la página Detalles del monitor sintético del monitor sintético.

    Si ves el siguiente mensaje, borra el monitor sintético.

    Cloud Function not found for this Synthetic monitor. Please confirm it exists or delete this monitor.
    

    El mensaje de error indica que se borró la función y, por lo tanto, el monitor sintético no puede ejecutar la función.

  • Abre la página de funciones de Cloud Run de la función. Cómo abrir esta página en la página Detalles del monitor sintético, haz clic en Código y, luego, haz clic en el nombre de la función.

    Si ves un mensaje similar al siguiente, significa que la función falló. para implementarlo.

    This function has failed to deploy and will not work correctly. Please edit and redeploy
    

    Para resolver este error, revisa el código de la función y corrige los errores que impiden que la función se compile o se implemente.

Cuando creas un monitor sintético, la función puede tardar varios minutos en implementarse y ejecutarse.

Estado de advertencia

La sección Monitores sintéticos muestra una lista de monitores sintéticos con un estado de Warning. Un estado de Warning significa que la ejecución los resultados son incoherentes. Esto podría indicar que hay un problema de diseño en tu prueba o podría indicar que el contenido que se está probando tiene un comportamiento incoherente.

Estado de error

La sección Monitores sintéticos muestra una lista de monitores sintéticos con el estado de Failing Para obtener más información sobre el motivo de la falla, ver el historial de ejecución más reciente.

  • Si se muestra el mensaje de error Request failed with status code 429, entonces el destino de la solicitud HTTP rechazó el comando. Para solucionar este problema, sigue estos pasos: debes cambiar el destino del monitor sintético.

    El extremo https://www.google.com rechaza las solicitudes que realiza monitores sintéticos.

  • Si la falla muestra un tiempo de ejecución de 0ms, es posible que la función de Cloud Run se esté quedando sin memoria. Para solucionar este problema, sigue estos pasos: falla, edita tu función de Cloud Run y, luego, aumenta la memoria en al menos 2 GiB y establece el campo de CPU en 1.

Borrar falla en un monitor sintético

Se usa la API de Cloud Monitoring para borrar un monitor sintético, pero la llamada falla con una respuesta similar a la siguiente:

{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.DebugInfo",
        "detail": "[ORIGINAL ERROR] generic::invalid_argument: Cannot delete check 1228258045726183344. One or more alerting policies is using it.Delete the alerting policy with id projects/myproject/alertPolicies/16594654141392976482 and any other policies using this uptime check and try again."
      }
    ]
  }
}

Para resolver la falla, borra las políticas de alertas que supervisen los resultados del monitor sintético y, luego, borra el monitor sintético.

No se puede editar la configuración de un verificador de vínculos rotos

Creaste un verificador de vínculos rotos con la consola de Google Cloud y quieres cambiar los elementos HTML que se prueban o modificar el tiempo de espera del URI, los reintentos, el selector de espera y las opciones por vínculo. Sin embargo, cuando editas el verificador de vínculos rotos, la consola de Google Cloud no mostrar los campos de configuración.

Para solucionar este error, haz lo siguiente:

  1. En la consola de Google Cloud, ve a  Supervisión sintética:

    Ir a Supervisión sintética

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Busca el monitor sintético que deseas editar, haz clic en Más opciones y, luego, selecciona Editar.
  3. Haz clic en Editar función.
  4. Edita el objeto options en el archivo index.js y, luego, Haz clic en Aplicar función.

    Para obtener información sobre los campos y la sintaxis de este objeto, consulta broken-links-ok/index.js

  5. Haz clic en Guardar.

Pantallas de la consola de Google Cloud que fallan cuando se guardan las capturas de pantalla

Creaste un verificador de vínculos rotos y lo configuraste para guardar capturas de pantalla. Sin embargo, la consola de Google Cloud muestra uno de los siguientes mensajes de advertencia junto con información más detallada:

  • InvalidStorageLocation
  • StorageValidationError
  • BucketCreationError
  • ScreenshotFileUploadError

Para solucionar estos errores, intenta lo siguiente:

  • Si ves el mensaje InvalidStorageLocation, verifica la existencia del bucket de Cloud Storage especificado en el campo llamado options.screenshot_options.storage_location.

  • Visualiza los registros relacionados con tu función de Cloud Run. Para obtener más información, consulta Busca registros.

  • Verifica que la cuenta de servicio que se usa en la función de Cloud Run correspondiente tenga un rol de Identity and Access Management que le permita crear, acceder y escribir en buckets de Cloud Storage.