重要 Agent Control と New Relic Control が Kubernetes で一般提供されまし た。Linux ホストと Windows ホストのサポートも、弊社のプレリリース ポリシー に従ってパブリック プレビュー プログラムで提供されます。
このドキュメントでは、Agent Controlのインストールまたは操作時に発生する一般的な問題のトラブルシューティング手順について説明します。環境別に整理されています。
Kubernetesのトラブルシューティング デバッグログを有効にする インストール プロセス中のエラーを診断するには、 values-newrelic.yamlファイルに次の設定を追加して、 Agent Controlのログ レベルを上げることができます。
デフォルトのログレベル: info 。その他のサポートされているログレベル: debugおよびtrace 。OTel コレクター ログ: OpenTelemetry コレクターでデバッグ ログを有効にするには、 verboseLog: trueを追加します。Agent Controlを検査するには、次のコマンドを実行します。 agent-control-*** Agent Controlの名前に置き換えます。
$ kubectl get pods -n newrelic-agent-control
$ kubectl logs agent-control-*** -n newrelic-agent-control
ステータスエンドポイント Agent Control Agent Controlとその管理対象エージェントの正常性をチェックするために使用できるローカル ステータス エンドポイントを公開します。 このエンドポイントは、ポート51200でデフォルトで有効になっています。次の手順に従って、クラスタのステータスを確認します。
ローカルポートをメインのagent-controlポッドに転送します。
$ kubectl port-forward < pod-name > 51200 :51200
エージェントのステータスを要求します。
$ curl localhost:51200/status
Helmリリースの失敗 エージェント-control-ブートストラップ チャートがインストールされている場合、ジョブはすべてのリソースとチャートをリリースインストールしており、インストールが BackoffLimitExceeded エラーで失敗する可能性があります。
Error: UPGRADE FAILED: pre-upgrade hooks failed: job failed: BackoffLimitExceeded
インストレーション ジョブ ログを確認してインストレーション エラーをデバッグできます。
$ kubectl logs agent-control-bootstrap-install-job-**** -n newrelic-agent-control
Agent ControlではFleet Controlに安全に接続するために有効な認証資格情報が必要です。 最初に、この資格情報はAgent Control Instration UIによって自動的に生成され、値ファイル内のidentityClientIdフィールドとidentityClientSecretフィールドによって表されます。 セキュリティ上の理由から、 Agent Controlのインストールに必要な資格情報は 12 時間後に期限切れになります。
インストールが BackoffLimitExceeded エラーで失敗した場合、多くの場合、資格情報の有効期限が切れているか無効であることを示しています。
システム ID の設定を担当する ジョブのログを確認します。KubernetesAgent Control
まず、ジョブのポッドを識別します。
$ kubectl describe job agent-control-generate-system-identity -n < your-namespace >
Eventsセクションで、次のように特定のポッドのエントリを探します。
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 88s job-controller Created pod: agent-control-generate-system-identity-jr6cg
Normal SuccessfulCreate 73s job-controller Created pod: agent-control-generate-system-identity-wnx2v
Normal SuccessfulCreate 50s job-controller Created pod: agent-control-generate-system-identity-8zsqd
Normal SuccessfulCreate 7s job-controller Created pod: agent-control-generate-system-identity-btqh7
Warning BackoffLimitExceeded 1s job-controller Job has reached the specified backoff limit
障害が発生したポッドのログを表示します。
$ kubectl logs < pod-name > -n < your-namespace >
例:
$ kubectl logs agent-control-generate-system-identity-btqh7 -n newrelic-agent-control
ログを確認した後、特定のエラー メッセージを監視し、潜在的な問題がないかログを確認しながら、 Helmを使用してインストレーションを再試行します。 以下に、いくつかの既知の問題とその解釈方法を示します。
無効な identityClientId: Error getting system identity auth token. The API endpoint returned 404: Failed to find Identity: <identityClientId-value>無効な identityClientSecret: Error getting system identity auth token. The API endpoint returned 400: Bad client secret.アイデンティティの有効期限が切れました: Error getting system identity auth token. The API endpoint returned 400: Expired client secret.必要な権限がありません: Failed to create a New Relic System Identity for Fleet Control communication authentication. Please verify that your User Key is valid and that your Account Organization has the necessary permissions to create a System Identity: Exception while fetching data (/create) : Not authorized to perform this action or the entity is not found.無効なNew Relicライセンス OpenTelemetry Collector デプロイメント ポッドのログに以下のようなエラーメッセージが表示された場合は、 New Relicライセンスキーが無効であることを示している可能性があります。 これにより、コレクターはテレメトリーデータをNew Relicにエクスポートできなくなります。
2024-06-13T13:46:05.898Z error exporterhelper/retry_sender.go:126 Exporting failed. The error is not retryable. Dropping data. {"kind": "exporter", "data_type": "metrics", "name": "otlphttp/newrelic", "error": "Permanent error: error exporting items, request to https://otlp.nr-dat ││ go.opentelemetry.io/collector/exporter/exporterhelper.(*retrySender).send
解決
設定で有効なNew Relicライセンスキーを使用していることを確認してください。
管理対象エージェントの HelmRelease の失敗 管理対象エージェントのポッドが作成されない場合は、HelmRelease に問題がある可能性があります。
Helm リリースのステータスを確認します。
$ kubectl get helmrelease open-telemetry -n newrelic
リリースが成功し、正常であれば、 READY: TrueとSTATUS: InstallSucceededが表示されます。
リリースが失敗した場合は、 STATUSフィールドとREADYフィールドに問題が示されます。エラーの種類によっては、根本的な問題がステータス フィールドに完全に反映されない場合があります。詳細を取得するには、 kubectlを使用して HelmRelease リソースを記述します。
$ kubectl describe helmrelease open-telemetry -n newrelic
Helm ビューのアンインストールエラー エージェント-コントロール-ブートストラップを削除すると、ジョブは作成されたすべてのリソースとチャートをリリース削除します。
アンインストール時に次のようなエラーが表示される場合: * job agent-control-bootstrap-uninstall-job failed: BackoffLimitExceeded
ジョブログを確認することで、エラーのデバッグを行うことができます。
$ kubectl logs agent-control-bootstrap-uninstall-job-*** -n newrelic-agent-control
アンインストールをキャンセルした後、インストールまたはアップグレードができない helm delete コマンドの実行中にキャンセルされた場合、ジョブ アンインストーラーは動作を継続し、チャートとリソースを削除しますが、エージェント-コントロール-ブートストラップ helm シークレットがまだ存在する可能性があります。 その場合、チャートのアップグレードやインストールはできず、次のエラーが表示されます。
Error: UPGRADE FAILED: "agent-control-bootstrap" has no deployed releases
アンインストールを再度実行しても効果はなく、アンインストールジョブのログには次のようなエラーが表示されます。
Error: uninstall: Release not loaded: agent-control-cd: release: not found
解決
リリースからすべての Helm シークレットを削除します (リリース名が変更されている場合は、エージェント-control-ブートストラップを変更します)。
$ kubectl delete secrets -l "name=agent-control-bootstrap"
その後、再度インストールを行うことができます。
NRDiag を使用したトラブルシューティング New Relic 診断ツールNRDiagは、デバッグのためにクラスター内のエージェント制御に関連するリソースとログを収集するユーティリティです。すべてのデータを収集するには、次の手順に従います。
ホストで、 スタートガイド を使用してNRDiagツールをインストールします。
K8s Agent Controlスイートを実行します。
ヒント kubectlとhelmがインストールされていることを確認してください。
kubeconfig のコンテキストに設定されたネームスペースでコマンドを実行します。 $ ./nrdiag -suites K8s-agent-control
--k8s-namespaceフラグを使用して、 Agent Controlに別のネームスペースを指定します。$ ./nrdiag -suites K8s-agent-control --k8s-namespace = newrelic
ac-agents-namespaceフラグを使用して、サブエージェントに別のネームスペースを指定します。$ ./nrdiag -suites K8s-agent-control --k8s-namespace = newrelic-agent-control --ac-agents-namespace = newrelic
予想される出力は次のレポートのようになります。
Check Results
-------------------------------------------------
Info K8s/Flux/Charts [Successfully collected Flux Helm Charts]
Info K8s/Resources/Config [Successfully collected K8s configMaps ]
Info K8s/AgentControl/agent-control-status-server [Successfully collected K8s agent-control status se...]
Info K8s/Resources/Daemonset [Successfully collected K8s newrelic-infrastructure...]
Info K8s/Resources/Pods [Successfully collected K8s newrelic-infrastructure...]
Info K8s/Flux/Repositories [Successfully collected Flux Helm Repositories]
Info K8s/AgentControl/helm-controller-logs [Successfully collected K8s agent-control helm-cont...]
Info K8s/Env/Version [kubectl version output successfully collected]
Info K8s/Resources/Deploy [Successfully collected K8s newrelic-infrastructure...]
Info K8s/Helm/Releases [Successfully collected the list of helm releases]
Info K8s/AgentControl/agent-control-logs [Successfully collected K8s agent-control agent-con...]
Info K8s/Flux/Releases [Successfully collected Flux Helm Releases]
Info K8s/AgentControl/source-controller-logs [Successfully collected K8s agent-control source-co...]
See nrdiag-output.json for full results.
Agent Controlに関連するすべてのログとリソースは、現在のディレクトリのnrdiag_output.zipファイルに保存されます。 zipファイルの内容を分析するか、 New Relicサポート にサポートチケットを発行して、さらに詳しいサポートを受けることができます。
Linuxホストのトラブルシューティング New Relic CLI 経由でインストールできません エラーメッセージInstalling agent-control (Unsupported)が表示された場合は、システム要件 を確認し、サポートされているOSバージョンを実行していることを確認してください。
Installing agent-control (Failed)が表示された場合は、以下の手順に従ってください。
インストレーション スクリプトで提供されるログを確認してください。
Error creating an identityが表示される場合は、ユーザーキーが「すべての製品管理者 」ロールを持つプラットフォームユーザーに属していることを確認してください。newrelic-agent-controlサービスのステータスを確認してください。
$ sudo systemctl status newrelic-agent-control
サービスがfailedまたはstopped状態になっている場合、エージェントはインストールされたものの、正常な動作を妨げる問題が発生していることを意味します。journalctl (または同様のLinuxツール)を使用して、エージェントサービスのログを確認してください。
$ journalctl -u newrelic-agent-control
利用可能なインサイトがない場合は、エージェントをデバッグ モードで実行して、サービスを開始できない理由を説明する詳細なログにアクセスする 方法を確認してください。
サービスがインストールされていない場合は、ガイド付き インストール手順のCLIインストールコマンドの末尾に--debugを追加して、再度実行してみてください。 これにより、インストレーション スクリプトの詳細なログが有効になり、エラーを説明する追加のコンテキストが提供される場合があります。
必要に応じて、インストールのトラブルシューティングを支援するためにNew Relicにログを送信するように求められたら、 yes答えます。 送信すると、次のNRQL書き込みを使用してログにアクセスできます。
SELECT * FROM Log WHERE hostname = ` your-host-name `
エージェントのログ記録に関する問題を診断する ログにアクセスするには、まず以下の手順に従ってエージェントのログ記録を有効にする必要があります。
ファイルへのログ記録を有効にするには、 Agent Control設定ファイルでlog設定を使用します。
ログレベルの可能な値は次のとおりです。
Restart Agent Control.fileログが有効になっている場合は、 path設定に基づいて対応するローカルファイルを確認します。または、 journalctl -u new-relic-agent-controlなどのお好みのログトラブルシューティングツールを使用してください。ローカル実行ステータスエンドポイント 稼働ステータスの詳細にアクセスするには、まず次の手順に従ってローカル サーバーを有効にする必要があります。
Agent Control設定ファイル に以下の設定を追加してください。
Restart Agent Control.
次のコマンドを使用して、ステータスのエンドポイントを終了します。
$ curl 127.0 .0.1:51200/status
サーバーは健康情報をjson形式で返します。例:
"endpoint" : "https://opamp.service.newrelic.com/v1/opamp" ,
"agent_id" : "nr-otel-collector" ,
"agent_type" : "newrelic/com.newrelic.opentelemetry.collector:0.1.0" ,
"agent_id" : "nr-infra-agent" ,
"agent_type" : "newrelic/com.newrelic.infrastructure:0.1.0" ,
"last_error" : "process exited with code: exit status: 1"
Fleet Controlで無効または予期しないリモート設定が行われました Agent Control Fleet Controlからリモート設定を受信して適用する前に、特定の検証を実行します。 さらに、設定は有効な形式(例えば、有効な.yaml構造)であっても、特定の設定に対して予期しない値(例えば、 integerが期待されるときにstringが含まれる)が含まれている場合があります。以下の表は、サポートされているさまざまなエージェントで発生する一般的なエラーを示しています。
エージェントタイプ
エラー
トラブルシューティングに関する注意事項
(全エージェント)
リモート設定の適用エラー: 設定を解決できませんでした
設定ファイルのフォーマットを確認してください。設定ファイルが有効な.yamlファイルではないか、必須フィールドが欠落している可能性があります。
(全エージェント)
無効な設定: 制限された値が検出されました
設定内容を確認してください。セキュリティ ポリシーに基づいて、ターゲット エージェント タイプでは特定の設定を利用できない場合があります。
(全エージェント)
exit code 1
設定を確認してください。予期しない値が原因で、エージェントが予期しないエラーで終了しています。
インフラストラクチャー・エージェント
exit code 1
設定を確認してください。予期しない値により、インフラストラクチャエージェントが予期しない構成で終了します。 サポートされている設定 を確認してください。
Windowsホストのトラブルシューティング Agent Controlが実行されていない、または正常に動作していない場合は、以下の診断手順を順番に実行してください。
1. サービス状況を確認する:
Get-Service - Name newrelic-agent-control
期待値: Status : Running 。停止または紛失した場合は、ステップ2に進んでください。
2. サービスログを確認する:
最新のログファイルを表示します (ログファイルには、 newrelic-agent-control.log.2026-02-09-11のような日付サフィックスが含まれます)。
Get-ChildItem "C:\ProgramData\New Relic\newrelic-agent-control\logs\" - Filter "newrelic-agent-control.log.*" | Sort-Object LastWriteTime - Descending | Select-Object - First 1 | Get-Content - Tail 50
ヒント ファイル ログの設定: Agent Control 、ファイル ログを有効にするには明示的な設定が必要です。 ログファイルが存在しない場合は、 local_config.yamlに以下を追加してください。
その後、サービスを再起動してログを表示させてください。
3. テストの手動実行:
コマンドラインからAgent Controlを実行して、サービス固有の問題を回避します。
cd "C:\Program Files\New Relic\newrelic-agent-control"
. \newrelic-agent-control . exe -- config "C:\Program Files\New Relic\newrelic-agent-control\local-data\agent-control\local_config.yaml"
コマンドラインからは正常に実行できるのに、サービスとして実行できない場合は、ウイルス対策ソフトまたは権限の問題を示しています。
4. 車両の種類を確認する:
フリートのタイプが「Host - Windows」 であることを確認してください。「ホスト - Linux」を使用すると、エラーが発生します。Fleet Control UIフリート詳細で確認してください。
5. ポートの競合を確認する:
Agent Controlヘルス エンドポイントにポート51200を使用します。
netstat - ano | findstr :51200
他のプロセスがこのポートを使用している場合は、そのプロセスを特定してください。
Get-Process - Id ( Get-NetTCPConnection - LocalPort 51200 ) . OwningProcess
6. ネットワーク接続を確認する:
Fleet Controlへの接続テスト:
Test-NetConnection - ComputerName fleet-control . newrelic . com - Port 443
Test-NetConnection - ComputerName download . newrelic . com - Port 443
両方ともTcpTestSucceeded : True表示されるはずです。
7. 設定構文を確認する:
YAML構文エラーをチェックしてください:
Get-Content "C:\Program Files\New Relic\newrelic-agent-control\local-data\agent-control\local_config.yaml"
よくある問題点を探してください。例えば、インデントの誤り、コロンの欠落、引用符で囲まれていない特殊文字などです。
8. 競合するエージェントがないか確認します。
既存のNew Relicエージェントがアンインストールされていることを確認します。
Get-Service - Name newrelic-infra - ErrorAction SilentlyContinue
Get-Process - Name newrelic-infra - ErrorAction SilentlyContinue
いずれかのコマンドが結果を返した場合は、続行する前にインフラストラクチャ エージェントをアンインストールしてください。
9. アドミニストレーター権限を確認します。
PowerShell がアドミニストレーターとして実行されていることを確認します。
( [Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity] ::GetCurrent ( ) ) . IsInRole ( [Security.Principal.WindowsBuiltInRole] ::Administrator )
Trueを返す必要があります。
10. サービスを再起動します。
問題に対処した後、サービスを再起動してください。
Restart-Service - Name newrelic-agent-control
Get-Service - Name newrelic-agent-control
Invoke-WebRequest - Uri "http://localhost:51200/status" - UseBasicParsing
一般的なエラーメッセージ エラー/症状 考えられる原因 解決 Error 1067: The process terminated unexpectedlyウイルス対策ソフトによるブロック、設定エラー、または依存関係の不足 ウイルス対策ソフトの除外設定を追加し、設定構文を確認し、サービスログで詳細を確認してください。 サービスが開始され、すぐに停止します。 設定ファイルのエラーまたは無効な認証情報 local_config.yamlを確認し、ライセンスキーとフリート認証情報を検証してください。Port 51200 already in use他のアプリケーションとのポート競合 ポート番号netstatを使用しているプロセスを特定し、競合するサービスを停止します。 Failed to connect to Fleet Controlネットワーク/ファイアブロック、またはフリートウォール設定が正しくありません Test-NetConnectionとの接続をテストし、フリートIDとタイプを確認します。Invalid fleet type ログにエラーがあります艦隊タイプは「ホスト - Windows」ではありません Fleet Control UIで正しいタイプのフリートを再作成します サービスが起動しないが、コマンドラインからは正常に動作する アンチウイルスまたはWindowsセキュリティポリシーによるブロックサービス 実行ファイルとディレクトリの除外設定を追加し、セキュリティチームに確認してください。 License key validation failedライセンスキーが間違っている、期限切れである、または存在しない 設定ファイル内のライセンスキーを確認し、アカウントに対して有効であることを確認してください。 10分以上経過してもUIにデータが表示されません エージェントがデプロイされていないか、設定が同期されていません Fleet Control UIでデプロイメント ステータスを確認し、フリート設定を確認します
追加の支援を受ける トラブルシューティングで問題が解決しない場合は:
デバッグログを有効にするには、 local_config.yamlを編集してください。
サービスを再起動して問題を再現してください。
サポートのためにログを収集してください。
Get-ChildItem "C:\ProgramData\New Relic\newrelic-agent-control\logs\" - Filter "newrelic-agent-control.log.*" | Sort-Object LastWriteTime - Descending | ForEach-Object { Get-Content $_ . FullName } | Out-File - FilePath " $env :USERPROFILE\Desktop\agent-control-debug.log"
収集したログを添えてNew Relicサポートにお問い合わせください。