Giter Club home page Giter Club logo

nr1-neon's Introduction

New Relic One Catalog Project header

Neon

CI GitHub release (latest SemVer including pre-releases) Snyk

Usage

Create a single dashboard to track the health of entire business units or regions. Neon lets you create a status board based on New Relic alert status, or the values from New Relic events.

Home Page

A Sample Board

Open Source License

This project is distributed under the Apache 2 license.

What do you need to make this work?

In order to view status of New Relic alerts, you'll need to set up a webhook notification channel for the alert policies.

See Creat Alert Webhook Notification Channel

Getting started

First, ensure that you have Git, NPM and the New Relic One CLI installed. If you're unsure whether you have these installed, run the following command(s). If you have them installed these commands will return a version number, if not, the commands won't be recognized.

git --version
npm -v
nr1 --version

Next, clone this repository and run the following scripts:

nr1 nerdpack:clone -r https://github.com/newrelic/nr1-neon.git
cd nr1-neon
nr1 nerdpack:uuid -gf
npm install
npm start

What you have just installed is a local version of neon.

To test the nerdpack, go to https://one.newrelic.com/?nerdpacks=local and click on the Neon icon to launch the application.

Screenshot #1

Close the Welcome screen and click the plus icon (+) to create your first board.

Screenshot #2

Click the HELP button for documentation on getting started.

To stop the application from running on your local machine, run control-C.

To re-run the application on your local machine, run

npm start

Publish and Deploy this Nerdpack

Once you've modified and tested Neon to your requirements, you are ready to publish and deploy in in your New Relic account so others can have access to this application.

The instructions below assume that you have created a profile with an associated API key. If you haven't done this step, please review the publish and Deploy details found in developer.newrelic.com

Open a command prompt in the nerdpack's directory and run the following commands.

To create a new uuid for the nerdpack so that you can deploy it to your account:
nr1 nerdpack:uuid -gf [--profile=your_profile_name]

To see a list of APIkeys / profiles available in your development environment:
nr1 profiles:list

nr1 nerdpack:publish [--profile=your_profile_name]
nr1 nerdpack:deploy [-c [DEV|BETA|STABLE]] [--profile=your_profile_name]
nr1 nerdpack:subscribe [-c [DEV|BETA|STABLE]] [--profile=your_profile_name]

Visit https://one.newrelic.com, navigate to the Nerdpack, and ✨

Support

New Relic has open-sourced this project. This project is provided AS-IS WITHOUT WARRANTY OR SUPPORT, although you can report issues and contribute to the project here on GitHub.

Please do not report issues with this software to New Relic Global Technical Support.

Community

New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub. You can find this project's topic/threads here:

https://discuss.newrelic.com/c/build-on-new-relic

Issues / Enhancement Requests

Issues and enhancement requests can be submitted in the Issues tab of this repository. Please search for and review the existing open issues before submitting a new issue.

Security

As noted in our security policy, New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.

If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through HackerOne.

Contributing

Contributions are welcome (and if you submit an Enhancement Request, expect to be invited to contribute it yourself 😁). Please review our Contributors Guide.

Keep in mind that when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. If you'd like to execute our corporate CLA, or if you have any questions, please drop us an email at [email protected].

nr1-neon's People

Contributors

amit-y avatar aswanson-nr avatar austin-schaefer avatar brammerl avatar danielgolden avatar devfreddy avatar glitton avatar jbeveland27 avatar michellosier avatar moonlight-komorebi avatar nr-mlosier avatar nr-opensource-bot avatar prototypicalpro avatar rudouglas avatar siva-epari avatar tabathadelane avatar tangollama avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nr1-neon's Issues

Augment the edit screen documentation

Add tooltips and/or descriptions for

  • a description under Edit Board Titles about how Rows, Columns, and Cells connect
  • a tooltip/description under Rows
  • a tooltip/description under Columns
  • a tooltip/description under Cells (this is particularly important detail)

Upgrade the project meta data to support new catalog commands

Add metadata to the repository that matches the example laid out here.

  • Add a config.json file to a catalog directory in the repo root, matching this format.
  • Move the /screenshots directory into catalog:
    • Update the screenshot file names (matching this format)
    • Update the screenshot links in the README.md.
  • Add a documentation.md file to a catalog directory in the repo root, matching this format.
  • (Optional) If there's additional documentation referenced in the repo, add a additionalInfo.md file to a catalog directory in the repo root, matching this format.
  • Update the relative paths in documentation.md to be absolute paths
  • Add the new header image to the top of README.md and catalog/documentation.md.
  • Ensure the README.md commands section matches Justin's snippet.
  • Run npm start and let the CLI move the nr1.json
    • Edit that file to make sure the name and description make sense.

