The New Relic VMware Tanzu (PCF) Nozzle Tile is a Firehose nozzle that forwards metrics from VMware Tanzu Loggregator in VMware Tanzu to New Relic for visualization.
This code can be either pushed as a regular VMware Tanzu application with cf push
or installed in Ops Manager using the tile version.
The tile is also available in the Pivotal Network alongside the documentation describing how to configure and use the nozzle.
See our documentation for more details.
The New Relic VMware Tanzu Nozzle Tile is compatible with VMware Tanzu 2.4 and higher.
The V2 release includes several additional features as well as breaking changes. Deployment configurations, alerts, and dashboards might require updates. Full details are available in the V2 notes.
- Reverse Log Proxy Gateway and V2 Envelope Format
- Event type adjustments
- Event attribute modifications
- Event aggregation - metric type events
- Multi-account event routing
- Caching and rate limiting - VMware Tanzu API calls
- Configuration variable changes
- Log message filters
- Metric type filters removed
- Graceful shutdown
The application is prebuilt and can be pushed as an application or imported to Ops Manager. If you make any changes to the code, you can rebuild both the binary and the tile.
- Get
dep
to manage dependencies:
$ go get -u github.com/golang/dep/cmd/dep
- Generate the
nr-fh-nozzle
binary inside./dist
:
$ make build-linux
You can then deploy the application with cf push
using the newly generated files, as described in the push as an application section.
- Install bosh-cli and tile-generator.
- Generate the tile under
./product
.
$ make release
You can use the generated tile right away and import it to Ops Manager.
- Access to a VMware Tanzu environment
- VMware Tanzu API credentials with admin rights
- VMware Tanzu UAA authorized client
- Set your environment variables as per the
manifest.yml.sample
file. - Run
go run main.go
To run tests and compile locally:
$ make build
You can create a new doppler.firehose
enabled client instead of retrieving the default client:
$ uaac target https://uaa.[your cf system domain]
$ uaac token client get admin -s [your admin-secret]
$ uaac client add firehose-to-newrelic \
--name firehose-to-newrelic \
--secret [your_client_secret] \
--authorized_grant_types client_credentials,refresh_token \
--authorities doppler.firehose,cloud_controller.admin_read_only \
--scope doppler.firehose
firehose-to-newrelic
: yourNRF_CF_CLIENT_ID
env variable.--secret
: yourNRF_CF_CLIENT_SECRET
env variable.
When you push the app as an application, you must edit manifest.yml
first
- Download the
manifest.yml.sample
file and the release from the repo. - Unzip the release, rename
manifest.yml.sample
tomanifest.yml
and place the file in thedist
directory. - Modify the manifest file to match your environment.
- Deploy:
cf push -f <manifest file>
Make sure to assign proper values to all required environment variables. Any property values within angle brackets need to be changed to the correct value for your environment.
When you're pushing the nozzle as an app, the
product
andrelease
folders are not required. Make sure to remove both folders to reduce the size of the upload, or use the.cfignore
file.
Import the tile from releases to Ops Mgr. Once imported, install the tile, and follow the steps detailed in the Pivotal Partner Docs.
A VMware Tanzu dashboard could be manually imported to New Relic dashboards using the Dashboard API. Follow this documentation to get detailed information about where to obtain the Admin user API key and to use the API explorer.
- Go to API Explorer
- Use your Admin user API key
- Copy the content of dashboard.json and paste to the dashboard parameter of the request.
- Send the request
Should you need assistance with New Relic products, you are in good hands with several support diagnostic tools and support channels.
If the issue has been confirmed as a bug or is a feature request, file a GitHub issue.
Support Channels
- New Relic Documentation: Comprehensive guidance for using our platform
- New Relic Community: The best place to engage in troubleshooting questions
- New Relic Developer: Resources for building a custom observability applications
- New Relic University: A range of online training for New Relic users of every level
- New Relic Technical Support 24/7/365 ticketed support. Read more about our Technical Support Offerings.
At New Relic we take your privacy and the security of your information seriously, and are committed to protecting your information. We must emphasize the importance of not sharing personal data in public forums, and ask all users to scrub logs and diagnostic information for sensitive information, whether personal, proprietary, or otherwise.
We define “Personal Data” as any information relating to an identified or identifiable individual, including, for example, your name, phone number, post code or zip code, Device ID, IP address, and email address.
For more information, review New Relic’s General Data Privacy Notice.
We encourage your contributions to improve this project! 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 one time 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 [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 our bug bounty program.
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.
The project is released under version 2.0 of the Apache License.