- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Google Cloud Run is a fully managed serverless platform for deploying and scaling container-based applications. Datadog provides monitoring and log collection for Cloud Run through the Google Cloud integration. Datadog also provides a solution for instrumenting your Cloud Run applications with a purpose-built Agent to enable tracing, custom metrics, and direct log collection.
Make sure you have a Datadog API key and are using a programming language supported by a Datadog tracing library.
You can instrument your application in one of two ways: Dockerfile or buildpack.
Datadog publishes new releases of the serverless-init
container image to Google’s gcr.io, AWS’s ECR, and on Docker Hub:
dockerhub.io | gcr.io | public.ecr.aws |
---|---|---|
datadog/serverless-init | gcr.io/datadoghq/serverless-init | public.ecr.aws/datadog/serverless-init |
Images are tagged based on semantic versioning, with each new version receiving three relevant tags:
1
, 1-alpine
: use these to track the latest minor releases, without breaking changes1.x.x
, 1.x.x-alpine
: use these to pin to a precise version of the librarylatest
, latest-alpine
: use these to follow the latest version release, which may include breaking changesserverless-init
worksThe serverless-init
application wraps your process and executes it as a subprocess. It starts a DogStatsD listener for metrics and a Trace Agent listener for traces. It collects logs by wrapping the stdout/stderr streams of your application. After bootstrapping, serverless-init then launches your command as a subprocess.
To get full instrumentation, ensure you are calling datadog-init
as the first command that runs inside your Docker container. You can do this through by setting it as the entrypoint, or by setting it as the first argument in CMD.
Add the following instructions and arguments to your Dockerfile.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
RUN npm install --prefix /dd_tracer/node dd-trace --save
ENV DD_SERVICE=datadog-demo-run-nodejs
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["/nodejs/bin/node", "/path/to/your/app.js"]
Copy the Datadog serverless-init
into your Docker image.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
Copy the Datadog Node.JS tracer into your Docker image.
RUN npm install --prefix /dd_tracer/node dd-trace --save
If you install the Datadog tracer library directly in your application, as outlined in the manual tracer instrumentation instructions, omit this step.
(Optional) Add Datadog tags.
ENV DD_SERVICE=datadog-demo-run-nodejs
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
Change the entrypoint to wrap your application in the Datadog serverless-init
process.
Note: If you already have an entrypoint defined inside your Dockerfile, see the alternative configuration.
ENTRYPOINT ["/app/datadog-init"]
Execute your binary application wrapped in the entrypoint. Adapt this line to your needs.
CMD ["/nodejs/bin/node", "/path/to/your/app.js"]
If you already have an entrypoint defined inside your Dockerfile, you can instead modify the CMD argument.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
RUN npm install --prefix /dd_tracer/node dd-trace --save
ENV DD_SERVICE=datadog-demo-run-nodejs
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
CMD ["/app/datadog-init", "/nodejs/bin/node", "/path/to/your/app.js"]
If you require your entrypoint to be instrumented as well, you can swap your entrypoint and CMD arguments instead. For more information, see How serverless-init
works.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
RUN npm install --prefix /dd_tracer/node dd-trace --save
ENV DD_SERVICE=datadog-demo-run-nodejs
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["/your_entrypoint.sh", "/nodejs/bin/node", "/path/to/your/app.js"]
As long as your command to run is passed as an argument to datadog-init
, you will receive full instrumentation.
Dockerfile에 다음 명령과 인수를 추가하세요.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
RUN pip install --target /dd_tracer/python/ ddtrace
ENV DD_SERVICE=datadog-demo-run-python
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["/dd_tracer/python/bin/ddtrace-run", "python", "app.py"]
Docker 이미지에 Datadog serverless-init
을 복사합니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
Python 트레이서를 설치합니다.
RUN pip install --target /dd_tracer/python/ ddtrace
수동 트레이서 계측 방법에 안내된 대로 애플리케이션에 바로 Datadog 트레이서 라이브러리를 설치하는 경우에는 이 단계를 건너뛰세요.
(선택사항) Datadog 태그를 추가합니다.
ENV DD_SERVICE=datadog-demo-run-python
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
Datadog serverless-init
프로세스에서 애플리케이션을 래핑하도록 엔트리 포인트를 변경합니다.
참고: Dockerfile에 이미 정의된 엔트리 포인트가 있는 경우 대체 구성 방법을 참고하세요.
ENTRYPOINT ["/app/datadog-init"]
엔트리 포인트에 래핑된 이진 애플리케이션을 Datadog 트레이스 라이브러리를 이용해 실행합니다. 상황에 맞게 명령줄을 수정하세요.
CMD ["/dd_tracer/python/bin/ddtrace-run", "python", "app.py"]
Dockerfile에 이미 정의된 엔트리 포인트가 있는 경우 대신 CMD 인수를 수정할 수 있습니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
RUN pip install --target /dd_tracer/python/ ddtrace
ENV DD_SERVICE=datadog-demo-run-python
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
CMD ["/app/datadog-init", "/dd_tracer/python/bin/ddtrace-run", "python", "app.py"]
엔트리 포인트도 계측해야 하는 경우 엔트리 포인트와 CMD 인수를 맞바꿀 수 있습니다. 자세한 정보는 serverless-init
이 작동하는 방식을 참고하세요.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
RUN pip install --target /dd_tracer/python/ ddtrace
ENV DD_SERVICE=datadog-demo-run-python
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["your_entrypoint.sh", "/dd_tracer/python/bin/ddtrace-run", "python", "app.py"]
실행할 명령이 datadog-init
인수로 전달되는 한, 전체 계측을 받을 수 있습니다.
Dockerfile에 다음 명령과 인수를 추가하세요.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ADD 'https://dtdg.co/latest-java-tracer' /dd_tracer/java/dd-java-agent.jar
ENV DD_SERVICE=datadog-demo-run-java
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["./mvnw", "spring-boot:run"]
Docker 이미지에 Datadog serverless-init
을 복사합니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
Datadog Java 트레이서를 Docker 이미지에 추가합니다.
ADD 'https://dtdg.co/latest-java-tracer' /dd_tracer/java/dd-java-agent.jar
수동 트레이서 계측 방법에 안내된 대로 애플리케이션에 바로 Datadog 트레이서 라이브러리를 설치하는 경우에는 이 단계를 건너뛰세요.
(선택사항) Datadog 태그를 추가합니다.
ENV DD_SERVICE=datadog-demo-run-java
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
Datadog serverless-init
프로세스에서 애플리케이션을 래핑하도록 엔트리 포인트를 변경합니다.
참고: Dockerfile에 이미 정의된 엔트리 포인트가 있는 경우 대체 구성 방법을 참고하세요.
ENTRYPOINT ["/app/datadog-init"]
엔트리 포인트에 래핑된 이진 애플리케이션을 실행합니다. 상황에 맞게 명령줄을 수정하세요.
CMD ["./mvnw", "spring-boot:run"]
Dockerfile에 이미 정의된 엔트리 포인트가 있는 경우 대신 CMD 인수를 수정할 수 있습니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ADD 'https://dtdg.co/latest-java-tracer' /dd_tracer/java/dd-java-agent.jar
ENV DD_SERVICE=datadog-demo-run-java
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
CMD ["/app/datadog-init", "./mvnw", "spring-boot:run"]
엔트리 포인트도 계측해야 하는 경우 엔트리 포인트와 CMD 인수를 맞바꿀 수 있습니다. 자세한 정보는 serverless-init
이 작동하는 방식을 참고하세요.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ADD 'https://dtdg.co/latest-java-tracer' /dd_tracer/java/dd-java-agent.jar
ENV DD_SERVICE=datadog-demo-run-java
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["your_entrypoint.sh", "./mvnw", "spring-boot:run"]
실행할 명령이 datadog-init
인수로 전달되는 한, 전체 계측을 받을 수 있습니다.
애플리케이션을 배포하기 전에 Go 트레이서를 수동으로 설치하세요. Dockerfile에 다음 지침과 인수를 추가합니다.
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
CMD ["/path/to/your-go-binary"]
Docker 이미지에 Datadog serverless-init
을 복사합니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
Datadog serverless-init
프로세스에서 애플리케이션을 래핑하도록 엔트리 포인트를 변경합니다.
참고: Dockerfile에 이미 정의된 엔트리 포인트가 있는 경우 대체 구성 방법을 참고하세요.
ENTRYPOINT ["/app/datadog-init"]
(선택사항) Datadog 태그를 추가합니다.
ENV DD_SERVICE=datadog-demo-run-go
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
엔트리 포인트에 래핑된 이진 애플리케이션을 실행합니다. 상황에 맞게 명령줄을 수정하세요.
CMD ["/path/to/your-go-binary"]
Dockerfile에 이미 정의된 엔트리 포인트가 있는 경우 대신 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
CMD ["/app/datadog-init", "/path/to/your-go-binary"]
엔트리 포인트도 계측해야 하는 경우 엔트리 포인트와 CMD 인수를 맞바꿀 수 있습니다. 자세한 정보는 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
ENTRYPOINT ["/app/datadog-init"]
CMD ["your_entrypoint.sh", "/path/to/your-go-binary"]
실행할 명령이 datadog-init
인수로 전달되는 한, 전체 계측을 받을 수 있습니다.
참고: Go 코드를 자동으로 계측하는 도구인 Orchestrion을 사용할 수도 있습니다. Orchestrion은 비공개 베타 버전입니다. 자세한 내용을 보려면 Orchestrion 리포지토리에서 GitHub 이슈를 열거나 지원팀에 문의하세요.
Add the following instructions and arguments to your Dockerfile.
# For alpine or arm64 builds, refer to the explanation section
COPY --from=datadog/serverless-init:1 / /app/
RUN chmod +x /app/dotnet.sh && /app/dotnet.sh
ENV DD_SERVICE=datadog-demo-run-dotnet
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["dotnet", "helloworld.dll"]
Copy the Datadog serverless-init
into your Docker image.
COPY --from=datadog/serverless-init:1 / /app/
Copy the Datadog .NET tracer into your Docker image. For linux/amd64, include the following:
RUN chmod +x /app/dotnet.sh && /app/dotnet.sh
For other architecture types, configure your Dockerfile like so:
# For arm64 use datadog-dotnet-apm-2.57.0.arm64.tar.gz
# For alpine use datadog-dotnet-apm-2.57.0-musl.tar.gz
ARG TRACER_VERSION
ADD https://github.com/DataDog/dd-trace-dotnet/releases/download/v${TRACER_VERSION}/datadog-dotnet-apm-${TRACER_VERSION}.tar.gz /tmp/datadog-dotnet-apm.tar.gz
RUN mkdir -p /dd_tracer/dotnet/ && tar -xzvf /tmp/datadog-dotnet-apm.tar.gz -C /dd_tracer/dotnet/ && rm /tmp/datadog-dotnet-apm.tar.gz
If you install the Datadog tracer library directly in your application, as outlined in the manual tracer instrumentation instructions, omit this step.
(Optional) Add Datadog tags.
ENV DD_SERVICE=datadog-demo-run-dotnet
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
Change the entrypoint to wrap your application in the Datadog serverless-init
process.
Note: If you already have an entrypoint defined inside your Dockerfile, see the alternative configuration.
ENTRYPOINT ["/app/datadog-init"]
Execute your binary application wrapped in the entrypoint. Adapt this line to your needs.
CMD ["dotnet", "helloworld.dll"]
If you already have an entrypoint defined inside your Dockerfile, you can instead modify the CMD argument.
# For alpine or arm64 builds, refer to tracer installation of the explanation section
COPY --from=datadog/serverless-init:1 / /app/
RUN chmod +x /app/dotnet.sh && /app/dotnet.sh
ENV DD_SERVICE=datadog-demo-run-dotnet
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
CMD ["/app/datadog-init", "dotnet", "helloworld.dll"]
If you require your entrypoint to be instrumented as well, you can swap your entrypoint and CMD arguments instead. For more information, see How serverless-init
works.
# For alpine or arm64 builds, refer to tracer installation of the explanation section
COPY --from=datadog/serverless-init:1 / /app/
RUN chmod +x /app/dotnet.sh && /app/dotnet.sh
ENV DD_SERVICE=datadog-demo-run-dotnet
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
CMD ["your_entrypoint.sh", "dotnet", "helloworld.dll"]
As long as your command to run is passed as an argument to datadog-init
, you will receive full instrumentation.
애플리케이션을 배포하기 전에 Ruby 트레이서를 수동으로 설치하세요. 예시 애플리케이션을 참고하세요.
Dockerfile에 다음 명령과 인수를 추가하세요.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ENV DD_SERVICE=datadog-demo-run-ruby
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENV DD_TRACE_PROPAGATION_STYLE=datadog
ENTRYPOINT ["/app/datadog-init"]
CMD ["rails", "server", "-b", "0.0.0.0"]
Docker 이미지에 Datadog serverless-init
을 복사합니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
(선택사항) Datadog 태그를 추가합니다.
ENV DD_SERVICE=datadog-demo-run-ruby
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
Cloud Run에서 트레이스 전파가 제대로 작동하려면 이 환경 변수가 필요합니다. Datadog로 계측되는 다운스트림 서비스 모두에 이 변수를 설정하세요.
ENV DD_TRACE_PROPAGATION_STYLE=datadog
Datadog serverless-init
프로세스에서 애플리케이션을 래핑하도록 엔트리 포인트를 변경합니다.
참고: Dockerfile 내에 엔트리포인트가 이미 정의되어 있는 경우 대체 구성을 참조하세요.
ENTRYPOINT ["/app/datadog-init"]
엔트리 포인트에 래핑된 이진 애플리케이션을 실행합니다. 상황에 맞게 명령줄을 수정하세요.
CMD ["rails", "server", "-b", "0.0.0.0"]
Dockerfile에 이미 정의된 엔트리 포인트가 있는 경우 대신 CMD 인수를 수정할 수 있습니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ENV DD_SERVICE=datadog-demo-run-ruby
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENV DD_TRACE_PROPAGATION_STYLE=datadog
CMD ["/app/datadog-init", "rails", "server", "-b", "0.0.0.0"]
엔트리 포인트도 계측해야 하는 경우 엔트리 포인트와 CMD 인수를 맞바꿀 수 있습니다. 자세한 정보는 serverless-init
이 작동하는 방식을 참고하세요.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ENV DD_SERVICE=datadog-demo-run-ruby
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENV DD_TRACE_PROPAGATION_STYLE=datadog
ENTRYPOINT ["/app/datadog-init"]
CMD ["your_entrypoint.sh", "rails", "server", "-b", "0.0.0.0"]
실행할 명령이 datadog-init
인수로 전달되는 한, 전체 계측을 받을 수 있습니다.
Dockerfile에 다음 명령과 인수를 추가하세요.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ADD https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php /datadog-setup.php
RUN php /datadog-setup.php --php-bin=all
ENV DD_SERVICE=datadog-demo-run-php
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
# Apache 및 mod_php 기반 이미지에 다음을 사용하세요
RUN sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf
EXPOSE 8080
CMD ["apache2-foreground"]
# Nginx 및 php-fpm 기반 이미지에 다음을 사용하세요
RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log
EXPOSE 8080
CMD php-fpm; nginx -g daemon off;
참고: datadog-init
엔트리 포인트는 프로세스를 래핑한 후 로그를 수집합니다. 로그가 제대로 작동하려면 Apache, Nginx, 또는 PHP 프로세스가 출력을 stdout
로 보내야 합니다.
Docker 이미지에 Datadog serverless-init
을 복사합니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
Datadog PHP 트레이서를 복사하고 설치합니다.
ADD https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php /datadog-setup.php
RUN php /datadog-setup.php --php-bin=all
수동 트레이서 계측 방법에 안내된 대로 애플리케이션에 바로 Datadog 트레이서 라이브러리를 설치하는 경우에는 이 단계를 건너뛰세요.
(선택사항) Datadog 태그를 추가합니다.
ENV DD_SERVICE=datadog-demo-run-php
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
Datadog serverless-init
프로세스에서 애플리케이션을 래핑하도록 엔트리 포인트를 변경합니다.
참고: Dockerfile에 이미 정의된 엔트리 포인트가 있는 경우 대체 구성 방법을 참고하세요.
ENTRYPOINT ["/app/datadog-init"]
애플리케이션을 실행합니다.
Apache 및 mod_php 기반 이미지에는 다음을 사용하세요.
RUN sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf
EXPOSE 8080
CMD ["apache2-foreground"]
Nginx와 php-fpm 기반 이미지에는 다음을 사용하세요.
RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log
EXPOSE 8080
CMD php-fpm; nginx -g daemon off;
Dockerfile에 이미 정의된 엔트리 포인트가 있고 Apache와 mod_php 기반 이미지를 사용하는 중이라면, 대신 CMD 인수를 수정할 수 있습니다.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ADD https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php /datadog-setup.php
RUN php /datadog-setup.php --php-bin=all
ENV DD_SERVICE=datadog-demo-run-php
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
RUN sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf
EXPOSE 8080
CMD ["/app/datadog-init", "apache2-foreground"]
엔트리 포인트도 계측해야 하는 경우 엔트리 포인트와 CMD 인수를 맞바꿀 수 있습니다. 자세한 정보는 serverless-init
이 작동하는 방식을 참고하세요.
COPY --from=datadog/serverless-init:1 /datadog-init /app/datadog-init
ADD https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php /datadog-setup.php
RUN php /datadog-setup.php --php-bin=all
ENV DD_SERVICE=datadog-demo-run-php
ENV DD_ENV=datadog-demo
ENV DD_VERSION=1
ENTRYPOINT ["/app/datadog-init"]
# Apache 및 mod_php 기반 이미지에 다음을 사용하세요
RUN sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf
EXPOSE 8080
CMD ["your_entrypoint.sh", "apache2-foreground"]
# Nginx 및 php-fpm 기반 이미지에 다음을 사용하세요
RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log
EXPOSE 8080
CMD your_entrypoint.sh php-fpm; your_entrypoint.sh nginx -g daemon off;
실행할 명령이 datadog-init
인수로 전달되는 한, 전체 계측을 받을 수 있습니다.
Pack Buildpacks
provide a convenient way to package your container without using a Dockerfile.
First, manually install your tracer:
Then, build your application by running the following command:
pack build --builder=gcr.io/buildpacks/builder \
--buildpack from=builder \
--buildpack datadog/serverless-buildpack:latest \
gcr.io/<YOUR_PROJECT>/<YOUR_APP_NAME>
Note: Buildpack instrumentation is not compatible with Alpine images.
Once the container is built and pushed to your registry, the last step is to set the required environment variables for the Datadog Agent:
DD_API_KEY
: Datadog API key, used to send data to your Datadog account. It should be configured as a Google Cloud Secret for privacy and safety.DD_SITE
: Datadog endpoint and website. Select your site on the right side of this page. Your site is:
.For more environment variables and their function, see Environment Variables.
The following command deploys the service and allows any external connection to reach it. In this example, your service listening is set to port 8080. Ensure that this port number matches the exposed port inside of your Dockerfile.
shell
gcloud run deploy <APP_NAME> --image=gcr.io/<YOUR_PROJECT>/<APP_NAME> \
--port=8080 \
--update-env-vars=DD_API_KEY=$DD_API_KEY \
--update-env-vars=DD_SITE=$DD_SITE \
See all arguments and flags for gcloud run deploy
.
Once the deployment is completed, your metrics and traces are sent to Datadog. In Datadog, navigate to Infrastructure > Serverless to see your serverless metrics and traces.
Advanced Tracing: The Datadog Agent already provides some basic tracing for popular frameworks. Follow the advanced tracing guide for more information.
Logs: If you use the Google Cloud integration, your logs are already being collected. Alternatively, you can set the DD_LOGS_ENABLED
environment variable to true
to capture application logs through the serverless instrumentation directly.
Custom Metrics: You can submit custom metrics using a DogStatsD client. For monitoring Cloud Run and other serverless applications, use distribution metrics. Distributions provide avg
, sum
, max
, min
, and count
aggregations by default. On the Metric Summary page, you can enable percentile aggregations (p50, p75, p90, p95, p99) and also manage tags. To monitor a distribution for a gauge metric type, use avg
for both the time and space aggregations. To monitor a distribution for a count metric type, use sum
for both the time and space aggregations.
Variable | Description |
---|---|
DD_API_KEY | Datadog API key - Required |
DD_SITE | Datadog site - Required |
DD_LOGS_ENABLED | When true, send logs (stdout and stderr) to Datadog. Defaults to false. |
DD_LOGS_INJECTION | When true, enrich all logs with trace data for supported loggers in Java, Node, .NET, and PHP. See additional docs for Python, Go, and Ruby. |
DD_SERVICE | See Unified Service Tagging. |
DD_VERSION | See Unified Service Tagging. |
DD_ENV | See Unified Service Tagging. |
DD_SOURCE | See Unified Service Tagging. |
DD_TAGS | See Unified Service Tagging. |
This integration depends on your runtime having a full SSL implementation. If you are using a slim image, you may need to add the following command to your Dockerfile to include certificates.
RUN apt-get update && apt-get install -y ca-certificates
추가 유용한 문서, 링크 및 기사: