backstage
New Relic Plugin (Alpha)
Website: https://newrelic.com
Getting Started
This plugin uses the Backstage proxy to securely communicate with New Relic's APIs.
-
Add the following to your
app-config.yaml
to enable this configuration:proxy:'/newrelic/apm/api':target: https://api.newrelic.com/v2headers:X-Api-Key: ${NEW_RELIC_REST_API_KEY}allowedHeaders:- linkThere is some types of api key on new relic, to this use must be
User
type of key, In your production deployment of Backstage, you would also need to ensure that you've set theNEW_RELIC_REST_API_KEY
environment variable before starting the backend.While working locally, you may wish to hard-code your API key in your
app-config.local.yaml
like this:# app-config.local.yamlproxy:'/newrelic/apm/api':headers:X-Api-Key: NRRA-YourActualApiKeyallowedHeaders:- linkRead more about how to find or generate this key in New Relic's Documentation.
See if it's working by visiting the New Relic Plugin Path: /newrelic
-
Add a dependency to your
packages/app/package.json
:# From your Backstage root directoryyarn --cwd packages/app add @backstage/plugin-newrelic -
Add the
NewRelicPage
to yourpackages/app/src/App.tsx
:<FlatRoutes>…<Route path="/newrelic" element={<NewRelicPage />} /></FlatRoutes> -
Add link to New Relic to your sidebar
// packages/app/src/components/Root/Root.tsximport ExtensionIcon from '@material-ui/icons/ExtensionOutlined';...export const Root = ({ children }: PropsWithChildren<{}>) => (<SidebarPage><Sidebar>...<SidebarItem icon={ExtensionIcon} to="newrelic" text="New Relic" />...</Sidebar></SidebarPage>); -
Navigate to your.domain.com/newrelic.
At this step you must be able to see a page like that
Features
- View New Relic Application Performance Monitoring (APM) data such as:
- Application Name
- Response Time (ms)
- Throughput (rpm)
- Error Rate
- Instance Count
- Apdex Score
Limitations
- Currently only supports New Relic APM data
You can also serve the plugin in isolation by running yarn start
in the plugin directory.
This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads.
It is only meant for local development, and the setup for it can be found inside the /dev directory.