diff --git a/.github/workflows/deploy-demo.yml b/.github/workflows/deploy-demo.yml
index 8fc3b8819..8dfe9905c 100644
--- a/.github/workflows/deploy-demo.yml
+++ b/.github/workflows/deploy-demo.yml
@@ -55,6 +55,7 @@ jobs:
BASIC_AUTH_PASSWORD: ${{ secrets.BASIC_AUTH_PASSWORD }}
REDIS_ENABLED: ${{ secrets.REDIS_ENABLED }}
NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }}
+ NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }}
with:
cf_username: ${{ secrets.CLOUDGOV_USERNAME }}
cf_password: ${{ secrets.CLOUDGOV_PASSWORD }}
@@ -70,6 +71,7 @@ jobs:
--var BASIC_AUTH_USERNAME="curiousabout"
--var BASIC_AUTH_PASSWORD="$BASIC_AUTH_PASSWORD"
--var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY"
+ --var NR_BROWSER_KEY="$NR_BROWSER_KEY"
- name: Check for changes to egress config
id: changed-egress-config
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 16f146bad..e496fd1ec 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -60,6 +60,7 @@ jobs:
BASIC_AUTH_PASSWORD: ${{ secrets.BASIC_AUTH_PASSWORD }}
REDIS_ENABLED: ${{ secrets.REDIS_ENABLED }}
NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }}
+ NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }}
with:
cf_username: ${{ secrets.CLOUDGOV_USERNAME }}
cf_password: ${{ secrets.CLOUDGOV_PASSWORD }}
@@ -75,6 +76,7 @@ jobs:
--var BASIC_AUTH_USERNAME="curiousabout"
--var BASIC_AUTH_PASSWORD="$BASIC_AUTH_PASSWORD"
--var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY"
+ --var NR_BROWSER_KEY="$NR_BROWSER_KEY"
- name: Check for changes to egress config
id: changed-egress-config
diff --git a/app/config.py b/app/config.py
index 3487c370c..34da3b1a8 100644
--- a/app/config.py
+++ b/app/config.py
@@ -1,6 +1,7 @@
import json
from os import getenv
+import newrelic.agent
import pytz
from app.cloudfoundry_config import cloud_config
@@ -28,6 +29,14 @@ class Config(object):
BASIC_AUTH_USERNAME = getenv('BASIC_AUTH_USERNAME')
BASIC_AUTH_PASSWORD = getenv('BASIC_AUTH_PASSWORD')
+ NR_ACCOUNT_ID = getenv('NR_ACCOUNT_ID')
+ NR_TRUST_KEY = getenv('NR_TRUST_KEY')
+ NR_AGENT_ID = getenv('NR_AGENT_ID')
+ NR_APP_ID = getenv('NR_APP_ID')
+ NR_BROWSER_KEY = getenv('NR_BROWSER_KEY')
+ settings = newrelic.agent.global_settings()
+ NR_MONITOR_ON = settings and settings.monitor_mode
+
TEMPLATE_PREVIEW_API_HOST = getenv('TEMPLATE_PREVIEW_API_HOST', 'http://localhost:9999')
TEMPLATE_PREVIEW_API_KEY = getenv('TEMPLATE_PREVIEW_API_KEY', 'my-secret-key')
diff --git a/app/templates/main_template.html b/app/templates/main_template.html
index 970d146b4..c6f6fbbc6 100644
--- a/app/templates/main_template.html
+++ b/app/templates/main_template.html
@@ -7,9 +7,13 @@
- {% block pageTitle %}GOV.UK - The best place to find government services and information{% endblock %}
+ {% block pageTitle %}U.S. Notify{% endblock %}
{# Hardcoded value of $govuk-black #}
+ {% if config['NR_MONITOR_ON'] %}
+ {% include "partials/newrelic.html" -%}
+ {% endif %}
+
{# Ensure that older IE versions always render with the correct rendering engine #}
diff --git a/app/templates/partials/newrelic.html b/app/templates/partials/newrelic.html
new file mode 100644
index 000000000..8d671077c
--- /dev/null
+++ b/app/templates/partials/newrelic.html
@@ -0,0 +1,7 @@
+
diff --git a/deploy-config/demo.yml b/deploy-config/demo.yml
index 2f82ea6e6..d8cd8e2b0 100644
--- a/deploy-config/demo.yml
+++ b/deploy-config/demo.yml
@@ -2,3 +2,5 @@ env: demo
instances: 1
memory: 1G
public_admin_route: notify-demo.app.cloud.gov
+nr_agent_id: "1134302465"
+nr_app_id: "1083160688"
diff --git a/deploy-config/production.yml b/deploy-config/production.yml
index add5bbef2..9b9249bfd 100644
--- a/deploy-config/production.yml
+++ b/deploy-config/production.yml
@@ -2,3 +2,5 @@ env: production
instances: 2
memory: 1G
public_admin_route: notify.app.cloud.gov
+nr_agent_id: ""
+nr_app_id: ""
diff --git a/deploy-config/sandbox.yml b/deploy-config/sandbox.yml
index d19f62493..0bd9ddd03 100644
--- a/deploy-config/sandbox.yml
+++ b/deploy-config/sandbox.yml
@@ -9,3 +9,6 @@ SECRET_KEY: sandbox-notify-secret-key
BASIC_AUTH_USERNAME: sandbox
BASIC_AUTH_PASSWORD: sandbox
REDIS_ENABLED: 1
+nr_agent_id: ""
+nr_app_id: ""
+NR_BROWSER_KEY: ""
diff --git a/deploy-config/staging.yml b/deploy-config/staging.yml
index 9478a72a2..e16b81f4b 100644
--- a/deploy-config/staging.yml
+++ b/deploy-config/staging.yml
@@ -2,3 +2,5 @@ env: staging
instances: 1
memory: 1G
public_admin_route: notify-staging.app.cloud.gov
+nr_agent_id: "1134291385"
+nr_app_id: "1031640326"
diff --git a/manifest.yml b/manifest.yml
index 804ca9c59..ba416939a 100644
--- a/manifest.yml
+++ b/manifest.yml
@@ -26,6 +26,12 @@ applications:
NEW_RELIC_CONFIG_FILE: newrelic.ini
NEW_RELIC_ENVIRONMENT: ((env))
+ NR_ACCOUNT_ID=3389907
+ NR_TRUST_KEY=562946
+ NR_AGENT_ID=((nr_agent_id))
+ NR_APP_ID=((nr_app_id))
+ NR_BROWSER_KEY=((NR_BROWSER_KEY))
+
REDIS_ENABLED: ((REDIS_ENABLED))
ADMIN_BASE_URL: https://((public_admin_route))
API_HOST_NAME: https://notify-api-((env)).apps.internal:61443
diff --git a/newrelic.ini b/newrelic.ini
index 63ee1ea2c..8d8df6f36 100644
--- a/newrelic.ini
+++ b/newrelic.ini
@@ -45,7 +45,7 @@ distributed_tracing.enabled = true
# application and reports this data to the New Relic UI at
# newrelic.com. This global switch is normally overridden for
# each environment below.
-monitor_mode = true
+monitor_mode = false
# Sets the name of a file to log agent messages to. Useful for
# debugging any issues with the agent. This is not set by
@@ -177,7 +177,7 @@ error_collector.ignore_errors =
# For those Python web frameworks that are supported, this
# setting enables the auto-insertion of the browser monitoring
# JavaScript fragments.
-browser_monitoring.auto_instrument = true
+browser_monitoring.auto_instrument = false
# A thread profiling session can be scheduled via the UI when
# this option is enabled. The thread profiler will periodically
diff --git a/sample.env b/sample.env
index 2f83e2c20..78956aa09 100644
--- a/sample.env
+++ b/sample.env
@@ -27,3 +27,8 @@ REDIS_URL=redis://localhost:6379/0
# New Relic
NEW_RELIC_CONFIG_FILE=newrelic.ini
NEW_RELIC_LICENSE_KEY="don't write secrets to the sample file"
+NR_ACCOUNT_ID=3389907
+NR_TRUST_KEY=562946
+NR_AGENT_ID=1134289521
+NR_APP_ID=1013682065
+NR_BROWSER_KEY="don't write secrets to the sample file"