Edit/delete rows and columns

Summary

Not only does there need to be a dashboard delete. There also needs to be a way to edit or delete rows and columns due to typo's etc ...

Originally posted by @fwcombs (see #2)

No/Blank result with new relic attribute on custom insights events

NRQL result
image

the query returns the value as 0 and I am using New Relic Attribute feature to display the status of the app as red when 0 and green when 1.
image

I am seeing blank blocks regardless of the value of the attribute from the event. Double checked the event on both places, attribute value, time picker window etc.
image

Would appreciate any help!

[Repolinter] Open Source Policy Issues

Repolinter Report

πŸ€–This issue was automatically generated by repolinter-action, developed by the Open Source and Developer Advocacy team at New Relic. This issue will be automatically updated or closed when changes are pushed. If you have any problems with this tool, please feel free to open a GitHub issue or give us a ping in #help-opensource.

This Repolinter run generated the following results:

❗ Error ❌ Fail ⚠️ Warn βœ… Pass Ignored Total
0 0 0 13 0 13

Passed #

Click to see rules

βœ… license-file-exists #

Found file (LICENSE). New Relic requires that all open source projects have an associated license contained within the project. This license must be permissive (e.g. non-viral or copyleft), and we recommend Apache 2.0 for most use cases. For more information please visit https://docs.google.com/document/d/1vML4aY_czsY0URu2yiP3xLAKYufNrKsc7o4kjuegpDw/edit.

βœ… readme-file-exists #

Found file (README.md). New Relic requires a README file in all projects. This README should give a general overview of the project, and should point to additional resources (security, contributing, etc.) where developers and users can learn further. For more information please visit https://github.com/newrelic/open-source-tools/tree/master/javascript/oss-template.

βœ… readme-starts-with-nr1-catalog-header #

The first 1 lines contain all of the requested patterns. (README.md). The README of a community plus project should have a NR1 Catalog header at the start of the README. If you already have a NR1 Catalog header and this rule is failing, your header may be out of date, and you should update your header with the suggested one below. For more information please visit https://opensource.newrelic.com/oss-category/.

βœ… readme-contains-security-section #

Contains a security section (README.md). New Relic recommends having a Security section in your README to address concerns such as vulnerability reporting. This security section should also contain a link to the security policy (found under the "Security" tab of the repository). For an example of this section, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… readme-contains-link-to-security-policy #

Contains a link to the security policy for this repository (README.md). New Relic recommends referencing the open source security policy (https://github.com/newrelic/<repo-name>/security/policy or ../../security/policy) in a Security section in the README. For an example of this, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… readme-contains-discuss-topic #

Contains a link to the appropriate discuss.newrelic.com topic (README.md). New Relic recommends directly linking the your appropriate discuss.newrelic.com topic in the README, allowing developer an alternate method of getting support. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… third-party-notices-file-exists #

Found file (THIRD_PARTY_NOTICES.md). A THIRD_PARTY_NOTICES.md file must be present to grant attribution to all dependencies being used by this project. For JavaScript projects, you can generate this file using the oss-cli. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… code-of-conduct-file-does-not-exist #

New Relic has moved the CODE_OF_CONDUCT file to a centralized location where it is referenced automatically by every repository in the New Relic organization. Because of this change, any other CODE_OF_CONDUCT file in a repository is now redundant and should be removed. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view. Did not find a file matching the specified patterns. All files passed this test.

βœ… github-actions-workflow-file-exists #

Found file (.github/workflows/catalog.yml). Any Community Plus project must integrate with GitHub actions. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… nr1-catalog-config-file-exists #

Found file (catalog/config.json).

βœ… nr1-catalog-screenshots-directory-exists #

Found file (catalog/screenshots).

βœ… nr1-catalog-documentation-file-exists #

Found file (catalog/documentation.md).

βœ… package-scripts-present #

An eslint-check and eslint-fix npm script found in file (package.json). NPM scripts for ESLint (eslint-check and eslint-fix) are required to properly integrate with the nerdpack system.

[Repolinter] Open Source Policy Issues

Repolinter Report

πŸ€–This issue was automatically generated by repolinter-action, developed by the Open Source and Developer Advocacy team at New Relic. This issue will be automatically updated or closed when changes are pushed. If you have any problems with this tool, please feel free to open a GitHub issue or give us a ping in #help-opensource.

This Repolinter run generated the following results:

❗ Error ❌ Fail ⚠️ Warn βœ… Pass Ignored Total
0 3 0 9 0 12

Fail #

❌ readme-starts-with-nr1-catalog-header #

The README of a community plus project should have a NR1 Catalog header at the start of the README. If you already have a NR1 Catalog header and this rule is failing, your header may be out of date. For more information please visit https://opensource.newrelic.com/oss-category/. Below is a list of files or patterns that failed:

  • README.md: The first 1 lines do not contain the pattern(s): Open source NR1 Catalog header (see https://opensource.newrelic.com/oss-category).
    • πŸ”¨ Suggested Fix: prepend [![New Relic One Catalog Project header](https://github.com/newrelic/opensource-website/raw/master/src/images/categories/New_Relic_One_Catalog_Project.png)](https://opensource.newrelic.com/oss-category/#new-relic-one-catalog-project) to file

❌ readme-contains-security-section #

Doesn't contain a security section (README.md). New Relic recommends having a Security section in your README to address concerns such as vulnerability reporting. This security section should also contain a link to the security policy (found under the "Security" tab of the repository). For an example of this section, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

❌ readme-contains-link-to-security-policy #

Doesn't contain a link to the security policy for this repository (README.md). New Relic recommends referencing the open source security policy (https://github.com/newrelic/<repo-name>/security/policy or ../../security/policy) in a Security section in the README. For an example of this, please see the NR1 Catalog Template. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

Passed #

Click to see rules

βœ… license-file-exists #

Found file (LICENSE). New Relic requires that all open source projects have an associated license contained within the project. This license must be permissive (e.g. non-viral or copyleft), and we recommend Apache 2.0 for most use cases. For more information please visit https://docs.google.com/document/d/1vML4aY_czsY0URu2yiP3xLAKYufNrKsc7o4kjuegpDw/edit.

βœ… readme-file-exists #

Found file (README.md). New Relic requires a README file in all projects. This README should give a general overview of the project, and should point to additional resources (security, contributing, etc.) where developers and users can learn further. For more information please visit https://github.com/newrelic/open-source-tools/tree/master/javascript/oss-template.

βœ… readme-contains-discuss-topic #

Contains a link to the appropriate discuss.newrelic.com topic (README.md). New Relic recommends directly linking the your appropriate discuss.newrelic.com topic in the README, allowing developer an alternate method of getting support. For more information please visit https://nerdlife.datanerd.us/new-relic/security-guidelines-for-publishing-source-code.

βœ… third-party-notices-file-exists #

Found file (THIRD_PARTY_NOTICES.md). A THIRD_PARTY_NOTICES.md file must be present to grant attribution to all dependencies being used by this project. For JavaScript projects, you can generate this file using the oss-cli. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… github-actions-workflow-file-exists #

Found file (.github/workflows/pr.yml). Any Community Plus project must integrate with GitHub actions. For more information please visit https://docs.google.com/document/d/1y644Pwi82kasNP5VPVjDV8rsmkBKclQVHFkz8pwRUtE/view.

βœ… nr1-catalog-config-file-exists #

Found file (catalog/config.json).

βœ… nr1-catalog-screenshots-directory-exists #

Found file (catalog/screenshots).

βœ… nr1-catalog-documentation-file-exists #

Found file (catalog/documentation.md).

βœ… package-scripts-present #

An eslint-check and eslint-fix npm script found in file (package.json). NPM scripts for ESLint (eslint-check and eslint-fix) are required to properly integrate with the nerdpack system.

Add a WHERE clause for attribute

Summary

When checking upon an attribute, you might need to filter using a WHERE clause. For example if you're sending alerts for multiple sub-accounts to a single account, you need a way to filter on which account you are displaying in a row/column

Desired Behaviour

Filter the result of an attribute based on some value.

Possible Solution

When selecting a row/column/attribute/operator and value, there could be a tickbox to define a WHERE clause where you pick an attribute, operator (IN, NOT IN, LIKE) and a value.

Additional context

Sending alerts from multiple new relic sub accounts to a single account.

Augment the Board setup to support for Tags

Summary

Amend the functionality of the Neon configuration to include tags in the definition of a board / panel within a board.

Desired Behaviour

Add/Edit/Delete tags from a board definition in the edit screen

Possible Solution

Additional context

Refactor the use of PlatformStateContext, NerdletStateContext, and AutoSizer

The current implementation on those components falls outside of our best practice. We need to resolve that. Look to some of the refactoring in @newrelic/nr1-browser-analyzer for patterns.

  • The objective is to make of the context states in the render method that needs that data vs. the entire Nerdlet (a workaround for the original programmability GA)
  • removing the use of AutoSizer all together if it's not needed

Not working with percentile attributes

Description

I have read the instructions and help docs about Neon, but I think you should be able to create alerts with percentiles attributes, for example, median(cpuIdlePercent) .

But when you try to set this attribute name you get a blank space in the corresponding cell.

Steps to Reproduce

  • Add a board and on it, click in setup board.
  • Add rows, columns.
  • Add cells. In Select data type, select New Relic Attribute.
  • Type a Attribute Name related with percentiles. For example median(cpuIdlePercent) or percentile(cpuIdlePercent)
  • Click button Add.

You will see a blank space as result in the cell instead of the alert or value.

Expected Behaviour

Get the result as it would be any other attribute value. Not a blank space.

Relevant Logs / Console output

issue_neon_6

Your Environment

  • NR1 CLI version used: @datanerd/nr1/1.22.2 linux-x64 node-v10.16.3
  • Browser name and version: Chrome VersiΓ³n 77.0.3865.75 (Build oficial) (64 bits)
  • Operating System and version: Ubuntu 18.04.3 LTS 64 Bits

Additional context

I would do my Pull Request releated to this issue.

NR1 library deprecation issues

Repolinter Report

This report was generated automatically by the Repolinter.

This Repolinter run generated the following results:

❗ Error ❌ Fail ⚠️ Warn βœ… Pass Ignored Total
0 1 0 6 0 7

Fail #

❌ nr1-lib-deprecation-dropdown-label #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/dropdown. For more information please visit newrelic/developer-website#1033. Below is a list of files or patterns that failed:

  • nerdlets/neon-nerdlet/account-picker.js: Contains The Dropdown label property is deprecated.

Passed #

Click to see rules

βœ… nr1-lib-deprecation-accountpicker-onchange #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/account-picker. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-icon-sizetype #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/icon. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-entity-title-table-row-cell-value-reporting #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/entity-title-table-row-cell. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-tooltip-classname #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/tooltip. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-tooltip-style #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/tooltip. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-tablerow-actions-icontype #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/table-row. For more information please visit newrelic/developer-website#1033. All files passed this test.

On empty state, provide a more friendly look ahead for the setup

Currently, the empty state of the application doesn't provide appropriate documentation to highlight that an Alert hooks needs to be configured against.

  • On empty state, execute a NRQL query to determine in Alert events exist in NRDB
  • If no, surface a message explaining that the webhook needs to be setup and linking to a document in the Neon repository related to #24
  • If yes, confirm that there is data available for setting up alerts

NR1 library deprecation issues

Repolinter Report

This report was generated automatically by the Repolinter.

This Repolinter run generated the following results:

❗ Error ❌ Fail ⚠️ Warn βœ… Pass Ignored Total
0 2 0 5 0 7

Fail #

❌ nr1-lib-deprecation-dropdown-label #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/dropdown. For more information please visit newrelic/developer-website#1033. Below is a list of files or patterns that failed:

  • nerdlets/neon-nerdlet/account-picker.js: Contains The Dropdown label property is deprecated.

❌ nr1-lib-deprecation-icon-sizetype #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/icon. For more information please visit newrelic/developer-website#1033. Below is a list of files or patterns that failed:

  • nerdlets/neon-nerdlet/mother-board.js: Contains The Icon sizeType property is deprecated.

Passed #

Click to see rules

βœ… nr1-lib-deprecation-accountpicker-onchange #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/account-picker. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-entity-title-table-row-cell-value-reporting #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/entity-title-table-row-cell. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-tooltip-classname #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/tooltip. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-tooltip-style #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/tooltip. For more information please visit newrelic/developer-website#1033. All files passed this test.

βœ… nr1-lib-deprecation-tablerow-actions-icontype #

See the New Relic Developer docs for current API details https://developer.newrelic.com/components/table-row. For more information please visit newrelic/developer-website#1033. All files passed this test.

Unable to delete some boards

Description

We created a couple of demo boards in Neon and as soon as I enter the dashboard, I'm getting a screen with "Oops, something went wrong" message. This means we cant delete these demo boards.

Steps to Reproduce

A couple of boards work and couple won't, so hard to say what is causing the issue
NOTE: # ( Please be as specific as possible. )

Expected Behaviour

Relevant Logs / Console output

image

one.newrelic.com-1585870483799.log

Your Environment

  • NR1 CLI version used:
  • Browser name and version:
  • Operating System and version:

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.