The New Relic CLI is an officially supported command line interface for New Relic, released as part of the Developer Toolkit
The New Relic CLI is a project to consolidate some of the tools that New Relic offers for managing resources. Current scope is limited while the framework is being developed, but the tool as-is does perform a subset of tasks.
- Entity Search: Search for entities across all your New Relic accounts
- Entity Tagging: Manage tags across all of your entities
- Deployment Markers: Easily record an APM Application deployment within New Relic.
For a quick guide on getting started with the New Relic CLI, see our Getting Started page.
The latest New Relic CLI documentation is available here.
There are a handful of other useful tools that this does not replace. Here are some useful links to other tools that you might be interested in using at this time.
- NR1 CLI: Command line interface for managing development workflows for custom Nerdpacks on New Relic One.
- New Relic Lambda CLI: A CLI to install the New Relic AWS Lambda integration and layers.
- New Relic Diagnostics: A utility that automatically detects common problems with New Relic agents.
Installation options are available for various platforms.
Install the New Relic CLI on MacOS via homebrew
. With homebrew
installed, run:
brew install newrelic-cli
Installation is supported on 64-bit Windows.
scoop bucket add newrelic-cli https://github.com/newrelic/newrelic-cli.git
scoop install newrelic-cli
Currently the newrelic-cli
is in review with in the Chocolatey system, and
should be published in the next few days. That means that you must include the
version spec, as follows.
choco install newrelic-cli
A standalone MSI installer is available on the GitHub releases page. You can download the installer for the latest version here.
Silent installation of the latest version of the CLI can be achieved via the follwing Powershell command:
(New-Object System.Net.WebClient).DownloadFile("https://github.com/newrelic/newrelic-cli/releases/latest/download/NewRelicCLIInstaller.msi", "$env:TEMP\NewRelicCLIInstaller.msi"); `
msiexec.exe /qn /i "$env:TEMP\NewRelicCLIInstaller.msi" | Out-Null; `
Linux binaries can be installed via Snapcraft. With the snapd
daemon installed, run:
sudo snap install newrelic-cli
Pre-built binaries are created on the GitHub releases page for all of the above platforms. You can download the latest releases here. The binaries and their checksums are signed and can be verified against the Developer Toolkit team's public PGP key.
There is an official docker image that can be utilized for running commands as well.
# Pull the latest container
$ docker pull newrelic/cli
# Run the container interactively, remove it once the command exists
# Also must pass $NEW_RELIC_API_KEY to the container
$ docker run -it --rm \
-e NEW_RELIC_API_KEY \
newrelic/cli \
apm application get --name WebPortal --accountId 2508259
[
{
"AccountID": 2508259,
"ApplicationID": 204261368,
"Domain": "APM",
"EntityType": "APM_APPLICATION_ENTITY",
"GUID": "MjUwODI1OXxBUE18QVBQTElDQVRJT058MjA0MjYxMzY4",
"Name": "WebPortal",
"Permalink": "https://one.newrelic.com/redirect/entity/MjUwODI1OXxBUE18QVBQTElDQVRJT058MjA0MjYxMzY4",
"Reporting": true,
"Type": "APPLICATION"
}
]
See the Getting Started guide for a more in-depth introduction to the capabilities of the New Relic CLI.
In order to get help about what commands are available, the trusty --help
flag is here to assist. Alternatively, using just the help
subcommand also works.
newrelic --help
newrelic help
Help is also available for the nested sub-commands. For example, the with the
following command, you can retrieve help for the apm
sub-command.
newrelic apm --help
newrelic help apm
Using the CLI in this way, users are able to inspect what commands are available, with some instruction on their usage.
Throughout the help, you may notice common patterns. The term describe
is
used to perform list or get operations, while the create
and delete
terms
are used to construct or destroy an item, respectively.
- Go 1.13.0+
- GNU Make
- git
The newrelic
command will be built in bin/ARCH/newrelic
, where ARCH
is either linux
, darwin
, or windows
, depending on your build environment. You can run it directly from there or install it by moving it to a directory in your PATH
.
# Default target is 'build'
$ make
# Explicitly run build
$ make build
# Locally test the CI build scripts
# make build-ci
Before contributing, all linting and tests must pass. Tests can be run directly via:
# Tests and Linting
$ make test
# Only unit tests
$ make test-unit
# Only integration tests
$ make test-integration
Using the following format for commit messages allows for auto-generation of the CHANGELOG:
<type>(<scope>): <subject>
Type | Description | Change log? |
---|---|---|
chore |
Maintenance type work | No |
docs |
Documentation Updates | Yes |
feat |
New Features | Yes |
fix |
Bug Fixes | Yes |
refactor |
Code Refactoring | No |
This refers to what part of the code is the focus of the work. For example:
General:
build
- Work related to the build system (linting, makefiles, CI/CD, etc)release
- Work related to cutting a new release
Package Specific:
newrelic
- Work related to the New Relic packagehttp
- Work related to theinternal/http
packagealerts
- Work related to thepkg/alerts
package
Note: This requires the repo to be in your GOPATH (godoc issue)
$ make docs
New Relic hosts and moderates an online forum where you can interact with New Relic employees as well as other customers to get help and share best practices.
- Roadmap - As part of the Developer Toolkit, the roadmap for this project follows the same RFC process
- Issues or 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.
- Contributors Guide - Contributions are welcome (and if you submit a Enhancement Request, expect to be invited to contribute it yourself π).
- Community discussion board - Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub.
Please do not report issues with the CLI to New Relic Global Technical Support. Instead, visit the Explorers Hub
for troubleshooting and best-practices.
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.
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 [email protected].
This project is distributed under the Apache 2 license.