機能の可用性
Fleet Control for Kubernetes クラスターは一般提供(GA)されています。Linux and Windows hosts上のエージェントを管理する機能は現在パブリックプレビュー段階です。
サポートされているエージェントとその環境の完全なリストについては、エージェントのタイプの互換性に関するドキュメントを参照してください。
パブリック プレビュー機能は、弊社のプレリリース ポリシーに従って提供されます。
Blob Storage APIは、アカウント内のファイルのアップロードと管理のために設計されたNew Relicサービスです。NerdGraphは構造化データクエリと変更に最適化されているため、ファイルコンテンツの転送とバージョン管理を伴う操作には Blob Storage API が使用されます。
Fleet Control内で、 Blob Storage APIは設定ファイルの作成、バージョン管理、コンテンツの取得、削除を処理するエージェント設定を管理します。
重要
Fleet Controlエージェント設定では、 NerdGraphではなく、 Blob Storage APIを使用します。 フリート、メンバー、デプロイメントの操作については、 NerdGraphチュートリアルを参照してください。
前提条件
認証
すべてのBlob Storage API requests New RelicユーザーAPIキーを使用した認証が必要です。
APIキーを生成する:
- one.newrelic.comにアクセスします
- 左下隅にあるあなたの名前をクリックしてください
- API Keys [APIキーを]選択
- User [ユーザー]キーを作成します (Browserまたはライセンスキーではありません)
リクエストヘッダーに含める:
Api-Key: NRAK-YOUR-USER-API-KEY
ベースエンドポイント
https://blob-api.service.newrelic.com/v1/e
EU地域のアカウントの場合は、以下を使用してください。
https://blob-api.service.eu.newrelic.com/v1/e
エージェント設定操作
組織内に新しいエージェント設定を作成します。
終点
POST /v1/e/organizations/{orgId}/AgentConfigurations
リクエストパラメータ
パラメータ | 場所 | データ型 | それは必須ですか? | 説明 |
|---|
orgId
| パス | 弦 | はい | New Relic組織ID。 |
Api-Key
| ヘッダー | 弦 | はい | ユーザーAPIキー。 |
Content-Type
| ヘッダー | 弦 | はい | application/x-yaml
である必要があります。 |
NewRelic-Entity
| ヘッダー | JSON文字列 | はい | 設定メタデータ(名前、エージェントタイプ、管理対象エンティティタイプ)を含むJSONオブジェクト。 |
リクエストボディ | 体 | プレーンテキスト | はい | エージェント設定の内容をYAML形式で記述します。 |
NewRelic-エンティティヘッダー形式
NewRelic-Entityヘッダーには、以下のフィールドを含む JSON オブジェクトが含まれている必要があります。
フィールド | データ型 | それは必須ですか? | 説明 |
|---|
name
| 弦 | はい | 設定名。 |
agentType
| 弦 | はい | エージェントの種類(例: NRInfra
、 NRDOT
、 FluentBit
)。 |
managedEntityType
| 弦 | はい | エンティティタイプ: HOST
または KUBERNETESCLUSTER
。 |
サポートされているエージェントの種類
インフラストラクチャエージェント(HOSTおよびKUBERNETESCLUSTER用):
NRInfra - New Relic InfrastructureNRDOT - OpenTelemetry Collector の New Relic ディストリビューションFluentBit - Fluent Bit ロギングエージェントNRPrometheusAgent - プロメテウスエージェントPipelineControlGateway - Pipeline ControlゲートウェイNRApmOperator - Kubernetes 用 APM オペレーターNReBPFAgent - eBPFエージェント
サンプルリクエスト
> https://blob-api.service.newrelic.com/v1/e/organizations/YOUR_ORG_ID/AgentConfigurations \
> -H 'Api-Key: NRAK-YOUR-API-KEY' \
> -H 'Content-Type: application/x-yaml' \
> -H 'NewRelic-Entity: {"name": "Production Infra Config", "agentType": "NRInfra", "managedEntityType": "HOST"}' \
> -d 'license_key: YOUR_LICENSE_KEY
サンプル回答
"entityGuid": "<YOUR_ENTITY_GUID>",
"blobId": "<YOUR_BLOB_ID>",
"entityGuid": "<YOUR_ENTITY_GUID>",
重要:レスポンスからentityGuidを保存してください。設定ファイルのバージョン管理、取得、削除には、これが必要になります。
既存のエージェント設定の新しいバージョンを作成します。
終点
POST /v1/e/organizations/{orgId}/AgentConfigurations/{parentConfigurationId}
リクエストパラメータ
パラメータ | 場所 | データ型 | それは必須ですか? | 説明 |
|---|
orgId
| パス | 弦 | はい | New Relic組織ID。 |
parentConfigurationId
| パス | 弦 | はい | 親設定エンティティ GUID。 |
Api-Key
| ヘッダー | 弦 | はい | ユーザーAPIキー。 |
Content-Type
| ヘッダー | 弦 | はい | application/x-yaml
である必要があります。 |
リクエストボディ | 体 | プレーンテキスト | はい | エージェント設定の内容をYAML形式で更新しました。 |
サンプルリクエスト
> https://blob-api.service.newrelic.com/v1/e/organizations/YOUR_ORG_ID/AgentConfigurations/<YOUR_ENTITY_GUID> \
> -H 'Api-Key: NRAK-YOUR-API-KEY' \
> -H 'Content-Type: application/x-yaml' \
> -d 'license_key: YOUR_LICENSE_KEY
サンプル回答
"entityGuid": "<YOUR_ENTITY_GUID>",
"blobId": "<YOUR_BLOB_ID>",
"entityGuid": "<YOUR_ENTITY_GUID>",
特定の設定バージョンのコンテンツを取得します。
終点
GET /v1/e/organizations/{orgId}/AgentConfigurationVersions/{configurationVersionId}
設定の最新バージョンを取得するには、以下を使用します。
GET /v1/e/organizations/{orgId}/AgentConfigurations/{configurationId}
リクエストパラメータ
パラメータ | 場所 | データ型 | それは必須ですか? | 説明 |
|---|
orgId
| パス | 弦 | はい | New Relic組織ID。 |
configurationVersionId
| パス | 弦 | はい | 設定バージョンのエンティティ GUID。 |
Api-Key
| ヘッダー | 弦 | はい | ユーザーAPIキー。 |
version
| クエリ | 整数 | いいえ | 取得する特定のバージョン番号(例: ?version=1
)。 |
サンプルリクエスト(特定バージョン)
> 'https://blob-api.service.newrelic.com/v1/e/organizations/YOUR_ORG_ID/AgentConfigurationVersions/<YOUR_ENTITY_GUID>' \
> -H 'Api-Key: NRAK-YOUR-API-KEY'
サンプルリクエスト(最新バージョン)
> 'https://blob-api.service.newrelic.com/v1/e/organizations/YOUR_ORG_ID/AgentConfigurations/<YOUR_ENTITY_GUID>' \
> -H 'Api-Key: NRAK-YOUR-API-KEY'
サンプル回答
設定内容をプレーンテキスト(YAML)として返します。
license_key: YOUR_LICENSE_KEY
設定のすべてのバージョンを取得します。
終点
GET /v1/e/organizations/{orgId}/AgentConfigurations/{configurationId}/versions
リクエストパラメータ
パラメータ | 場所 | データ型 | それは必須ですか? | 説明 |
|---|
orgId
| パス | 弦 | はい | New Relic組織ID。 |
configurationId
| パス | 弦 | はい | 設定エンティティ GUID。 |
Api-Key
| ヘッダー | 弦 | はい | ユーザーAPIキー。 |
サンプルリクエスト
> https://blob-api.service.newrelic.com/v1/e/organizations/YOUR_ORG_ID/AgentConfigurations/<YOUR_ENTITY_GUID>/versions \
> -H 'Api-Key: NRAK-YOUR-API-KEY'
サンプル回答
"entity_guid": "<YOUR_ENTITY_GUID_1>",
"blob_id": "<YOUR_BLOB_ID_1>",
"timestamp": "2024-01-01T00:00:00Z"
"entity_guid": "<YOUR_ENTITY_GUID_2>",
"blob_id": "<YOUR_BLOB_ID_2>",
"timestamp": "2024-01-02T00:00:00Z"
設定とそのすべてのバージョンを削除します。
終点
DELETE /v1/e/organizations/{orgId}/AgentConfigurations/{configurationId}
リクエストパラメータ
パラメータ | 場所 | データ型 | それは必須ですか? | 説明 |
|---|
orgId
| パス | 弦 | はい | New Relic組織ID。 |
configurationId
| パス | 弦 | はい | 削除する設定エンティティ GUID。 |
Api-Key
| ヘッダー | 弦 | はい | ユーザーAPIキー。 |
サンプルリクエスト
> https://blob-api.service.newrelic.com/v1/e/organizations/YOUR_ORG_ID/AgentConfigurations/<YOUR_ENTITY_GUID> \
> -H 'Api-Key: NRAK-YOUR-API-KEY'
サンプル回答
削除が成功すると、HTTP 204 No Content を返します。
特定の設定バージョンを削除します。
終点
DELETE /v1/e/organizations/{orgId}/AgentConfigurationVersions/{configVersionGuid}
リクエストパラメータ
パラメータ | 場所 | データ型 | それは必須ですか? | 説明 |
|---|
orgId
| パス | 弦 | はい | New Relic組織ID。 |
configVersionGuid
| パス | 弦 | はい | 削除する設定バージョンのエンティティ GUID。 |
Api-Key
| ヘッダー | 弦 | はい | ユーザーAPIキー。 |
サンプルリクエスト
> https://blob-api.service.newrelic.com/v1/e/organizations/YOUR_ORG_ID/AgentConfigurationVersions/<YOUR_ENTITY_GUID> \
> -H 'Api-Key: NRAK-YOUR-API-KEY'
サンプル回答
削除が成功すると、HTTP 204 No Content を返します。
ベストプラクティス
- エンティティの GUID を保存します:作成操作から返された
entityGuidを保存します。これらは、バージョン管理、取得、削除操作を行う際に必要になります。 - 増分バージョン:設定の変更に対して、設定を削除して再作成するのではなく、新しいバージョンを作成します。
- わかりやすい名前を使用する:設定名は、その目的と対象環境を明確に示す必要があります。
- YAMLの検証:アップロードする前に、設定内容が有効なYAML形式であることを確認してください。
- エージェントタイプの互換性を確認します。エージェントタイプが管理対象エンティティタイプ(HOSTまたはKUBERNETESCLUSTER)と互換性があることを確認してください。
- APIキーを保護する:ユーザーAPIキーをクライアント側のコードやパブリック リポジトリで公開しないでください。
- HTTPステータスコードを確認してください。APIは、操作が成功した場合は2xx、見つからない場合は404、エラーの場合はその他のステータスコードを返します。
よくあるエラーへの対応
ステータスコード | 説明 | 解決 |
|---|
400 Bad Request
| NewRelic-エンティティヘッダーに無効なリクエストまたは不正な形式の JSON があります | リクエスト形式とヘッダー値を確認する |
401 Unauthorized
| APIキーが欠落しているか無効です | ユーザーAPIキーが有効であり、APIキーヘッダーに含まれていることを確認してください |
404 Not Found
| 設定またはバージョンが見つかりません | エンティティのGUIDが正しいことを確認してください。 |
415 Unsupported Media Type
| Content-Typeヘッダーが正しくありません | 使用する Content-Type: application/x-yaml
|
追加リソース