Skip to content

Set up New Relic for Staging and Production #334

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ gem 'importmap-rails'
gem 'jbuilder'
gem 'jquery-rails'
gem 'mysql2'
gem 'newrelic_rpm'
gem 'omniauth', '1.9.2'
gem 'omniauth-oauth2'
gem 'omniauth-rails_csrf_protection'
Expand Down
2 changes: 2 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,7 @@ GEM
net-smtp (0.5.0)
net-protocol
net-ssh (7.2.0)
newrelic_rpm (9.11.0)
nio4r (2.7.3)
nokogiri (1.16.6-arm64-darwin)
racc (~> 1.4)
Expand Down Expand Up @@ -591,6 +592,7 @@ DEPENDENCIES
jbuilder
jquery-rails
mysql2
newrelic_rpm
omniauth (= 1.9.2)
omniauth-oauth2
omniauth-rails_csrf_protection
Expand Down
4 changes: 3 additions & 1 deletion config/deploy/production.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@
# http://capistranorb.com/documentation/getting-started/configuration/
# Feel free to add new variables to customise your setup.


set :default_env, {
'NEW_RELIC_ENV' => 'production'
}

# Custom SSH Options
# ==================
Expand Down
4 changes: 3 additions & 1 deletion config/deploy/staging.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@
# http://capistranorb.com/documentation/getting-started/configuration/
# Feel free to add new variables to customise your setup.


set :default_env, {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since RAILS_ENV is to production in both staging and production, I'm using this to override what environment New Relic thinks it is. This will help keep staging and production data separate in New Relic.

'NEW_RELIC_ENV' => 'staging'
}

# Custom SSH Options
# ==================
Expand Down
68 changes: 68 additions & 0 deletions config/newrelic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#
# This file configures the New Relic Agent. New Relic monitors Ruby, Java,
# .NET, PHP, Python, Node, and Go applications with deep visibility and low
# overhead. For more information, visit www.newrelic.com.
#
# Generated October 28, 2022
#
# This configuration file is custom generated for NewRelic Administration
#
# For full documentation of agent configuration options, please refer to
# https://docs.newrelic.com/docs/agents/ruby-agent/installation-configuration/ruby-agent-configuration

common: &default_settings
# Required license key associated with your New Relic account.
license_key: <%= Settings.NEWRELIC_LICENSE_KEY %>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is set in the production.yml file on both staging and production.


# Your application name. Renaming here affects where data displays in New
# Relic. For more details, see https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/renaming-applications
app_name: 'Spatial Data Repository'

distributed_tracing:
enabled: true

# To disable the agent regardless of other settings, uncomment the following:

# agent_enabled: false

# Logging level for log/newrelic_agent.log
log_level: info

application_logging:
# If `true`, all logging-related features for the agent can be enabled or disabled
# independently. If `false`, all logging-related features are disabled.
enabled: true
forwarding:
# If `true`, the agent captures log records emitted by this application.
enabled: true
# Defines the maximum number of log records to buffer in memory at a time.
max_samples_stored: 10000
metrics:
# If `true`, the agent captures metrics related to logging for this application.
enabled: true
local_decorating:
# If `true`, the agent decorates logs with metadata to link to entities, hosts, traces, and spans.
# This requires a log forwarder to send your log files to New Relic.
# This should not be used when forwarding is enabled.
enabled: false

# Environment-specific settings are in this section.
# RAILS_ENV or RACK_ENV (as appropriate) is used to determine the environment.
# If your application has other named environments, configure them here.
development:
<<: *default_settings
app_name: 'Spatial Data Repository (Development)'
# Disabled to avoid checking in New Relic license key into Git for now
monitor_mode: false

test:
<<: *default_settings
# It doesn't make sense to report to New Relic from automated test runs.
monitor_mode: false

staging:
<<: *default_settings
app_name: 'Spatial Data Repository (Staging)'

production:
<<: *default_settings
1 change: 1 addition & 0 deletions config/settings/development.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
SECRET_KEY_BASE: 6c51f19b57fdebd3dfd2a3cf8b69fab7f41a529b6bfbf8bff4a85815934066cbe22ddf7fa6083f227288c04e4eeb6c28f0fd90e31fc02314aaceb135dacecc07

DEVISE_SECRET_TOKEN: 2c847492b6d434c808e63a93ff16a7a897aa4c09943edaaf7aa498a29649048113cf55731282e39a82ae7ce3fb9f1087586d474fc483ad6f63806986a5a02a6c
NEWRELIC_LICENSE_KEY: none
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To avoid putting the license key in Git, I'm setting this to none and disabling monitoring in development.

SOLR_INSTANCE_DIR: tmp/sdr-core-development
SOLR_INSTANCE_NAME: sdr-core-development
SOLR_URL: http://127.0.0.1:8989/solr/sdr-core-development
Expand Down
1 change: 1 addition & 0 deletions config/settings/test.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
SECRET_KEY_BASE: 6c51f19b57fdebd3dfd2a3cf8b69fab7f41a529b6bfbf8bff4a85815934066cbe22ddf7fa6083f227288c04e4eeb6c28f0fd90e31fc02314aaceb135dacecc07

DEVISE_SECRET_TOKEN: bfbd360e6b465662c331578b3598323559980c73fde2dea24a8253089a5efa8f27775e9ba60838128e9f3feaec643c67397d8bd5f7c6f67a4b06114b32cc617c
NEWRELIC_LICENSE_KEY: none
SOLR_INSTANCE_DIR: tmp/sdr-core-test
SOLR_INSTANCE_NAME: sdr-core-test
SOLR_URL: http://127.0.0.1:8983/solr/sdr-core-test
Expand Down