Descripción general
En esta página se describe cómo configurar el entorno y la aplicación de PHP para usar Cloud Debugger.
Para algunos entornos, debes especificar explícitamente el nivel de acceso a fin de permitir que el agente de Cloud Debugger envíe datos.
Te recomendamos configurar el nivel de acceso más amplio posible y, luego, usar la Administración de identidades y accesos para restringir el acceso.
De acuerdo con esta práctica recomendada, debes configurar el nivel de acceso para que estén todas las API de Cloud con la opción cloud-platform
.
Versiones de lenguajes y entornos de procesamiento
Cloud Debugger está disponible para Go 1.9 y versiones anteriores en los siguientes entornos de procesamiento:
Entorno de App Engine Standard | Entorno flexible de App Engine | Compute Engine | Google Kubernetes Engine | Cloud Run | Cloud Run para Anthos en Google Cloud | VM y contenedores que se ejecutan en otros lugares | Cloud Functions |
---|---|---|---|---|---|---|---|
Configura Cloud Debugger
Para configurar Cloud Debugger, completa las siguientes tareas:
Verifica que la API del Depurador de Cloud esté habilitada para tu proyecto.
Instala y configura Debugger en el entorno de procesamiento que usas.
Selecciona tu código fuente.
Verifica que la API de Cloud Debugger esté habilitada
Para comenzar a usar Cloud Debugger, asegúrate de que esté habilitada la API de Cloud Debugger. Cloud Debugger está habilitado de forma predeterminada para la mayoría de los proyectos.Habilita la API de Cloud Debugger
Google Kubernetes Engine
GCLOUD
Para habilitar Debugger con gcloud
, completa los siguientes pasos:
Crea tu clúster con uno de los niveles de acceso siguientes:
https://www.googleapis.com/auth/cloud-platform
otorga a tu clúster acceso a todas las API de Google Cloud.https://www.googleapis.com/auth/cloud_debugger
otorga a tu clúster acceso solo a la API de Debugger. Usa este nivel de acceso para fortalecer la seguridad de tu clúster.
gcloud container clusters create example-cluster-name \ --scopes=https://www.googleapis.com/auth/cloud_debugger
Agrega las líneas siguientes a tu
Dockerfile
para agregar el agente de Debugger a tu app en contenedores:RUN go get -u cloud.google.com/go/cmd/go-cloud-debug-agent \ go-cloud-debug-agent -sourcecontext=[PATH_TO_FILE] -appmodule=[APP_NAME] \ -appversion=[APP_VERSION] -- [PATH_TO_BINARY] [ARG1] [ARG2]
Aquí:
PATH_TO_FILE
especifica la ruta relativa al archivo con formato JSON que contiene la configuración de contexto de origen.APP_NAME
es el nombre de la aplicación o servicio. Esto, junto con la versión, se usa para identificar tu aplicación en Cloud Console.APP_VERSION
es un marcador de versión que suministra la aplicación. Por ejemplo, puedes usar un número de compilación. Cloud Console muestra la versión en ejecución comomodule - version
. Por ejemplo,main - 1.0
.PATH_TO_BINARY
especifica la ruta de acceso relativa al objeto binario de la aplicación.ARG1
yARG2
son marcadores de posición para cualquier argumento adicional que requiera tu aplicación.
Ahora puedes usar el depurador cuando implementes tu app en contenedores.
Para obtener información más detallada sobre cómo crear un clúster, consulta la sección correspondiente.
CONSOLE
Para habilitar Debugger con Google Cloud Console, sigue estos pasos:
En la sección Grupos de nodos, selecciona Seguridad y, luego, Configurar acceso para cada API.
Habilita Debugger.
Opcional: Seleccione Permitir el acceso completo a todas las API de Cloud.
Compute Engine
Asegúrate de que tus instancias de VM de Compute Engine estén ejecutando una imagen de Debian Linux de 64 bits.
Asegúrate de que tus instancias de VM de Compute Engine se creen con la opción de nivel de acceso Permitir acceso completo a todas las API de Cloud, o que tengan uno de los siguientes niveles de acceso:
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/cloud_debugger
Las optimizaciones actuales del compilador de Go interfieren en la depuración precisa. Como resultado, el Depurador de Cloud muestra información incorrecta sobre tu aplicación cuando esta se compila con las optimizaciones predeterminadas del compilador de Go.
Para obtener la información de depuración correcta, compila tu aplicación sin las optimizaciones predeterminadas. Con los siguientes comandos de muestra, se ilustra cómo inhabilitar las optimizaciones cuando se usa Go 1.10 o una versión posterior:
go build -gcflags=all='-N -l'
El valor
gcflags
anterior incluye-N
a fin de inhabilitar las optimizaciones y-l
para inhabilitar el intercalado.Descarga el agente de Debugger.
El agente de Cloud Debugger es un objeto binario ligero que habilitas para tu aplicación en el inicio. El agente comienza con tu aplicación y se comunica con el backend del Depurador de Cloud mientras se ejecuta la aplicación.
Una vez que compilaste e implementaste la aplicación de Compute Engine, descarga e instala el agente de depuración:
go get -u cloud.google.com/go/cmd/go-cloud-debug-agent
Inicia el agente y tu programa:
go-cloud-debug-agent -sourcecontext=[PATH_TO_FILE] -appmodule=[APP_NAME] \ -appversion=[APP_VERSION] -- [PATH_TO_BINARY] [ARG1] [ARG2]
Aquí:
PATH_TO_FILE
especifica la ruta relativa al archivo con formato JSON que contiene la configuración de contexto de origen.APP_NAME
es el nombre de la aplicación o servicio. Esto, junto con la versión, se usa para identificar tu aplicación en Cloud Console.APP_VERSION
es un marcador de versión que suministra la aplicación. Por ejemplo, puedes usar un número de compilación. Cloud Console muestra la versión en ejecución comomodule - version
. Por ejemplo,main - 1.0
.PATH_TO_BINARY
especifica la ruta de acceso relativa al objeto binario de la aplicación.ARG1
yARG2
son marcadores de posición para cualquier argumento adicional que requiera tu aplicación.
Por ejemplo:
go-cloud-debug-agent -appmodule=main -appversion=1.0 -- bin/my-app my-arg
Ahora puedes usar Debugger con tu app.
En el entorno local y en otros lugares
El agente de Cloud Debugger para Go solo se admite en los entornos locales o de otro tipo que usan Go 1.9 y versiones anteriores.