New Relic CLI について
New Relic CLI はエンティティとワークロードの管理、デプロイメントマーカーの記録、監視プロファイルの追加、NerdGraph GraphQL クエリの実行ができます。開発者はコマンドライン ワークフローに可観測性操作を統合できます。
主な機能
- 01New Relic エンティティとワークロードを検索・管理する
- 02デプロイメントマーカーとバージョン情報を記録する
- 03NerdGraph GraphQL クエリを実行して New Relic データにアクセスする
活用シーン
- 01リリースプロセス中にデプロイメントマーカーを自動記録する
- 02コマンドラインから可観測性データをクエリ・分析する
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
インストール後にnewrelic --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
詳細
newrelic-cli
New Relic CLI は、Developer Toolkit の一部としてリリースされた、New Relic が公式にサポートするコマンドラインインターフェイスです。
概要
New Relic CLI は、New Relic がリソース管理向けに提供するツールの一部を統合するプロジェクトです。フレームワークの開発中のため、現在の対象範囲は限定されていますが、現時点のツールでも一部のタスクを実行できます。
- エンティティ検索:すべての New Relic アカウントからエンティティを検索します
- エンティティのタグ付け:すべてのエンティティのタグを管理します
- デプロイメントマーカー:New Relic 内で APM アプリケーションのデプロイメントを簡単に記録します。
はじめに
New Relic CLI の利用を始めるための簡単なガイドについては、はじめにのページをご覧ください。
New Relic CLI のドキュメント
最新の New Relic CLI ドキュメントは、リポジトリの docs ディレクトリで確認できます。
インストールとアップグレード
さまざまなプラットフォーム向けのインストール方法が用意されています。古いバージョンの CLI を実行している場合は、次のコマンドを使って最新バージョンに更新できます。
MacOS
自動インストール
curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash
Homebrew
homebrew を使って MacOS に New Relic CLI をインストールします。homebrew がインストールされている場合は、次を実行します。
brew install newrelic-cli
Windows
64 ビット版 Windows でのインストールに対応しています。
自動インストール
[Net.ServicePointManager]::SecurityProtocol = 'tls12, tls'; (New-Object System.Net.WebClient).DownloadFile("https://download.newrelic.com/install/newrelic-cli/scripts/install.ps1", "$env:TEMP\install.ps1"); & $env:TEMP\install.ps1
Scoop
scoop bucket add newrelic-cli https://github.com/newrelic/newrelic-cli.git
scoop install newrelic-cli
Chocolatey
choco install newrelic-cli
スタンドアロンインストーラー
スタンドアロンの MSI インストーラーは、New Relic のダウンロードサイトから入手できます。最新バージョンのインストーラーはこちらからダウンロードできます。
Powershell
次の Powershell コマンドを実行すると、最新バージョンの CLI をサイレントインストールできます。
(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
自動インストール
curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash
Snapcraft
Linux バイナリはSnapcraftからインストールできます。snapd デーモンをインストールした状態で、次のコマンドを実行します。
sudo snap install newrelic-cli
ビルド済みバイナリ
上記のすべてのプラットフォーム向けに、ビルド済みバイナリを用意しています。最新リリースはこちらからダウンロードできます。バイナリとそのチェックサムには署名が付与されており、Developer Toolkit チームの公開 PGP キーを使って検証できます。
ダウンロードしたキーのフィンガープリントが次の値と一致することを確認してください。
gpg --fingerprint [email protected]
D3EE EEE8 80A9 1DEE 209A 82CC 4F9A 9B5B 96EC 30B9
ビルド済みバイナリとチェックサムを検証する際は、長い形式を使用してください(短い形式は安全ではありません)。たとえば、次のようにします。
gpg --keyid-format long --verify checksums.txt.sig checksums.txt
Docker
コマンドの実行にも利用できる、公式のdocker イメージがあります。
使用例
APM アプリケーションへのクエリ(Docker イメージを使用)
# 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"
}
]
New Relic CLI の機能について詳しく知りたい場合は、入門ガイドをご覧ください。
ヘルプの表示
使用できるコマンドについてヘルプを表示するには、おなじみの --help
フラグを使います。または、help サブコマンドだけを使う方法もあります。
newrelic --help
newrelic help
ネストされたサブコマンドのヘルプも表示できます。たとえば、次の
コマンドを実行すると、apm サブコマンドのヘルプを取得できます。
newrelic apm --help
newrelic help apm
この方法で CLI を使用すると、利用可能なコマンドとその使用方法の 説明を確認できます。
パターン
ヘルプ全体を通して、共通のパターンに気付くことがあります。describe は
一覧表示または取得操作に使用され、create と delete はそれぞれ項目の
作成と削除に使用されます。
開発
要件
- Go 1.19+
- GNU Make
- git
ビルド
newrelic コマンドは bin/ARCH/newrelic にビルドされます。ARCH はビルド環境に応じて linux、darwin、または windows になります。その場所から直接実行するか、PATH 内のディレクトリに移動してインストールできます。
# Default target is 'build'
$ make
# Explicitly run build
$ make build
# Locally test the CI build scripts
# make build-ci
テスト
コントリビュートする前に、すべてのリンティングとテストに合格する必要があります。テストは次のコマンドで直接実行できます。
# Tests and Linting
$ make test
# Only unit tests
$ make test-unit
# Only integration tests
$ make test-integration
レシピの操作
コアレシピライブラリ
install コマンドで使用するインストールレシピのコアライブラリが CLI に含まれています。レシピファイルはopen-install-libraryから配布され、リリース時に CLI バイナリに埋め込まれます。開発中に最新のレシピライブラリを取得するには、次の make ターゲットを使用できます。
make recipes
レシピファイルは internal/install/recipes/files に保存されます。ファイルを取得すると、今後の CLI ビルドに含まれます。特定のバージョンのレシピライブラリが必要な場合は、RECIPES_ARCHIVE_URL オプションを使ってアーカイブのダウンロード URL を make ターゲットに渡せます。
make recipes RECIPES_ARCHIVE_URL=https://github.com/newrelic/open-install-library/releases/download/v0.50.0/recipes.zip
レシピファイルを削除するには、recipes-clean ターゲットを使用します。
make recipes-clean
カスタムレシピファイル
install コマンドの実行時に、--localRecipes フラグにパスを渡すこともできます。この場合、上記の方法は使わず、指定したパスからファイルを読み込みます。
コミットメッセージ
コミットメッセージに以下の形式を使用すると、 CHANGELOGを自動生成できます。
形式:
<type>(<scope>): <subject>
| Type | 説明 | 変更履歴に記載するか |
|---|---|---|
chore | メンテナンス作業 | いいえ |
docs | ドキュメントの更新 | はい |
feat | 新機能 | はい |
fix | バグ修正 | はい |
refactor | コードのリファクタリング | いいえ |
スコープ
作業の対象となるコードの部分を指します。例:
全般:
build- ビルドシステムに関連する作業(lint、makefile、CI/CD など)release- 新しいリリースの作成に関連する作業
パッケージ固有:
newrelic- New Relic パッケージに関連する作業http-internal/httpパッケージに関連する作業alerts-pkg/alertsパッケージに関連する作業
CLI ドキュメントの生成
注: リポジトリが GOPATH 内にある必要があります(godoc の問題)。
$ make docs
コミュニティサポート
New Relic はオンラインフォーラムを運営・モデレートしています。このフォーラムでは、New Relic の従業員や他のお客様と交流し、サポートを受けたり、ベストプラクティスを共有したりできます。
- ロードマップ - Developer Toolkit の一部として、このプロジェクトのロードマップも同じ RFC プロセスに従います
- 課題または機能改善のリクエスト - このリポジトリの Issues タブから、課題や機能改善のリクエストを送信できます。新しい課題を送信する前に、既存の未解決の課題を検索し、内容を確認してください。
- コントリビューターガイド - コントリビューションを歓迎します(機能改善のリクエストを送信した場合は、ご自身で実装していただくようお願いすることがあります :grin:)。
- コミュニティディスカッションボード - New Relic のすべての公式オープンソースプロジェクトと同様に、New Relic Explorers Hub に関連するコミュニティトピックがあります。
CLI に関する問題は、New Relic Global Technical Support には報告しないでください。トラブルシューティングやベストプラクティスについては、Explorers Hubをご利用ください。
課題/機能改善のリクエスト
このリポジトリの Issues タブから、課題や機能改善のリクエストを送信できます。新しい課題を送信する前に、既存の未解決の課題を検索し、内容を確認してください。
コントリビューション
コントリビューションを歓迎します(機能改善のリクエストを送信した場合は、ご自身で実装していただくようお願いすることがあります :grin:)。コントリビューターガイドをご確認ください。
プルリクエストを送信する際は、CLA-Assistant のクリック操作を通じて CLA に署名する必要があります。法人向け CLA を実行したい場合や、ご不明な点がある場合は、[email protected] までメールでお問い合わせください。
その他のリソース
このツールでは代替できない、便利なツールがいくつかあります。現時点でご利用いただける、その他のツールへのリンクをご紹介します。
- NR1 CLI: New Relic One 上のカスタム Nerdpack の開発ワークフローを管理するためのコマンドラインインターフェイスです。
- New Relic Lambda CLI: New Relic AWS Lambda インテグレーションとレイヤーをインストールする CLI です。
- New Relic Diagnostics: New Relic エージェントに関する一般的な問題を自動的に検出するユーティリティです。
オープンソースライセンス
このプロジェクトはApache 2 ライセンスに基づいて配布されています。
