Este producto no es compatible con el sitio Datadog seleccionado. ().
La compatibilidad de AAP con Google Cloud Run está en la vista previa.

Cómo funciona

La aplicación serverless-init envuelve tu proceso y lo ejecuta como un subproceso. Inicia un escuchador de métricas de DogStatsD y un escuchador de trazas del Trace Agent. Recopila logs envolviendo los flujos stdout/stderr de tu aplicación. Después de arrancar, serverless-init inicia tu comando como un subproceso.

Para una instrumentación completa, asegúrate de que estás llamando a datadog-init como el primer comando que se ejecuta dentro de tu contenedor Docker. Puedes hacerlo configurándolo como punto de entrada, o configurándolo como el primer argumento en CMD.

Compatibilidad

La compatibilidad de Google Cloud Run con la protección de aplicaciones y API serverless está en la vista previa.

Nota: La protección frente a amenazas no es compatible a través de la configuración remota. Utiliza los flujos para bloquear direcciones IP en tu WAF.

Para empezar

Instala manualmente el rastreador Go antes de desplegar tu aplicación. Compila tu binario go con la etiqueta “appsec” habilitada (go build --tags "appsec" ...). Añade las siguientes instrucciones y argumentos a tu archivo Docker:

COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ENTRYPOINT ["/app/datadog-init"]
ENV DD_SERVICE=datadog-demo-run-go
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENV DD_APPSEC_ENABLED=1

Explicación

  1. Copia serverless-init de Datadog en tu imagen de Docker.

    COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
    
  2. Cambia el punto de entrada para contener tu aplicación en el proceso de serverless-init de Datadog. Nota: Si ya tienes un punto de entrada definido dentro de tu archivo Docker, consulta la configuración alternativa.

    ENTRYPOINT ["/app/datadog-init"]
    
  3. (Opcional) Añade etiquetas (tags) de Datadog.

    ENV DD_SERVICE=datadog-demo-run-go
    ENV DD_ENV=datadog-demo
    ENV DD_VERSION=1
    ENV DD_APPSEC_ENABLED=1
    
  4. Ejecuta tu aplicación binaria contenida en el punto de entrada. Adapta esta línea a tus necesidades.

    CMD ["/path/to/your-go-binary"]
    

Configuración alternativa

Si ya tienes un punto de entrada definido en tu archivo Docker, puedes modificar el argumento CMD.

COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ENV DD_SERVICE=datadog-demo-run-go
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENV DD_APPSEC_ENABLED=1
CMD ["/app/datadog-init", "/path/to/your-go-binary"]

Si necesitas que tu punto de entrada también se instrumente, puedes intercambiar tu punto de entrada y argumentos CMD en su lugar. Para obtener más información, consulta Cómo funciona serverless-init.

COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ENV DD_SERVICE=datadog-demo-run-go
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENV DD_APPSEC_ENABLED=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["your_entrypoint.sh", "/path/to/your-go-binary"]

Siempre y cuando el comando a ejecutar se pase como argumento a datadog-init, recibirás la Instrumentación completa.

Referencias adicionales