Google App Engine is a managed application platform that supports most modern languages. The Google App Engine "standard environment" type supports applications that run on Java, .NET, Node.js, Golang, and more. For custom Docker images, Google App Engine provides "flexible environment" support, so you can run custom Docker images in flexible environment mode.
Before you begin
You'll need to
- acquire Dynatrace environment credentials.
- review the list of supported applications and versions.
Generate PaaS token
The first step is to get your environment ID and PaaS token for your Dynatrace environment.
Login with your Dynatrace account.
Select Deploy Dynatrace from the navigation menu.
Click the Set up PaaS integration button.
Your environment ID appears in the Environment ID text box. You'll need this ID to link your Dynatrace account with your PaaS environment. Click Copy to copy the ID to the clipboard. You can do this at any time by revisiting this page.
To generate a PaaS token, click the Generate new token button. The PaaS token is essentially an API token that's used in combination with your environment ID to download Dynatrace OneAgent. As you'll see, there's also a default InstallerDownload token available that you can alternatively use. However, for security reasons, it's recommended that you create several discrete tokens for each environment you have.
Type in a meaningful name for your PaaS token. A meaningful token name might be the name of the PaaS platform you want to monitor (for example,
openshift). To view and manage your existing PaaS tokens, go to Settings -> Integration -> Platform as a Service.
Click Generate to create the PaaS token. The newly created PaaS token will appear in the list below. Click Copy to copy the generated token to the clipboard. You can do this at any time by revisiting this page and clicking Show token next to the relevant PaaS token.
Integrate OneAgent into application images
To integrate OneAgent into a container deployment with a Dockerfile in Google App Engine flexible environment and activate instrumentation of your application, add the following commands to your current Dockerfile.
ARG DT_API_URL="https://<environmentID>.live.dynatrace.com/api" ARG DT_API_TOKEN="<token>" ARG DT_ONEAGENT_OPTIONS="flavor=default&include=<technology1>&include=<technology2>" ENV DT_HOME="/opt/dynatrace/oneagent" RUN mkdir -p "$DT_HOME" && \ wget -O "$DT_HOME/oneagent.zip" "$DT_API_URL/v1/deployment/installer/agent/unix/paas/latest?Api-Token=$DT_API_TOKEN&$DT_ONEAGENT_OPTIONS" && \ unzip -d "$DT_HOME" "$DT_HOME/oneagent.zip" && \ rm "$DT_HOME/oneagent.zip" ENTRYPOINT [ "/opt/dynatrace/oneagent/dynatrace-agent64.sh" ] CMD [ "executable", "param1", "param2" ] # the command of your application, e.g. java
Note: The commands above that use
unzip may fail if they aren't provided by the base image.
Regarding the code snippet above:
As it is shown in the code snippet, first, you need to define variables with default values using
Technology support is enabled via
includeparameters. Valid options for
go. Including specific technology-support options, rather than support for all technology options, results in a smaller OneAgent package.
<environmentID>should be replaced with your Dynatrace environment ID. If you’re using Dynatrace Managed, you need to provide your Dynatrace Server URL (
<token>should be replaced with the PaaS token mentioned above.
Dynatrace OneAgent supports the flavor
musl for Alpine Linux based environments. Valid options for
Deploy the application image
After integrating the OneAgent to the application's Dockerfile you will need to deploy the application, e.g., with the
gcloud cli. For this switch to the app's directory that contains the
Dockerfile and the
app.yaml file, and run the following command.
$ gcloud app deploy
Google App Engine will take care of building the Docker image based on the
Dockerfile provided and thereby of downloading and installing the OneAgent code-modules into the application image.