• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、 を参照してください。

問題を作成する

New Relic Metrics Adapter

公開プレビュー

この機能はまだ公開プレビュー中ですが、ぜひお試しください。

New Relic Metrics Adapter をデプロイすることで、New Relic アカウントからのメトリクスを使用して、Kubernetes クラスタ内のアプリケーションやサービスをオートスケールすることができます。このアダプターは、New Relic からメトリック値をフェッチし、 Horizontal Pod Autoscalers で利用できるようにします。

newrelic-k8s-metrics-adapter は、 New Relic NRQL クエリ結果に基づいた外部メトリクスの使用をサポートするexternal.metrics.k8s.io API を実装します。デプロイ後、構成された各メトリックの値は、構成された NRQL クエリに基づいて NerdGraph API を使用してフェッチされます。

メトリクス・アダプタは、TLSによるセキュアなエンドポイントを介してメトリクスを公開します。

クラスター内のNew Relicメトリクスアダプター。

要件

インストール

New Relic Metrics Adapterをインストールするには、 newrelic-k8s-metrics-adapter Helmチャートを提供します。これは、すべてのNewRelicKubernetesコンポーネントのデプロイに使用されるnri-bundleチャートにも含まれています。

  1. まだインストールされていない場合は、 私たちのKubernetesインテグレーションをインストールしてください
  2. 以下のコマンドでNew Relic Metrics Adapterを含むインストールにアップグレードします。
helm upgrade --install newrelic newrelic/nri-bundle \
--namespace newrelic --create-namespace --reuse-values \
--set metrics-adapter.enabled=true \
--set newrelic-k8s-metrics-adapter.personalAPIKey=YOUR_NEW_RELIC_PERSONAL_API_KEY \
--set newrelic-k8s-metrics-adapter.config.accountID=YOUR_NEW_RELIC_ACCOUNT_ID \
--set newrelic-k8s-metrics-adapter.config.externalMetrics.external_metric_name.query=NRQL query

以下のフラグに注意して調整してください。

  • metrics-adapter.enabled:メトリックアダプタチャートをインストールするには、 trueに設定する必要があります。

  • newrelic-k8s-metrics-adapter.personalAPIKey: 有効な New Relic Personal API キーに設定する必要があります。

  • newrelic-k8s-metrics-adapter.config.accountID:メトリックがフェッチされる有効なNewRelicアカウントに設定する必要があります。

  • newrelic-k8s-metrics-adapter.config.externalMetrics.external_metric_name.query:新しい外部メトリックを追加します。ここで:

    • external_metric_name:メトリック名。
    • query:メトリックの値を取得するために使用されるベースNRQLクエリ。

ヒント

または、 --valuesフラグを指定してhelmコマンドに渡すことができるvalues.yamlファイルを使用することもできます。値ファイルには、構成セクションで説明されているメトリックを構成するために必要なすべてのパラメーターを含めることができます。

構成

メトリクスアダプターで複数のメトリクスを構成し、いくつかのパラメーターを変更して、メトリクスのキャッシュとフィルタリングの動作を変更できます。変更可能なすべてのパラメーターの完全なリストと説明を確認するには、チャートのREADME.mdファイルとvalues.yamlファイルを参照してください。

使い方

次の例は、 nri-bundleチャートのインストールでメトリクスアダプターを有効にし、 nginx_average_requestsメトリクスを構成するHelm値ファイルです。

metrics-adapter:
enabled: true
newrelic-k8s-metrics-adapter:
personalAPIKey: <Personal API Key>
config:
accountID: <Account ID>
externalMetrics:
nginx_average_requests:
query: "FROM Metric SELECT average(nginx.server.net.requestsPerSecond) SINCE 2 MINUTES AGO"

注意

メトリックのデフォルトの期間は1時間です。したがって、環境とニーズに応じて期間を調整するには、 SINCE句を使用してクエリを定義する必要があります。

次のような外部メトリックを消費するHPAがあります。

kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta2
metadata:
name: nginx-scaler
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: nginx
minReplicas: 1
maxReplicas: 10
metrics:
- type: External
external:
metric:
name: nginx_average_requests
selector:
matchLabels:
k8s.namespaceName: nginx
target:
type: Value
value: 10000

HPAの定義に基づいて、コントローラ・マネージャは外部のメトリクスAPIからメトリクスをフェッチし、New Relicメトリクス・アダプタによって提供されます。

New Relicメトリクスアダプターは、 nginx_average_requestsメトリクス名とすべてのセレクターを含むクエリを受信し、構成されたメトリクスに基づいて内部メモリで一致するメトリクス名を検索します。次に、セレクターをクエリに追加して、NerdGraphを使用して実行される最終的なクエリを作成し、NewRelicから値をフェッチします。上記の例では、次のようなクエリが生成されます。

FROM Metric SELECT average(nginx.server.net.requestsPerSecond) WHERE clusterName=<clusterName> AND `k8s.namespaceName`='nginx' SINCE 2 MINUTES AGO

同じアカウント内の他のクラスターからメトリックを除外するために、 clusterNameフィルターがクエリに自動的に追加されていることに注意してください。 removeClusterFilter構成パラメーターを使用して削除できます。また、値はcacheTTLSeconds構成パラメーターで定義された期間キャッシュされます。デフォルトは30秒です。

トラブルシューティング

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.