With the Python agent, you can monitor applications that reside in the Google App Engine (GAE) flexible environment. Adding agent data 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 the New Relic UI.
This document explains how to add agent data to your GAE flex app using either of these methods:
- Google App Engine's "native mode" installation with a standard GAE runtime
- Docker installation using a custom runtime
Deploy using GAE's native support
When using Google App Engine "native mode" installation, you provide your app code and an app.yaml
file. Google App Engine then deploys to a standard prebuilt Docker image.
For example, to deploy with native support for a Flask/Django app:
- Follow standard procedures to install the Python agent, including your .
- Set the
NEW_RELIC_CONFIG_FILE
as an environment variable pointing tonewrelic.ini
.
Once the agent and configuration file have been installed, the Python agent can automatically monitor applications that reside in the GAE flexible environment. Wait until the deployment completes, then view your GAE flex app data in the APM Summary page.
Build a custom runtime using Docker
See Google's documentation for building custom runtimes. This example describes how to add agent data to your GAE flex app by building a custom runtime for Docker.
For more information about deploying and configuring your Node.js app in the GAE flexible environment, see:
- Our GAE flex examples on Github for Python
- Google App Engine's documentation for Python
- Google App Engine's tutorials to deploy a Python app
Recommendation: Disable health checks
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 /_ah/health
.
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.
Recommendation: Configure your app.yaml
to disable health checks by adding:
health_check: enable_health_check: False
Get agent troubleshooting logs from GAE
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.
To redirect Python agent logs to Stackdriver in the Cloud Platform Console, add the following statement to the
newrelic.ini
configuration:log_file = stderrTo view the logs, use the Cloud Platform Console's Log Viewer.