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

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

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

問題を作成する

オンホストの統合標準的な設定フォーマット

2019年12月、 Infrastructure agent version 1.8.0 は、(2つの別々のファイルではなく)1つの設定ファイルを利用し、その他の改善を行うこの新しい設定形式のサポートを開始しました。このドキュメントでは、この新しいフォーマットの動作について説明します。

古い レガシー構成形式 も、現在のインフラストラクチャ エージェントによってサポートされています。

設定の概要については、 Config overview をご覧ください。

構成構造

オンホスト統合の構成 YAML には、YAML 配列を含む最上位セクション integrations が必要です。各エントリは統合とその構成を表します。

各統合エントリでは、 name プロパティのみが必須です。他のプロパティはオプションです。

ここでは、2つの統合をフィーチャーした構成例をご紹介します。ビルトインの Docker統合 は設定が不要で、 MySQL統合 です。

integrations:
  # New Relic integration that does not require any configuration
  - name: nri-docker
  # New Relic integration that gets its configuration from the environment
  - name: nri-mysql
    env:
      PORT: 3306
      USERNAME: newrelic
      PASSWORD: 123456789 # to hide this field, read the secrets management documentation
  # Any free-form integration executed via a user-provided command
  - name: my-own-integration
    exec: python /opt/integrations/my-script.py --host=127.0.0.1

設定用のYAMLファイルは必要なだけ用意でき、統合インスタンスをグループ化することができます。

ヒント

フォーマットの問題を避けるために、使用前にYAML設定ファイルを linting することをお勧めします。

各構成 YAML ファイルには、 discovery および variables の最上位セクションを含めることもできます。

重要

この設定形式では、エージェントの再起動は必要ありません。保存すると、変更はすぐに検出され、実行されます。つまり、途中の設定変更を保存すると、統合機能が停止する可能性があります。

設定プロパティの一覧

これは、統合を構成するために使用される一般的なプロパティのリストです。これらのプロパティの使用方法や値の例などの詳細については、表の後にあるドキュメントを参照してください。

コンフィグ

説明

name

統合の名前。これは、すべてのオンホスト統合にわたって唯一必須の構成プロパティです。 exec フィールドが設定されていない場合、それは統合実行可能ファイルの名前にもなります。

cli_args

統合実行可能ファイルを提供するために name が使用される場合のコマンドライン引数のオプションのリスト。エージェント バージョン 1.13.0以降で利用可能です。

exec

統合実行可能ファイルへのフルパスと引数。単一行の文字列または文字列配列の場合があります。指定しない場合、 exec フィールドはデフォルトで name フィールドになります。

env

統合に渡される環境変数を含む YAML マップ。ここで、 key は環境変数名、 value は変数値です。

config

外部ファイルとして書き込まれる構成、および CONFIG_PATH 環境変数または ${config.path} 変数プレースホルダーとの統合に渡されるパス。

config_template_path

CONFIG_PATH 環境変数または ${config.path} 変数プレースホルダーとの統合にパスが渡される外部ファイル。これを使用すると、ディスカバリーとシークレット・バインディングを任意の外部構成に適用できます。

integration_user

統合を実行するユーザーの名前。

interval

統合の連続実行間の時間。数値の後に時間単位 (sm または h) をスペースなしで指定する必要があります。

inventory_source

インベントリソースのカテゴリーとタームをオーバーライドできます。

labels

統合によって報告されたデータ(メトリクス、イベント、インベントリ)を装飾するラベルを持つマップ。

timeout

数値の後に時間単位が続きます (mssm または h)。この期間内に応答しなかった統合は強制終了され、再起動されます。

working_dir

統合バイナリの作業ディレクトリ。

ときに

統合は、その節の評価が真である場合にのみ実行されます。

条件は 以下に定義されています

このドキュメントの残りの部分では、機能ごとにグループ化されたconfigプロパティについて説明します。

実行するインテグレーションの選択

どの統合を実行するかを選択するプロパティは 2 つあります: nameexec

すべてのオンホスト統合で唯一の必須プロパティは nameです。このドキュメントで指定されている残りのプロパティはオプションです。

例:

integrations:
- name: nri-docker
- name: my-integration
exec: /usr/local/bin/my-integration --metrics --inventory

統合実行ファイルに設定を渡す

多くの場合、統合実行ファイルは、適切に動作するために設定を受け取る必要があります(例えば、監視対象システムのホスト名とポート、ユーザー認証情報など)。

インフラストラクチャ エージェントを使用すると、次の 3 つの方法 (組み合わせることができます) で統合コマンドを設定できます。

  • 環境変数。 env プロパティを使用します。(おすすめされた)
  • コマンドライン引数。 exec プロパティで渡されます。
  • 環境変数やコマンドライン引数でパスを渡す必要のある設定ファイル( config )プロパティを参照してください。

例:

integrations:
- name: my-integration
exec: /opt/path/bin/script --host 127.0.0.1 --port 8081
- name: nri-mysql
env:
STATUS_URL: http://10.0.0.3/server-status?auto
REMOTE_MONITORING: true

エージェントが統合を実行する方法を設定する

このセクションのプロパティは、インフラストラクチャ エージェントが実行して統合と対話する方法、またはエージェントが統合のデータを修飾する方法を変更します。

古い統合設定の更新

2019 年 12 月に、 インフラストラクチャ エージェント バージョン 1.8.0 では、異なる構成形式の使用が開始されました。

これらの形式の主な違いは、古い構成形式では 2 つの別個の構成ファイル ( INTEGRATION_NAME-definition.yml ファイルと INTEGRATION_NAME-config.yml ファイル) が使用されるのに対し、新しいバージョンでは 1 つの構成ファイルが使用されることです。

ここでは、新しい設定機能によって追加された機能をご紹介します。

  • コマンドライン引数、環境変数、外部ファイルによる柔軟な設定が可能です。
  • 異なる統合機能を同じファイルにまとめることができる。
  • ホットリロード:新しい統合を追加したり、その構成を変更したりする際に、エージェントを再起動する必要がありません。
  • タイムアウト:ユーザーが指定した時間までに統合が応答しなかった場合、統合プロセスは強制終了して再起動されます。

すべてのオンホスト統合に新しい設定形式が用意されているわけではありませんが、すべてのオンホスト統合の設定を新しい形式に更新することで、新機能を利用することができます。

以下のYAMLは、古い設定形式を使用したApache統合 の設定例を示しています。なお、この設定は新しいエージェントでも動作しますが、機能を最大限に活用するために統合を更新することをお勧めします。

integration_name: com.newrelic.apache
instances:
- name: apache-server-metrics
command: metrics
arguments:
status_url: http://127.0.0.1/server-status?auto
remote_monitoring: true
labels:
env: production
role: load_balancer
- name: apache-server-inventory
command: inventory
arguments:
remote_monitoring: true
labels:
env: production
role: load_balancer

古い統合設定を新しいフォーマットに更新するには、次のいずれかの方法を使用します。

アシスト方式

New Relic CLI を使って、以下のコマンドを実行すると、古い定義・設定ファイルが新しい設定形式に自動的に変換されます。

bash
$
newrelic agent config migrateV3toV4 -d /path/definitionFile -c /path/configFile -o /path/outputFile

例:

マニュアル方式

統合ファイルを手動で変換する場合

  1. instances 最上位セクションの名前を integrationsに変更します。
  2. integration_name 最上位セクションを削除し、それを各統合エントリに追加します。統合タイプごとに個別のファイルを保持する必要がなくなり、従来の統合エントリを他の統合と同じファイルにグループ化できます。

ここでは、新バージョンのApache統合設定の例を紹介します。

integrations:
- name: nri-apache
env:
METRICS: "true"
STATUS_URL: http://127.0.0.1/server-status?auto
REMOTE_MONITORING: true
interval: 15s
labels:
env: production
role: load_balancer
- name: nri-apache
env:
INVENTORY: "true"
STATUS_URL: http://127.0.0.1/server-status?auto
REMOTE_MONITORING: true
interval: 60s
labels:
env: production
role: load_balancer
inventory_source: config/apache

重要

古い構成形式はホットリロードをサポートしていないことに注意してください。したがって、インフラストラクチャ エージェントを再起動して、古い統合構成を削除する必要があります。それ以外の場合、古いインスタンスと新しいインスタンスが共存します。

Copyright © 2024 New Relic株式会社。

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