nri-network-telemetry

module
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: May 19, 2020 License: Apache-2.0

README

Community Project header

Network Telemetry

Testing Security Scan Go Report Card GoDoc License CLA assistant Release

Docker Stars Docker Pulls Docker Size Docker Version

Network Telemetry Integration for New Relic

Usage

nr1-network-telemetry collects data from network devices that export Sflow or IPFIX network samples. This data can be visualized through the Network Telemetry Nerdpack.

Open Source License

This project is distributed under the Apache 2 license.

What do you need to make this work?

  1. New Relic Insights and the related access to New Relic One.
  2. New Relic Insights Insert API Key
  3. New Relic Account ID
  4. New Relic APM License Key (Optional for integration to report health status)

Deploying

Requirements:

Note: The make command should install all other dependencies, so you must have a properly configured Go Environment including $GOPATH/bin in your $PATH.

Building the Integration

Clone this repository and run the following scripts:

# Clone the repository
git clone https://github.com/newrelic/nri-network-telemetry.git

cd nri-network-telemetry

# By default this will install deps, run lint and test,
# and compile binaries for the current OS / Arch
make

# Binaries are generated by operating system,
# so replace <os> with the correct value

# Test run in debug mode, printing flow data to the console:
./bin/<os>/nri-network-telemetry -d -n -t LOG

Deploy the binary into your environment following your best practices.

Configuring

The flow collector is configured mostly via Environment variables. This method is to ease the deployment via containerization. Here are the supported and required environment variables:

Env Var Required Default Description
NEW_RELIC_ACCOUNT_ID Yes - New Relic Account ID for reporting data
NEW_RELIC_INSERT_KEY Yes - New Relic Insights Insert API Key
NEW_RELIC_LICENSE_KEY Yes - New Relic APM License Key for reporting metrics (REQUIRED unless NR Agent is disabled)
BIND_ADDRESS No 0.0.0.0 IP Address the service will listen on
FLOW_BIND_ADDRESS No 0.0.0.0 IP Address the Flow Server will listen on
FLOW_PORT No 6343 UDP Port to listen for sflow and IPFIX
SFLOW_EVENT_TYPE No sflow Insights EventType to store sflow data
IPFIX_EVENT_TYPE No ipfix Insights EventType to store ipfix data
EMIT_TARGET No INSIGHTS Target to send collected data (`LOG
HTTP_PORT No 8080 HTTP Port for health checks
NEW_RELIC_ENABLED No true Enable New Relic APM for the integration itself
SERVICE_NAME No NRNT New Relic APM Service Name
NETWORKS_FILE No - File containing Network, ASN, AS Organization data (see below)

Data Augmentation

BGP Peer Names

To enabled the peerName attribute in Insights, you'll need create and deploy a csv file with the following format (Excluding the Header):

network,autonomous_system_number,autonomous_system_organization

Sample:

192.168.0.0/16, 65535, My Internal ASNs
10.0.0.0/8, 65534, Another Example ASN

There are multiple sources of this information available both commercially and for free. New Relic does not sponsor or recommend any specific datasource for this information.

Network Device Configuration

Sflow

This is a sample configuration for Arista to export sflow data to the integration. You will need to use the correct vrf, destination, and source-interface to match your environment. BGP Extension is not required, but supported.

sflow sample 16384
sflow polling-interval 3600
sflow vrf MGMT destination 10.x.x.x
sflow vrf MGMT source-interface Management1
sflow run
!
sflow extension bgp
IPFIX

IPFIX configuration is much more complex than sflow, and varies based on the hardware manufacturer. Please see your specific hardware manufacturers site for instructions on configuring an IPFIX destination.

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 Explorer's Hub. You can find this project's topic/threads here:

https://discuss.newrelic.com/c/build-on-new-relic/nri-network-telemetry (Note: URL subject to change before GA)

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.

Contributing

Contributions are welcome (and if you submit a 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 opensource@newrelic.com.

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

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