npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@newrelic/newrelic-eks-blueprints-addon

v1.0.9

Published

[![New Relic Experimental header](https://github.com/newrelic/opensource-website/raw/master/src/images/categories/Experimental.png)](https://opensource.newrelic.com/oss-category/#new-relic-experimental)

Downloads

81

Readme

New Relic Experimental header

New Relic Addon - AWS EKS Blueprints for AWS CDK

This repository contains the source code for the New Relic AddOn for AWS EKS Blueprints. EKS Blueprints for AWS CDK is a framework that makes it easy for customers to configure and deploy New Relic's Kubernetes integration as part of an EKS Blueprints cluster on Amazon EKS.

Installation

Using npm:

npm install @newrelic/newrelic-eks-blueprints-addon

For a quick tutorial on EKS Blueprints, visit the Getting Started guide.

Retrieving keys

The New Relic and Pixie keys can be obtained from the New Relic Guided Install for Kubernetes.

AWS Secrets Manager key format

{
  "nrLicenseKey": "xxxxNRAL",
  "pixieDeployKey": "px-dep-xxxx",
  "pixieApiKey": "px-api-xxxx"
}

Example Configuration (using keys stored in Secrets Manager):

import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { NewRelicAddOn } from '@newrelic/newrelic-eks-blueprints-addon';

const app = new cdk.App();

blueprints.EksBlueprint.builder()
    .addOns(new blueprints.MetricsServerAddOn)
    .addOns(new blueprints.ClusterAutoScalerAddOn)
    .addOns(new blueprints.SSMAgentAddOn)
    .addOns(new blueprints.SecretsStoreAddOn)
    .addOns(new NewRelicAddOn({
        version: "4.3.2",
        newRelicClusterName: "demo-cluster",
        awsSecretName: "newrelic-pixie-combined", // Secret Name in AWS Secrets Manager
        installPixie: true,
        installPixieIntegration: true,
    }))
    .region(process.env.AWS_REGION)
    .account(process.env.AWS_ACCOUNT)
    .build(app, 'demo-cluster');

Example Configuration (using keys):

import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { NewRelicAddOn } from '@newrelic/newrelic-eks-blueprints-addon';

const app = new cdk.App();

blueprints.EksBlueprint.builder()
    .addOns(new blueprints.MetricsServerAddOn)
    .addOns(new blueprints.ClusterAutoScalerAddOn)
    .addOns(new blueprints.SSMAgentAddOn)
    .addOns(new blueprints.SecretsStoreAddOn)
    .addOns(new NewRelicAddOn({
        version: "4.3.2",
        newRelicClusterName: "demo-cluster",
        newRelicLicenseKey: "NEW RELIC LICENSE KEY",
        installPixie: true,
        installPixieIntegration: true,
        pixieApiKey: "PIXIE API KEY",
        pixieDeployKey: "PIXIE DEPLOY KEY"
    }))
    .region(process.env.AWS_REGION)
    .account(process.env.AWS_ACCOUNT)
    .build(app, 'demo-cluster');

Validation

NRQL Query


Almost immediately after the New Relic pods enter a Running state in the cluster, data should be reported to New Relic. You can validate that metrics are making it to New Relic with the following NRQL query in Query Builder:

FROM K8sClusterSample, K8sNodeSample select latest(clusterK8sVersion), latest(agentVersion) as 'NR Agent Ver.', uniqueCount(nodeName) as 'Node Count' facet clusterName limit max

New Relic Query Builder

New Relic One UI


After installing the New Relic add-on, you can validate a successful installation by visiting New Relic's Entity Explorer filtered to Kubernetes Clusters.

New Relic Entity Explorer

Variables

| Variable | Type | Required | Description | |-------------------------|------------------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | newRelicLicenseKey | string | True | New Relic License Key (plain text). Use awsSecretName instead for AWS Secrets Manager support and added security. | | awsSecretName | string | True | AWS Secret name containing the New Relic and Pixie keys in AWS Secrets Manager. Define secret in JSON format with the following keys: { "nrLicenseKey": "REPLACE WITH YOUR NEW RELIC LICENSE KEY", "pixieDeployKey": "REPLACE WITH YOUR PIXIE LICENSE KEY", "pixieApiKey": "REPLACE WITH YOUR PIXIE API KEY" } Keys can be obtained in the New Relic Guided Install for Kubernetes | | newRelicClusterName | string | | Name for the cluster in the New Relic UI. Defaults to EKS cluster name if no name is provided. | | pixieApiKey | string | | Pixie Api Key can be obtained in New Relic's Guided Install for Kubernetes (plaintext). Use awsSecretName instead for AWS Secrets Manager support and added security. | | pixieDeployKey | string | | Pixie Deploy Key can be obtained in New Relic's Guided Install for Kubernetes - (plaintext). Use awsSecretName instead for AWS Secrets Manager support and added security. | | namespace | string | | The namespace where New Relic components will be installed. Defaults to newrelic. | | lowDataMode | boolean | | Default true. Set to false to disable lowDataMode . For more details, visit the Reducing Data Ingest Docs | | installInfrastructure | boolean | | Default true . Set to false to disable installation of the New Relic Infrastructure Daemonset. | | installKSM | boolean | | Default true . Set to false to disable installation of Kube State Metrics. An instance of KSM is required in the cluster for the New Relic Infrastructure Daemonset to function properly. | | installKubeEvents | boolean | | Default true . Set to false to disable installation of the New Relic Kubernetes Events integration. | | installLogging | boolean | | Default true . Set to false to disable installation of the New Relic Logging (Fluent-Bit) Daemonset. | | installMetricsAdapter | boolean | | Default false . Set to true to enable installation of the New Relic Kubernetes Metrics Adapter. | | installPrometheus | boolean | | Default true . Set to false to disable installation of the Prometheus OpenMetrics Integration. | | installPixie | boolean | | Default false . Set to true to enable installation Pixie into the cluster. | | installPixieIntegration | boolean | | Default false . Set to true to enable installation the New Relic <-> Pixie integration pod into the cluster. | | version | string | | Helm chart version. | | repository | string | | Additional options for customers who may need to supply their own private Helm repository. | | release | string | | Additional options for customers who may need to supply their own private Helm repository. | | chart | string | | Additional options for customers who may need to supply their own private Helm repository. | | values | { [key: string]: any } | | Custom values to pass to the chart. Config options: https://github.com/newrelic/helm-charts/tree/master/charts/nri-bundle#configuration |

Support

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.

https://discuss.newrelic.com/

Contributing

We encourage your contributions to improve the New Relic Addon for EKS Blueprints! Keep in mind when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project. If you have any questions, or to execute our corporate CLA, required if your contribution is on behalf of a company, please drop us an email at [email protected].

A note about vulnerabilities

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.

License

The New Relic Addon for EKS Blueprints is licensed under the Apache 2.0 License.