New Relic の infrastructure agent をインストールする際に license key 無効で失敗したのでメモ。
FATAL could not fetch license key for account 9999999: 401 response returned: Invalid credentials provided. Missing API key or an invalid API key was provided.
結論
記載の手順に沿って実施すれば発生しません。
ガイドを勧めていくと表示されるコマンドを実行する際に既存の API key を利用してインストールしようとした所発生しました。 原因は User key ではなく License key を使っていたからです。
コマンド一撃でインストールできる親切設計ですが、エラーメッセージは若干不親切だと思いました。
以上
guided install について
最初に表示されるのは License key
です。
次にインストールコマンドが案内され、こちらを監視対象ホストで実行すると infrastructure agent がインストールされます。
ここで変数 NEW_RELIC_API_KEY
が入っていますが、これは User key
です。
User Key を作成していない状態で上記の画面まで進めると、自動的に User key が生成されます。手動で User Key を生成する必要がありません。
Installer API Key
という名称で User key が作成されていました。
"Customize your installation" の部分で proxy URL の指定を追加できます。
監視対象ホストでコマンドを実行すると、経過状況が出力され、
インストールが完了します。
guided install で設定される License key
インストールが完了すると各設定ファイル群が作成されています。License key は newrelic-infra.yml に設定されます。
$ cat /etc/newrelic-infra.yml enable_process_metrics: true status_server_enabled: true status_server_port: 18003 license_key: *****
ガイドの手順を実行する際に既に複数の License key を持っている場合、 必ずしもガイドの最初に表示されていた License key が設定されるわけではないようです。
明示的に特定の License key にしたい場合は、インストール後に newrelic-infra.yml の書き換えが必要になります。
または、インストールコマンドに環境変数 NRIA_LICENSE_KEY
を付与することで指定できるようです。
API Key の種類について
License key
ライセンスキーは、ほぼすべてのデータの報告に使用されます
Browser key
ブラウザキーは、 ブラウザモニタリング データを報告するために使用されます。
Mobile app token
モバイルアプリトークンは、 モバイルモニタリング のデータを報告するために使用されます。
User key
NerdGraph 、データの問い合わせや機能の設定に使用するGraphQL APIを使用する際に、ユーザーキーが必要となります。
上の3つは ingest type (データを New Relic に取り込むためのもの)で、 User key だけ API 利用のためのキーとなっています。
User key が必要な理由
- フォーラム(New Relic Explorers Hub)
- FATAL could not fetch license key for account 3489232: 403 response returned - New Relic Accounts - New Relic Explorers Hub
- Not able to install New Relic Infrastructure agent - Support: Full-Stack Observability (FSO) / Infrastructure - New Relic Explorers Hub
- Trying to install - New Relic Accounts - New Relic Explorers Hub
よくよく見ると、インストールコマンドで指定している Key の書式が License key (小文字) ではなく User key (大文字ハイフン有り) です。
また、ガイドの Customize の説明部分に infrastructure agent に加え、CLI もインストールするとの記載があります。
インストールコマンドの URL も newrelic-cli/script.sh
となっています。
guided install は New Relic CLI を使用している
New Relic command line interface (CLI) の使用には User key が必要です。
For this guide you just need:
Your New Relic user key. An instrumented application in your New Relic account.
guided install は New Relic CLI で行われるため User key
の指定が必要ということになります。