Skip to content

An app to facilitate dashboard restoration and audit dashboard change events.

License

Notifications You must be signed in to change notification settings

newrelic-experimental/nr1-dashboard-history

New Relic Experimental header

NR1 Dashboard History and Restoration

This New Relic One app makes it simple to view the change history of any dashboard in your New Relic accounts, or to restore deleted dashboards.

Dashboard Listings Screenshot

Use Cases

  1. Dashboard change history quick view

    You can use this app to access a quick view of a given dashboard's change history, allowing you to understand at a glance what actions have been taken against a dashboard, when and by whom.

  2. Fast and easy dashboard restoration

    While it is possible to locate the GUID of a deleted dashboard and request an undelete for that GUID, there is no way to see the user-friendly name of a dashboard once it has been deleted. Without access to the dashboard name, it can be extremely difficult to identify the desired dashboard for restoration. Using this app maintains the mapping of a dasboard GUID to its name even after it is deleted, allowing for rapid dashboard location and restoration via button click.

Pre-requisites

If you want to display deleted dashboards in the app, you will need to have deployed one of the scripts found in the synthetics directory. Note that we can only keep track of dashboards that are deleted after the synthetic script starts running.

To build and deploy the app, make sure you have set up your environment.

Installation

  • Clone the repo
  • run npm install
  • run nr1 nerdpack:uuid -gf

Follow these instructions to test locally.

Follow these instructions to publish the app to New Relic, and subscribe your account to use it.

Usage Guide

The app consists of three main components - follow each link for more details:

  1. Dashboard Listing
  2. Restore Workflow
  3. Change History

Issues

To view a listing of enhancement requests and known bugs - or to request a new feature or report a bug - please visit the repository issues page.

Constraints

Deleted dashboards availability

Deleted dashboards will only appear in the Dashboard Listings if they are deleted after the Synthetic script is deployed. Dashboards that were deleted before the Synethic was created will not be available for restoration in the app.

Additionally, deleted dashboards entries are stored as custom events. Custom events are retained for a specific period of time (which can be customized) - the default retention period is 30 days. If a dashboard is not restored within the retention period, it will no longer be avialble for restoration via the app. So, assuming the default retention, if you have a dashboard that is deleted on day 1 and is not restored, it will no longer be available for restoration in the app on day 31.

Note that dashboards can still be recovered even if they do not appear in the app - you can do so by leveraging the dashboard undelete graphql mutation. If you know approximately when or who deleted your dashboard, you can look for the appropriate guid by issuing the following query:

FROM NrAuditEvent SELECT targetId, actorEmail WHERE actionIdentifier = 'dashboard.delete' SINCE [your time frame]

Security

New Relic is committed to the privacy and security of our customers and their data; review our security policy for details.