With APM's Java agent, you can monitor applications that reside in the Google App Engine (GAE) flexible environment. Adding New Relic to your GAE flex app gives you insight into the health and performance of your app and extends GAE with metrics you can view in APM, browser monitoring, and dashboards.
This document explains how to add New Relic to your GAE flex app by configuring a custom runtime, and gives an example of deploying a Tomcat app with Docker.
The New Relic Java agent can run in a GAE flexible environment using a custom runtime. Due to limitations of other environments, do not use the GAE standard environment or Google App Engine's "native mode" installation.
See Google's documentation for building custom runtimes. There are many ways to build a custom runtime that contains the New Relic Java agent (for example, using Tomcat). In general, to build a custom runtime:
- Set up your application and install necessary GAE-related dependencies for custom runtimes. Include the New Relic Java agent in the project.
- Configure Maven or Gradle as applicable.
- Configure the
- Configure the Dockerfile.
- Build the Docker image.
- Deploy the Docker image to the initialized GAE flexible environment.
- Recommendation: Disable GAE health checks.
For more information about deploying and configuring your Java app in the GAE flexible environment, see:
This example describes how to add New Relic to your GAE flex app by installing the New Relic Java agent, building a custom runtime, and deploying an application WAR to Tomcat. Be sure to install the Java agent as necessary for your specific app server.
Google App Engine sends periodic health check requests to confirm that an instance has been successfully deployed, and to check that a running instance maintains a healthy status. A health check is an HTTP request to the URL
If you create a custom runtime, your app must be able to handle a large number of health check requests. Otherwise, your app data may not display correctly in APM. To avoid adding additional instrumentation overhead and skewing throughput for your application, we recommend that you disable the health check.
Recommendation: Configure your
app.yaml to disable health checks by adding:
Use these resources to troubleshoot your GAE flex environment app:
To connect to the GAE instance and start a shell in the Docker container running your code, see Debugging an Instance.
- log_file_name: STDOUT
To view the logs, use the Cloud Platform Console's Log Viewer.