mcpField
N
New Relic CLI

New Relic CLI

公式
docs.newrelic.com開発ツール151newrelic1 日前に更新
リポジトリ公式サイト

New Relic CLI について

New Relic CLI はエンティティとワークロードの管理、デプロイメントマーカーの記録、監視プロファイルの追加、NerdGraph GraphQL クエリの実行ができます。開発者はコマンドライン ワークフローに可観測性操作を統合できます。

主な機能

  1. 01New Relic エンティティとワークロードを検索・管理する
  2. 02デプロイメントマーカーとバージョン情報を記録する
  3. 03NerdGraph GraphQL クエリを実行して New Relic データにアクセスする

活用シーン

  1. 01リリースプロセス中にデプロイメントマーカーを自動記録する
  2. 02コマンドラインから可観測性データをクエリ・分析する

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
brew install newrelic-cli

インストール後にnewrelic --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
newrelic profiles add
02
newrelic entity search
03
newrelic nerdgraph query

詳細

Community Project ヘッダー

newrelic-cli

Testing Go Report Card GoDoc License CLA assistant Release Homebrew

Docker Stars Docker Pulls Docker Size Docker Version

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 ライセンスに基づいて配布されています。

コメント