Network Telemetry
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?
- New Relic Insights and the related access to New Relic One.
- New Relic Insights Insert API Key
- New Relic Account ID
- 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.
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.