newrelic-pixie-integration

module
v1.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2021 License: Apache-2.0

README

Community Project header

New Relic Pixie Integration

The Pixie integration pulls a set of curated observability data from Pixie to send it to New Relic using the OpenTelemetry line protocol. The integration leverages PXL scripts to retrieve the data from Pixie.

Getting Started

Make sure you have a Pixie account and a New Relic account set up, and have collected the following information:

Building

make build-container

Docker is required to build the Pixie integration container image.

Usage

docker run --env-file ./env.list -it newrelic/newrelic-pixie-integration:latest

Define the following environment variables in the env.list file:

CLUSTER_NAME=
PIXIE_API_KEY=
PIXIE_CLUSTER_ID=
NR_LICENSE_KEY=

The following environment variables are optional.

HTTP_SPAN_LIMIT=5000
DB_SPAN_LIMIT=1000
COLLECT_INTERVAL_SEC=10
HTTP_SPAN_COLLECT_INTERVAL_SEC=10
JVM_COLLECT_INTERVAL_SEC=10
MYSQL_COLLECT_INTERVAL_SEC=10
POSTGRES_COLLECT_INTERVAL_SEC=10
EXCLUDE_PODS_REGEX=
EXCLUDE_NAMESPACES_REGEX=
PIXIE_ENDPOINT=work.withpixie.ai:443
NR_OTLP_HOST=otlp.nr-data.net:4317
VERBOSE=true

The *_LIMIT and *_INTERVAL_SEC environment variables can be used to control the amount of data that is sent to New Relic. The COLLECT_INTERVAL_SEC environment variable sets the collection interval for all PXL scripts. The other *_INTERVAL_SEC environment variables are overrides for the individual scripts. Setting the interval to 0 will disable sending that data to New Relic. The smallest valid interval is 2 seconds.

The EXCLUDE_PODS_REGEX and EXCLUDE_NAMESPACES_REGEX environment variables can be configured with RE2 regular expressions to not send observability data to New Relic for the matching pods and namespaces. When EXCLUDE_NAMESPACES_REGEX is provided, no data for the matching namespaces will be sent. When EXCLUDE_PODS_REGEX is provided, no data for the matching pods (independent of the namespace they are in) will be sent.

Testing

After executing the command above Pixie data should be flowing into your New Relic account. Use the following NRQL queries to verify this:

Metrics

SELECT * FROM Metric WHERE instrumentation.provider='pixie'

Spans

SELECT * FROM Span WHERE instrumentation.provider='pixie'

Support

New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other users 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/t/new-relic-pixie-integration/143646

Contribute

We encourage your contributions to improve the Pixie integration! Keep in mind that 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 once per project.

If you have any questions, or to execute our corporate CLA (which is required if your contribution is on behalf of a company), drop us an email at opensource@newrelic.com.

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.

If you would like to contribute to this project, review these guidelines.

To all contributors, we thank you! Without your contribution, this project would not be what it is today.

License

The New Relic Pixie integration is licensed under the Apache 2.0 License.

The integration also uses source code from third-party libraries. You can find full details on which libraries are used and the terms under which they are licensed in the third-party notices document.

Directories

Path Synopsis
internal
adapter
Adapted from https://github.com/open-telemetry/opentelemetry-go/blob/e9aaa04b8f88b0f8158bd27f72e57d33878f5bdd/trace/trace.go
Adapted from https://github.com/open-telemetry/opentelemetry-go/blob/e9aaa04b8f88b0f8158bd27f72e57d33878f5bdd/trace/trace.go
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL