New Relic Service Broker for VMware Tanzu enables you to use one or more New Relic accounts and is deployed as a Java app on VMware Tanzu. A service broker allows Cloud Foundry apps to bind to services and consume the services easily from the Apps Manager or from the command line.
How it works
The broker exposes the New Relic service on the Marketplace and allows users to directly create a service instance and bind it to their apps either from Apps Manager or from the command line.
The New Relic Service Broker for VMware Tanzu tile installs the New Relic Service Broker as an app, registers it as a service broker on VMware Tanzu, and exposes its service plans on the Marketplace. Each service plan is associated with an existing New Relic account, which is configured during the tile setup.
Selecting a plan binds your app with the New Relic agent, and the agent starts reporting to the New Relic account which is associated with the selected plan. This makes the installation and subsequent use of New Relic on your VMware Tanzu apps easier and more straightforward.
Prerequisites
New Relic Nozzle for VMware Tanzu has the following requirements:
- Service broker v1.12.18 and later
- For service brokers on v1.12.12 and earlier, the unique GUIDs for plans were calculated differently. For these plans to not break compatibility, the GUIDs must be the same as before. The migration script preserves the plan GUIDs for existing plans in the plan collection for v1.12.12 and earlier.
The following table provides version and version-support information about the service broker for VMware Tanzu.
Element | Details |
---|---|
Version | 1.12.34 |
Release date | January 25, 2024 |
Software component version | New Relic Service Broker 1.12.34 |
Compatible Ops Manager version(s) | 2.9.x, 2.10.x, and 3.x |
Compatible VMware Tanzu Application Service for VMs versions | 2.10.x, 2.11.x, 2.12.x, 2.13.x, 3.x, 4.x and 5.x |
BOSH stemcell version | Ubuntu Jammy |
IaaS support | AWS, GCP, Azure, and vSphere |
The current tile removes the all_open
security group from the tile default security settings. If you are using a previous versions of the tile, make your VMware Tanzu environment more secure by removing the all_open
security group from the Application Security Group (ASG) settings. The new version of the tile doesn't open the security, nor does it close the security if it was already open.
Install through Ops Manager
To download New Relic Service Broker for VMware Tanzu tile and install it on VMware Tanzu Ops Manager, do the following:
- Download the product file from Pivotal Network.
- Import the product file to your Ops Manager installation.
- Click the + sign or Add next to the uploaded product description in the Ops Manager left navigation view to add this product to your staging area.
- Click the newly added tile and review any configurable options.
- Click Apply Changes.
Configure the tile
Log in to Ops Manager.
Click Import a Product and import the New Relic Service Broker for VMware Tanzu tile.
Click the + button to the right of “New Relic Service Broker” that you uploaded.
Select the New Relic tile.
Configure Availability Zone and Network.
Configure Service Broker Global Access. You can either keep the global access enabled for all service plans (default), or you can disable global access. You can give access through configuration for one or more orgs for each service plan that you add.
Configure the New Relic Service Broker. Click Add from the Service Plan screen to create a new service plan.
Create a service plan with your New Relic license key.
- Enter a name for the service plan (no spaces).
- Enter description of the plan.
- Log in to your New Relic account and navigate to the Account Settings page from the drop-down menu in the upper right corner of the page. Copy the license key from your New Relic account and paste it here.
- If you are upgrading from New Relic Service Broker 1.12.12 or older, make sure you follow the instructions in the upgrade section of this document to check “pre 1.12.12 plan” flag and enter the pre 1.12.12 plan GUID.
- If you are running New Relic Firehose Nozzle and would like to route the data for each application to a separate New Relic account (as opposed to New Relic’s central Firehose Nozzle account) enter the target New Relic account and Insights Insert Key here.
- If in previous steps you unchecked Global Access, you need to enter a comma-separated list of orgs so that the system enables service access for them to allow users to create service instances of this plan.
Select the button on top the page to go to
INSTALLATION DASHBOARD
Apply your changes.
- Click the blue button on the top right.
- To speed up the process you could uncheck Select All Products checkbox, and select to apply change to New Relic Service Broker tile.
On completion of the installation, check the Services Marketplace in Apps Manager. Select New Relic tile.
View New Relic Service Plans, and select the desired plan.
Enter the service instance name and click on “CREATE” button to create the service instance.
Service Plan created.
Bind the New Relic Service to an app.
Restage the application. You can select the link at the top of the Bind page, or in a terminal window, and run
cf restage
to make the changes.bash$cf restage APPNAME
Log in to New Relic to view monitoring data.
Configure with HTTP proxy
If the VMware Tanzu environment needs to use an HTTP or HTTPS proxy for external outbound communication, the service broker itself doesn't need to know anything about the HTTP proxy,
as it relays the license keys to the consumer apps. The consumer app should specify the http\_proxy
or https\_proxy
as an environment variable for the agent to communicate externally with non-Java apps,
and use JAVA_OPTS
for Java apps. In addition, the New Relic Agent should also be configured with its own
set of parameters (-Dnewrelic.config.\*)
to communicate with its controller through the proxy for Java language apps.
To specify using http_proxy
for the New Relic non-Java app agent to talk to its controller using the proxy, run the following commands:
$cf set-env APPNAME http_proxy 'http://user:password@proxy-server.customer.example.com:8080'$cf set-env APPNAME https_proxy 'http://user:password@proxy-server.customer.example.com:8080'
To specify using JAVA_OPTS
for the New Relic Java agent to talk to its controller using the proxy, run the following command:
$cf set-env APPNAME JAVA_OPTS " -Dtest.value=barbar$ -Dnewrelic.config.proxy_host=proxy.customer.example.com$ -Dnewrelic.config.proxy_port=8080
If a Java app also needs to talk through a proxy, add the Java proxy settings in addition to the New Relic agent proxy settings with the following command:
$cf set-env APPNAME JAVA_OPTS " -Dtest.value=barbar$ -Dnewrelic.config.proxy_host=proxy.customer.example.com$ -Dnewrelic.config.proxy_port=8080$ -Dhttp.proxyHost=proxy.customer.example.com-Dhttp.proxyPort=8080$ -Dhttps.proxyHost=proxy.customer.example.com -Dhttps.proxyPort=8080
For a non-Java app that needs to talk outbound using a proxy, run the following commands:
$cf set-env APPNAME http_proxy http://user@password:myproxy....:8080/$cf set-env APPNAME https_proxy https://user@password:myproxy....:8080/
Whenever making changes to Cloud Foundry environment variables, you must restage your app(s) to make the changes effective.
$cf restage APPNAME
You can set these environment variables individually per app, or with environment variable groups to be set for all apps as part of staging, running environments, etc. using the Cloud Foundry Command Line Interface (cf CLI) tool.
Environment variable groups
running-environment-variable-group/revg
: Retrieve the contents of the running environment variable groupstaging-environment-variable-group/sevg
: Retrieve the contents of the staging environment variable groupset-staging-environment-variable-group/ssevg
: Pass parameters as JSON to create a staging environment variable groupset-running-environment-variable-group/srevg
: Pass parameters as JSON to create a running environment variable group
Use the JAVA\_OPTS
environment variable to specify New Relic Agent-specific environment variables in the staging environment group so the Java buildpack can use that and push it in the correct place. Specifying JAVA_OPTS in the Runtime environment variable group won't yield anything, as the buildpack won't know about it.
For example:
$cf ssevg '{ "JAVA_OPTS" : " -Dtest.value=barbar$ -Dnewrelic.config.proxy_host=proxy.customer.example.com$ -Dnewrelic.config.proxy_port=8080 -Dhttp.proxyHost=proxy.customer.example.com$ -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.customer.example.com$ -Dhttps.proxyPort=8080 -Dspring.profiles.active=dev$ -Dnewrelic.config.log_level=finer$ -Djavax.net.debug=all ", "test_env_profile" : "Staging" }'
For more information, see Configuration settings precedence.
Package dependencies for Offline Buildpacks
If you're running VMware Tanzu in an offline (disconnected) environment, you should recreate and package the dependencies, including the New Relic agent binaries, using offline buildpacks in your VMware Tanzu environment.
For more information, see Packaging Dependencies for Offline Buildpacks.
Feedback
If you have a feature request, questions, or information about a bug, please submit an issue on github.