include new relic in probe.

This commit is contained in:
Nawaz Dhandala
2021-06-30 22:18:42 +01:00
parent a31eb782a4
commit d17b93c6ea
6 changed files with 4348 additions and 4027 deletions

View File

@@ -91,6 +91,14 @@ spec:
value: {{ .Values.haraka.fromEmail }}
- name: INTERNAL_SMTP_NAME
value: {{ .Values.haraka.fromName }}
{{- if .Values.newRelic.backend.licenseKey }}
- name: NEW_RELIC_LICENSE_KEY
value: {{ .Values.newRelic.backend.licenseKey }}
{{- end }}
{{- if .Values.newRelic.backend.appName }}
- name: NEW_RELIC_APPLICATION_NAME
value: {{ .Values.newRelic.backend.appName}}
{{- end }}
- name: CLUSTER_KEY
valueFrom:
configMapKeyRef:
@@ -105,10 +113,6 @@ spec:
value: 'true'
- name: AIRTABLE_API_KEY
value: {{ .Values.saas.airtable.key }}
- name: NEW_RELIC_LICENSE_KEY
value: {{ .Values.newRelic.backend.licenseKey }}
- name: NEW_RELIC_APPLICATION_NAME
value: {{ .Values.newRelic.backend.appName}}
- name: AIRTABLE_BASE_ID
value: {{ .Values.saas.airtable.baseId }}
- name: IS_THIRD_PARTY_BILLING

View File

@@ -33,6 +33,14 @@ spec:
value: {{ $value.name }}
- name: PROBE_KEY
value: {{ $value.key }}
{{- if $.Values.newRelic.probe.licenseKey }}
- name: NEW_RELIC_LICENSE_KEY
value: {{ $.Values.newRelic.probe.licenseKey }}
{{- end }}
{{- if $.Values.newRelic.probe.appName }}
- name: NEW_RELIC_APPLICATION_NAME
value: {{ $.Values.newRelic.probe.appName}}
{{- end }}
- name: CLUSTER_KEY
valueFrom:
configMapKeyRef:

View File

@@ -1,3 +1,8 @@
// if new relic license key exists. Then load the key.
if(process.env.NEW_RELIC_LICENSE_KEY){
require('newrelic');
}
const { NODE_ENV } = process.env;
if (!NODE_ENV || NODE_ENV === 'development') {

69
probe/newrelic.js Normal file
View File

@@ -0,0 +1,69 @@
'use strict'
/**
* New Relic agent configuration.
*
* See lib/config/default.js in the agent distribution for a more complete
* description of configuration variables and their potential values.
*/
exports.config = {
/**
* Array of application names.
*/
app_name: [process.env.NEW_RELIC_APPLICATION_NAME],
/**
* Your New Relic license key.
*/
license_key: process.env.NEW_RELIC_LICENSE_KEY,
/**
* This setting controls distributed tracing.
* Distributed tracing lets you see the path that a request takes through your
* distributed system. Enabling distributed tracing changes the behavior of some
* New Relic features, so carefully consult the transition guide before you enable
* this feature: https://docs.newrelic.com/docs/transition-guide-distributed-tracing
* Default is true.
*/
distributed_tracing: {
/**
* Enables/disables distributed tracing.
*
* @env NEW_RELIC_DISTRIBUTED_TRACING_ENABLED
*/
enabled: true
},
logging: {
/**
* Level at which to log. 'trace' is most useful to New Relic when diagnosing
* issues with the agent, 'info' and higher will impose the least overhead on
* production applications.
*/
level: 'info'
},
/**
* When true, all request headers except for those listed in attributes.exclude
* will be captured for all traces, unless otherwise specified in a destination's
* attributes include/exclude lists.
*/
allow_all_headers: true,
attributes: {
/**
* Prefix of attributes to exclude from all destinations. Allows * as wildcard
* at end.
*
* NOTE: If excluding headers, they must be in camelCase form to be filtered.
*
* @env NEW_RELIC_ATTRIBUTES_EXCLUDE
*/
exclude: [
'request.headers.cookie',
'request.headers.authorization',
'request.headers.proxyAuthorization',
'request.headers.setCookie*',
'request.headers.x*',
'response.headers.cookie',
'response.headers.authorization',
'response.headers.proxyAuthorization',
'response.headers.setCookie*',
'response.headers.x*'
]
}
}

8280
probe/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -30,6 +30,7 @@
"get-ssl-certificate": "^2.3.3",
"lighthouse": "^6.0.0",
"moment": "^2.24.0",
"newrelic": "^7.5.1",
"node-cron": "^2.0.3",
"node-fetch": "^2.6.1",
"node-ssh": "^11.1.1",