New Relic Infrastructure オンホスト統合 では、2 種類の 設定フォーマット のいずれかを使用できます。このドキュメントでは、旧来の構成フォーマットについて説明します。
重要
New Relic では、新しい 標準の改良された設定フォーマット を使用することをお勧めします。設定ファイルをこの新しいフォーマットに更新するには、 の更新セクションを確認してください。
設定の概要については、 Config overview をご覧ください。
設定ファイルの構成
標準的な設定フォーマットを使用するホスト上の統合では、2つの設定ファイルが必要です。
定義ファイル
定義ファイルの命名形式は INTEGRATION_NAME-definition.yml
です。このファイルは、サポートする JSON プロトコルのバージョン、実行できるコマンドのリスト、受け入れる引数など、統合に関する説明情報を提供します。これは次のディレクトリにあります。
Linux:
/var/db/newrelic-infra/newrelic-integrationsウィンドウズ:
C:\Program Files\New Relic\newrelic-infra\newrelic-integrations
以下は、Linuxシステムで2つのコマンドセクションを持つNGINX統合定義ファイルの例です。
name: com.myorg.nginxprotocol_version: 2description: Collect metric and configuration data from NGINXos: linuxcommands: metrics: command: - myorg-nginx - --metrics interval: 15 inventory: command: - myorg-nginx - --inventory interval: 120 prefix: integration/myorg-nginx
定義ファイルは、2つの部分に分けられます。
定義ファイルのヘッダ
ここでは、定義ファイルのヘッダー要素について説明します。
Definitionヘッダーフィールド | 説明 |
---|---|
| 必要。ロギング、内部指標などの統合を識別するための一意の名前 |
| 必須項目です。プロトコルのバージョン番号です。New Relic はこれを使用して、統合とエージェントの間の互換性を確保します。エージェントが統合のバージョンを認識しない場合は、その統合をフィルタリングし、ログメッセージを作成します。 JSON プロトコルの現在のバージョンは |
| オプションです。インテグレーションが何をするのかをわかりやすく説明します。 |
| オプションです。統合が実行されるオペレーティング・システム。New Relic では、特定のオペレーティング・システムでのみ実行することを意図した統合をフィルタリングするために使用します。 デフォルト: 特定のOSへの統合を制限するには、以下のいずれかのオプションを使用します。
|
定義ファイルコマンド
ヘッダーの後には、コマンドのリストがあります。コマンドセクションでは、以下のことが定義されています。
- 実行ファイルの1つまたは複数の独立した動作モード
- 実行するために必要なランタイムデータ
commandsセクションは、コマンド定義のYAMLマップです。各キーは、実行する実行ファイルを指定する統合の設定ファイル内のコマンドの固有のエイリアス名です。
定義コマンド | 説明 |
---|---|
| 必要です。実行される実際のコマンドラインを、コマンドパーツのYAML配列として指定します。これらは実際のコマンドを実行するために組み立てられます。単純なコマンドの場合、配列は1つの要素だけになることがあります。 追加のコマンドルールは以下の通りです。
|
| 任意です。コマンドの連続した2つの実行の間、特に前の実行の終了から次の実行の開始までの秒数です。
|
| オプション。 プレフィックスはプラットフォーム固有のパスではありません。スラッシュは、カテゴリと プレフィックスには最大2つのレベルを設定できます。それ以外の場合、在庫は報告されません。 設定されていない場合のデフォルト値: |
構成ファイル
構成ファイルの 命名形式は、 INTEGRATION_NAME-config.yml
のようなものです。このファイルは、実行する実行可能ファイルとその実行に必要なパラメータを指定します。これは次のディレクトリにあります。
Linux:
/etc/newrelic-infra/integrations.d/ウィンドウズ:
C:\Program Files\New Relic\newrelic-infra\integrations.d
ヒント
フォーマットの問題を避けるために、使用前にYAML設定ファイルを linting することをお勧めします。
以下は、1つのインスタンスが定義されたコンフィグファイルの例です。これらのフィールドの説明は、例の下で説明されています。
integration_name: com.myorg.nginxinstances: - name: nginx1.myorg.com-metrics command: metrics arguments: status_url: http://127.0.0.1/status labels: environment: production role: load_balancer
2つのインスタンスが定義されたコンフィグファイルの別の例です。
integration_name: com.myorg.nginxinstances: - name: nginx1.myorg.com-metrics command: metrics arguments: status_url: http://one.url/status labels: environment: production role: load_balancer - name: nginx2.myorg.com-metrics command: metrics arguments: status_url: http://another.url/status labels: environment: production role: load_balancer
コンフィグファイルのフィールド定義
コンフィグファイル欄 | 説明 |
---|---|
| 必須です。これはヘッダーで、実行する実行ファイルを特定するために使用されます。この名前は、統合の 定義ファイル で指定された名前と正確に一致する必要があります。 推奨事項: 名前が一意であることを保証するには、逆ドメイン名表記を使用します。 |
| 必須です。これは、統合の特定の呼び出し(インスタンス)の名前です。これは、この統合によって生成されたすべてのログメッセージを識別するために使用され、 トラブルシューティングにも役立ちます。 。 |
| 必須です。これは実行するコマンドです。これは、統合の 定義ファイル で指定された固有のエイリアス名の1つと正確に一致する必要があります。 |
| オプションです。があるYAMLオブジェクトです。
|
| オプションです。があるYAMLオブジェクトです。
|
| オプションです。エージェントが統合バイナリの実行に使用する名前の文字列。 デフォルト: 存在する場合、インフラストラクチャ エージェントは指定されたユーザーとして統合バイナリを実行します。たとえば、 |