• English日本語한국어
  • ログイン今すぐ開始

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

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、こちらのページをご覧ください。

問題を作成する

オンホストの統合。従来の設定形式

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.nginx
protocol_version: 2
description: Collect metric and configuration data from NGINX
os: linux
commands:
metrics:
command:
- myorg-nginx
- --metrics
interval: 15
inventory:
command:
- myorg-nginx
- --inventory
interval: 120
prefix: integration/myorg-nginx

定義ファイルは、2つの部分に分けられます。

定義ファイルのヘッダ

ここでは、定義ファイルのヘッダー要素について説明します。

Definitionヘッダーフィールド

説明

name

必要。ロギング、内部指標などの統合を識別するための一意の名前 name エージェントが構成ファイルをロードすると、New Relic は name を使用してエージェントのレジストリ内の統合を検索します。

protocol_version

必須項目です。プロトコルのバージョン番号です。New Relic はこれを使用して、統合とエージェントの間の互換性を確保します。エージェントが統合のバージョンを認識しない場合は、その統合をフィルタリングし、ログメッセージを作成します。

JSON プロトコルの現在のバージョンは 2です。プロトコルの変更の詳細については、 「SDK の変更」を参照してください。

description

オプションです。インテグレーションが何をするのかをわかりやすく説明します。

os

オプションです。統合が実行されるオペレーティング・システム。New Relic では、特定のオペレーティング・システムでのみ実行することを意図した統合をフィルタリングするために使用します。

デフォルト: os 値に関係なく統合を実行します。

特定のOSへの統合を制限するには、以下のいずれかのオプションを使用します。

  • linux
  • windows

定義ファイルコマンド

ヘッダーの後には、コマンドのリストがあります。コマンドセクションでは、以下のことが定義されています。

  • 実行ファイルの1つまたは複数の独立した動作モード
  • 実行するために必要なランタイムデータ

commandsセクションは、コマンド定義のYAMLマップです。各キーは、実行する実行ファイルを指定する統合の設定ファイル内のコマンドの固有のエイリアス名です。

定義コマンド

説明

command

必要です。実行される実際のコマンドラインを、コマンドパーツのYAML配列として指定します。これらは実際のコマンドを実行するために組み立てられます。単純なコマンドの場合、配列は1つの要素だけになることがあります。

追加のコマンドルールは以下の通りです。

  • command 引数: 統合構成のすべてのインスタンスで共有されるコマンドおよびコマンド ライン引数。

  • command 実行:定義ファイルと同じディレクトリでコマンドが実行されます。

  • command パス: ホストの $PATH で使用可能なコマンドはすべて使用できます。定義ファイルと同じディレクトリまたはそのサブディレクトリにある実行可能ファイルは、相対パスを使用して実行できます。例えば:

    • Linux: 定義ファイルと同じディレクトリで myorg-nginx という実行可能ファイルを実行するには、 myorg-nginx または ./myorg-nginxを使用できます。Linux システムは、ユーザーが ./myorg-nginxを使用したかのように myorg-nginx を実行します。
    • Windows: 定義ファイルと同じディレクトリにある myorg-nginx.exe という実行可能ファイルを実行するには、 \myorg-nginx.exe または .\myorg-nginx.exeを使用できます。myorg-nginx.exe を書き込む Windows システムは、現在のパス: .\myorg-nginx.exeを示すかのように実行されます。
    • ホストの $PATH上のディレクトリ内にインストールされたコマンドを使用するには、コマンド名を使用するだけです。例: python
    • ホストの $PATH にも統合ディレクトリ内にもない他の実行可能ファイルを実行するには、実行可能ファイルへの絶対パスを使用します。例: /opt/jdk/bin/java

    指定された実行可能ファイル名が統合のディレクトリ内に存在するが、システム $PATH上の他の場所にも存在する場合、統合のディレクトリ内のバージョンが優先されます。

interval

任意です。コマンドの連続した2つの実行の間、特に前の実行の終了から次の実行の開始までの秒数です。

  • メトリックポーリングのデフォルト。30秒です。
  • 最小(フロア):15秒
  • アラートアラートに使用するメトリクスには、30秒以下の間隔を使用してください。

prefix

オプション。category/short_integration_nameの形式での在庫の分類。例: integration/myorg-nginx

プレフィックスはプラットフォーム固有のパスではありません。スラッシュは、カテゴリと short_integration_nameの間の正しい区切り文字です。

プレフィックスには最大2つのレベルを設定できます。それ以外の場合、在庫は報告されません。

設定されていない場合のデフォルト値: integration/integration_name

構成ファイル

構成ファイルの 命名形式は、 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.nginx
instances:
- 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.nginx
instances:
- 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

コンフィグファイルのフィールド定義

コンフィグファイル欄

説明

integration_name

必須です。これはヘッダーで、実行する実行ファイルを特定するために使用されます。この名前は、統合の 定義ファイル で指定された名前と正確に一致する必要があります。

推奨: 固有の名前を確保するために、逆ドメイン名表記法を使用する。

name

必須です。これは、統合の特定の呼び出し(インスタンス)の名前です。これは、この統合によって生成されたすべてのログメッセージを識別するために使用され、 トラブルシューティングにも役立ちます。

command

必須です。これは実行するコマンドです。これは、統合の 定義ファイル で指定された固有のエイリアス名の1つと正確に一致する必要があります。

arguments

オプションです。があるYAMLオブジェクトです。

  • キーです。引数名です。環境変数として設定されている場合は、大文字に変換されます。

  • 値です。引数の値です。そのまま通過します。

    引数は、環境変数のセットとして統合に利用できるようになります。

    設定ファイルの引数は大文字ではなく、アンダースコアで単語を区切る必要があります。

labels

オプションです。があるYAMLオブジェクトです。

  • キーです。ラベル名です。
  • 値。定義されたラベルの値です。

integration_user

オプションです。エージェントが統合バイナリの実行に使用する名前の文字列。

デフォルト: usermodeに依存します。デフォルトでは、統合は統合エージェントを実行しているのと同じユーザー (特権モードおよび非特権モードの場合は nri-agent 、root モードの場合は root ユーザー) で実行されます。

存在する場合、インフラストラクチャ エージェントは指定されたユーザーとして統合バイナリを実行します。たとえば、 rootとは異なる usermode でエージェントを実行するときに root ユーザーとして統合バイナリを実行するには、構成ファイルに integration_user: root を追加するだけです。

Copyright © 2024 New Relic Inc.

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