概要
Agent Control計装エージェントの管理が簡素化されます。 このガイドでは、 Kubernetes Linuxホスト、またはWindowsホストにAgent Controlをインストールおよびアンインストールする手順を、さまざまな方法を使用して説明します。
Agent Controlをインストールします
ヒント
大規模インフラストラクチャ全体でのAgent Controlのセットアップの自動化については、 「Terraform を使用したAgent Controlのセットアップ」を参照してください。
ガイド付きインストール
- New Relic にログインします。
- 正しいアカウントが選択されていることを確認してください。
- 「統合とエージェント」で、 Install Agent Controlをクリックするか、 Agent Controlを検索します。

- 手順に従ってインストールと設定のプロセスを完了します。
重要
Agent Controlをインストールするには、フリートが必須です。この管理対象エンティティのフリートをまだ作成していない場合は、ガイド付きインストールでのインストレーション中にフリートを作成するか、Fleet Controlでフリート作成プロセスを完了してから、このガイド付きインストレーションのステップに戻ることができます。
フリートタイプの要件:フリートはタイプによって分けられています。ホスト(WindowsまたはLinux)またはk8sに適切なタイプを選択する必要があります。異なるタイプのフリートを使用すると、インストレーションまたは操作の問題が発生します。
異なる環境におけるテンプレートおよび設定は、互換性のために調整が必要になる場合があります。
- 生成された設定をコンピュータにダウンロードし、ターミナルで提供されたコマンドを実行してAgent Controlインストールします。 インストール後、 Continue [続行]をクリックします。
- 接続をテストして、インストールが成功したことを確認します。 この手順は完了するまでに 5 ~ 10 分かかる場合があります。
- Agent Controlがインストールされ、実行されているため、エージェントを構成および管理したり、Fleet Controlを使用してエージェントに変更をデプロイしたりする準備が整いました。
導入後に期待されること
インストレーション スクリプトの実行後、 Agent Controlスーパーバイザ サービスのみをセットアップします。 計装エージェントは自動的にデプロイされません。
即時(0~2分):
- 0~30秒: Agent Controlサービスが登録され、起動します。
- 30~60秒: Fleet Controlへの最初の接続が確立されました
- 1~2分:設定の同期が完了し、ホスト/クラスタがFleet Controlに表示されます。
重要
デフォルトではテレメトリーなし: Agent Controlはエージェントを管理するスーパーバイザ サービスです。 テレメトリーデータ自体の収集や送信は行いません。 New Relic でNew Relic 、ログ、またはその他のテレメトリーを表示するには、インストール後にプロイし、 Fleet Controlを通じてエージェント (インフラストラクチャ エージェントなど) を設定する必要があります。
必要な次の手順: Agent Controlがインストールされ、 Fleet Controlに接続されたら、手動でエージェントをデプロイしてテレメトリーの収集を開始する必要があります。
- New Relicにログインし、 Fleet Control画面に移動します。
- フリートを選択し、Entities [エンティティ]テーブルでホスト/クラスタを探します。
- Fleet Controlを使用して、エージェント(infrastructureエージェント、NRDOTなど)をホスト/クラスタにデプロイします。
- デプロイ エージェントが開始され、テレメトリーがNew Relicに送信されるまで 5 ~ 10 分待ちます。
移行
既存のエージェント:ホストにNew Relic infrastructureエージェントがすでにインストールされている場合は、Agent Controlをインストールする前にアンインストールする必要があります。Agent Controlをインストールした後、ローカルの設定をFleet Controlに移行することで、infrastructureエージェントを管理できます。APMエージェント(現在はAgent Controlによって管理されていません)はインストールしたままにすることができ、引き続き独立して動作します。
認証に関する注記
New Relic Controlでは、システムIDを使用する必要があります。システムIDとは、サービスとアプリケーション間の認証と信頼関係の確立に使用される、人間以外のIDです。
Agent Controlのガイド付きインストレーションプロセス中に、1番目のシステムIDは、Helmチャートの値またはホストコマンドに含まれるクライアント認証情報を使用して作成されます。このシステムIDの認証情報は12時間後に期限切れになります。期限切れになると、Agent ControlのHelmチャートのデプロイメントまたはホストコマンドはFleet Controlサービスでの認証に失敗し、次のエラーが発生します:
Error getting system identity auth token. The API endpoint returned 400: Expired client secret.In this case, the Helm chart or host command must be updated with new system identity credentials.
ヒント
If you're re-running this installation on a schedule or from a pipeline, see Automate Agent Control installation at scale for how to avoid re-issuing this credential manually every 12 hours.
Helm chart example:
global: cluster: "cluster-name" licenseKey: "*************************"agentControlDeployment: chartValues: systemIdentity: organizationId: "00000000-0000-0000-0000-000000000000" parentIdentity: clientId: "CLIENT_ID" clientSecret: "CLIENT_SECRET" config: fleet_control: fleet_id: "SAMPLE_FLEET_ID" agents: ...高度なKubernetes設定
デフォルトでは、Agent Control Helmチャートは、Kubernetes上のエージェントのライフサイクルを管理するために、組み込みのFlux CDインスタンスを利用します。エコシステムの要件に応じて、既存のカスタムFlux v2インストレーションを活用するか、継続的な配信インフラストラクチャコンポーネントを完全にバイパスするようにAgent Controlを構成できます。
既存のフラックスインストレーションのサポート
デフォルトでは、Agent Control Helmチャートは、組み込みのFlux CDインスタンスを利用して、Kubernetesにおけるエージェントのライフサイクルを管理します。ただし、組織がすでに GitOps にFlux v2を利用している場合は、既存のインストレーションを活用するようにAgent Controlを構成できます。
このアプローチではAgent Control組み込みの継続的な配信エンジンから切り離し、 Agent Controlの管理機能の恩恵を受けながら、クラスター操作用の単一の Flux インスタンスを維持できるようにします。
要件と互換性 Agent Controlで外部のFluxインストレーションを使用するには、環境が以下の要件を満たしている必要があります。これらの仕様から逸脱する設定は検証されません。
Fluxバージョン: Flux v2以降。
必要なコンポーネント: Flux インストレーションには以下が含まれている必要があります。
- Helmコントローラー: HelmRelease CRD(helm.toolkit.fluxcd.io/v2)を使用します。
- ソースコントローラー: HelmRepository CRD(source.toolkit.fluxcd.io/v1)を使用します。
ネームスペースのスコープ: Flux インスタンスはAgent Controlがインストールされるネームスペースを監視するように構成する必要があります (またはすべてのネームスペースを監視するように構成する)。
設定 このモードを有効にするには、Agent Control Helmチャート設定でバンドルされたFluxコンポーネントを明示的に無効にする必要があります。
values.yamlファイルで、 agentControlCd.enabledをfalseに設定してください。
global: cluster: "<YOUR_CLUSTER_NAME>" licenseKey: "<YOUR_LICENSE_KEY>"
# Disable the embedded Flux instanceagentControlCd: enabled: false
agentControlDeployment: chartValues: # ... other configurations ...外部Fluxの権限 独自のFluxインストレーションを使用する場合、クラスタ内のFluxサービスアカウントは、Agent Controlによって生成された設定を適用する役割を担います。したがって、既存のFluxインスタンスがNew Relicリソースをデプロイするには、特定の権限が必要です。以下のいずれかのアプローチを強く推奨します:
- Cluster管理者 (推奨):最も簡単な設定は、Flux インスタンスが
cluster-admin権限で実行されるようにすることです。 これは Flux コミュニティ チャートの標準設定であり、 New Relicエージェントに必要なすべてのリソース (デプロイメント、DaemonSet、サービスなど) を確実に管理できるようにします。 - 最小権限の設定:セキュリティ ポリシーで
cluster-adminの使用が制限されている場合は、特定のClusterRoleを作成し、Flux サービス アカウントにソース コントローラー、 Helmコントローラー、 Agent Control 、およびインストール予定のすべての特定のエージェントに必要な権限が付与されていることを確認する必要があります。
重要
注: 新しい機能やエージェントが追加されると、エージェントの権限が変更される場合があります。 あなたは、自分のカスタムロールにおけるこれらの権限を維持する責任があります。
以下は、 Agent ControlとFluxコンポーネントが相互運用するために必要なClusterRoleの権限を示す例です。
apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: name: external-flux-agent-control-rolerules: # Permissions required by Flux to operate Agent Control components - apiGroups: ["apiextensions.k8s.io"] resources: ["customresourcedefinitions"] verbs: ["get"] - apiGroups: ["coordination.k8s.io"] resources: ["leases"] verbs: ["get", "create", "update"] - apiGroups: ["rbac.authorization.k8s.io"] resources: ["clusterroles", "rolebindings"] verbs: ["get", "create", "delete"] - apiGroups: [""] resources: ["configmaps"] verbs: ["watch"] - apiGroups: [""] resources: ["events"] verbs: ["create", "patch"] - apiGroups: [""] resources: ["namespaces"] verbs: ["create"] - apiGroups: [""] resources: ["serviceaccounts"] verbs: ["get", "create", "delete"] - apiGroups: [""] resources: ["services"] verbs: ["get", "create"] - apiGroups: ["apps"] resources: ["deployments"] verbs: ["create"] - apiGroups: ["autoscaling"] resources: ["horizontalpodautoscalers"] verbs: ["get", "create"] - apiGroups: ["batch"] resources: ["jobs"] verbs: ["get", "list", "watch", "create", "delete"]
# Permissions required by Agent Control logic - apiGroups: ["helm.toolkit.fluxcd.io", "newrelic.com", "source.toolkit.fluxcd.io"] resources: ["*"] verbs: ["*"] - apiGroups: [""] resources: ["secrets"] verbs: ["*"] - apiGroups: [""] resources: ["configmaps"] verbs: ["get", "list", "create", "patch", "update", "delete", "deletecollection"] - apiGroups: [""] resources: ["namespaces"] verbs: ["get"] - apiGroups: ["apps"] resources: ["daemonsets", "deployments", "statefulsets"] verbs: ["get", "list", "watch"]サポート範囲 外部のFluxインストレーションを使用する場合、New RelicのサポートはAgent Controlソフトウェア(有効な設定マニフェストの生成)に限定されます。このモードでは、以下のような責任共有スキーマを考慮する必要があります:
- New Relic責任: Agent Control New Relicバックエンドと正しく対話し、有効な
HelmReleaseおよびHelmRepository定義を生成することを保証します。 - お客様の責任:お客様は、お客様自身の Flux インストレーションの健全性、バージョン保守、ネットワーキング、およびトラブルシューティングに対して責任を負います。 外部Fluxコントローラーの設定または障害に起因する問題は、 Agent Controlのサポート範囲外です。
FluxなしでAgent Controlをインストールする
Agent Controlの役割が管理対象エージェントへの設定の配信に限定されており、エージェントのインストールやアップグレードを行わない場合、FluxなしでAgent Controlをインストールできます。このモードでは、Agent Controlはエージェントのライフサイクルを管理できません。エージェントのインストールやアップグレードは行わず、Fleet Control経由で設定をプッシュするのみです。Agent Control および管理対象エージェントのインストールとアップグレードは、お客様ご自身で行っていただく必要があります。主なユースケースはPipeline Controlゲートウェイです:Agent ControlはPipeline Controlゲートウェイの設定変更を配信します。
Fluxを使用せずにAgent Controlをインストールするには、Helm valuesでagentControlCd.enabledをfalseに設定します。Agent Controlは、Fluxオブジェクトを作成またはモニターしません。
global: cluster: "<YOUR_CLUSTER_NAME>" licenseKey: "<YOUR_LICENSE_KEY>"
agentControlCd: enabled: false
agentControlDeployment: chartValues: # ... other configurations ...重要
Fluxがない場合、Agent ControlはPipeline Controlゲートウェイエージェントをインストールまたはアップグレードできません — ご自身でインストールおよびアップグレードを行う必要があります(たとえば、helm upgradeを使用して)。この設定では、Agent Control チャート自体もリモートでアップグレードできません。Agent Control をアップグレードするには、同じ values ファイルに対してhelm upgradeを実行します。Agent Controlにゲートウェイエージェントをインストールおよびアップグレードさせるには、バンドルされたインストレーション、または独自のFluxインストレーションのいずれかで、Fluxを有効にしたままにしてください。
New Relicのガイド付きインストールを使用してPipeline Controlゲートウェイをインストールすると、生成されたvaluesファイルにはすでにagentControlCd.enabled: falseが設定されています。手動で編集する必要はありません。
アクセス制御
追加のクラスタ権限は不要: このモードではFluxがオフになっているため、カスタムFluxセットアップに必要な、クラスタ全体にわたる大規模なClusterRole権限を作成する必要はありません。Agent Controlは完全に自己完結しており、自身のnewrelic-agent-controlネームスペース内のSecretsおよびConfigMapsを読み取るための基本的な権限のみを必要とします。
インストールの確認
Kubernetes
- ポッドのステータスを確認するには、次のコマンドを実行します:Agent Controlはセキュリティ上の理由から、サブエージェントを別のネームスペースにインストールします。すべてが機能していることを確認するには、Agent Controlポッドが
newrelic-agent-controlネームスペースで実行されており、サブエージェントポッドが別のネームスペース(例:newrelic)で実行されていることを確認します。
$kubectl get pods -n newrelic-agent-control # Check Agent Control pods$ kubectl get pods -n newrelic # Check subagent pods- New Relic にログインし、 Fleet Controlに移動します。
- フリート ページに移動し、インストール中に選択したフリートを選択します。
- Entities [エンティティ]テーブルで、 Kubernetesクラスタがリストに表示されていることを確認します。
- クラスタの計装ステータスが正常であることを確認します。
Linux
newrelic-agent-controlサービスのステータスを確認してください。bash$sudo systemctl status newrelic-agent-controlサービスが
FailedまたはStopped状態になっている場合、エージェントはインストールされたものの、正常な動作を妨げる問題が発生していることを意味します。journalctl(または同様のLinuxツール)を使用して、エージェントサービスのログを確認してください。bash$journalctl -u newrelic-agent-control利用可能なインサイトがない場合は、デバッグ モードでエージェントを実行して詳細なログにアクセスし、サービスを開始できない理由を詳細にインサイトで確認する方法を確認してください。
サービスがインストールされていない場合は、ガイド付きインストール手順のCLIインストールコマンドの末尾に
--debugを追加して、再度実行してみてください。 これにより、インストレーション スクリプトの詳細なログが有効になり、エラーを説明する追加のコンテキストが提供される場合があります。必要に応じて、インストールのトラブルシューティングを支援するためにNew Relicにログを送信するように求められたら、
yes答えます。 送信すると、次のNRQL書き込みを使用してログにアクセスできます。SELECT * FROM Log WHERE hostname = `your-host-name`
ウィンドウズ
newrelic-agent-controlサービスのステータスを確認してください。アドミニストレーター権限で PowerShell を開き、次を実行します。
Get-Service -Name newrelic-agent-control | Format-List Status, StartType健康な状態における予想出力:
Status : RunningStartType : AutomaticAgent Control正常性エンドポイントを確認します。
Invoke-WebRequest -Uri "http://localhost:51200/status" -UseBasicParsing正常なAgent Control 、
"healthy": trueを含む JSON レスポンスを返す必要があります。New Relic にログインし、 Fleet Controlに移動します。
フリート ページに移動し、インストール中に選択したフリートを選択します。
Entities [エンティティ]テーブルで、お使いのWindowsホストがリストに表示されていることを確認してください。
ホストの計装ステータスが正常であることを確認してください。
Agent Controlサービスが 2 ~ 3 分以内にFleet Controlに接続しない場合は、 Windowsホストのトラブルシューティング」を参照してください。
ウイルス対策およびセキュリティソフトウェア
Windows Defenderまたはサードパーティ製のウイルス対策ソフトウェアが、Agent Controlをサービスとして実行することをブロックする場合があります。インストールする前に、次のディレクトリをウイルス対策の除外対象に追加します。
C:\Program Files\New Relic\newrelic-agent-control\C:\ProgramData\New Relic\newrelic-agent-control\Agent Controlインストール後に起動に失敗し、コマンドラインからは正常に実行される場合は、ウイルス対策の干渉を示します。 セキュリティチームと協力して、New Relicの実行ファイルに対する適切な例外を設定してください。
Agent Controlのアンインストール
Kubernetes
KubernetesクラスタからAgent Controlをアンインストールするには、次のコマンドを実行します。
インストールされたリリースを表示
次のコマンドを実行して、インストールされているすべてのリリースを一覧表示し、 Agent Controlのリリースを特定します。
$helm list --all-namespacesAgent Controlのアンインストール
<RELEASE>と<NAMESPACE>を、インストレーションと環境に適した値に置き換えます。bash$helm uninstall <RELEASE> -n <NAMESPACE>例えば:
bash$helm uninstall agent-control-bootstrap -n newrelic-agent-control
Linuxホスト
重要
アンインストール処理後も、通常は設定ファイルやその他の雑多なファイルが残ります。事前にサービスを停止する必要はありません。アンインストール処理には数分かかる場合があります。アンインストール時に削除されない可能性のある資産の例:
- ローカルまたはリモートの設定ファイル:
/etc/newrelic-agent-controlおよび/var/lib/newrelic-agent-controlフォルダーを確認して削除します。 - New Relic CLI:
/usr/bin/newrelic-cliバイナリを確認して削除します。
LinuxホストからAgent Controlをアンインストールするには:
アンインストールスクリプトを実行します。
bash$sudo sh /usr/lib/newrelic-agent-control/uninstall.shこのスクリプトは以下を実行します。
newrelic-agent-controlサービスを停止します- パッケージマネージャを検出します
- すべての Agent Control ファイルをシステムから削除するために、パッケージマネージャのパージを実行してください。
Windowsホスト
重要
アンインストールプロセスではAgent Controlサービスと実行ファイルが削除されます。 設定ファイルやその他の雑多なファイルが残る場合があります。アンインストール時に削除されない可能性のある資産の例:
- 設定ファイル:必要に応じて
C:\Program Files\New Relic\newrelic-agent-controlとC:\ProgramData\New Relic\newrelic-agent-controlフォルダを確認し、削除してください。
WindowsホストからAgent Controlをアンインストールするには:
アドミニストレーター権限で PowerShell を開きます。
アンインストールスクリプトを実行します。
PowerShell.exe -ExecutionPolicy Bypass -File "C:\Program Files\New Relic\newrelic-agent-control\uninstall.ps1"このスクリプトは以下を実行します。
newrelic-agent-controlサービスを停止します- サービス登録を削除する
- Agent Controlディレクトリとファイルを削除してください。