• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

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

New Relic Infrastructure オンホスト統合 では、2 種類の 設定フォーマット のいずれかを使用できます。このドキュメントでは、旧来の構成フォーマットについて説明します。

重要

New Relic では、新しい 標準の改良された設定フォーマット を使用することをお勧めします。設定ファイルをこの新しいフォーマットに更新するには、 の更新セクションを確認してください。

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

設定ファイルの構成

標準的な設定フォーマットを使用するホスト上の統合では、2つの設定ファイルが必要です。

定義ファイル

定義ファイルは、 INTEGRATION_NAME-definition.yml のようなネーミング形式になっています。このファイルには、サポートしているJSONプロトコルのバージョン、実行可能なコマンドのリスト、受け入れ可能な引数など、統合に関する記述的な情報が記載されています。このファイルは、このディレクトリに格納されています。

  • Linuxです。

    /var/db/newrelic-infra/newrelic-integrations
  • Windows:

    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

必要です。一意の名前 名前 ロギングや内部メトリクスなどで統合を識別するためのもの。エージェントが設定ファイルを読み込む際、New Relic は 名前 を使用して、エージェントのレジストリで統合を検索します。

プロトコルバージョン

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

現在のJSONプロトコルのバージョンは、 2 です。プロトコルの変更については、 SDK changes をご覧ください。

説明

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

os

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

デフォルトです。 os の値に関わらず、統合を実行します。

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

  • linux
  • ウィンドウズ

定義ファイルコマンド

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

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

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

定義コマンド

説明

コマンド

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

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

  • コマンド 引数。統合構成のすべてのインスタンスで共有される、コマンドと任意のコマンドライン引数。

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

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

    • Linux: myorg-nginx という実行ファイルを定義ファイルと同じディレクトリで実行するには、 myorg-nginx または ./myorg-nginx とします。Linux システムは、ユーザーが ./myorg-nginx を使用したかのように、 myorg-nginx を実行します。
    • Windows: myorg-nginx.exe という実行ファイルを定義ファイルと同じディレクトリで実行するには、 ˶˙º̬˙˶ または .˶˙º̬˙˶ とします。Windows システムでは、 myorg-nginx.exe を書くと、 .̫⃝myorg-nginx.exe というように、現在のパスを示すように実行されます。
    • ホストの $PATH のディレクトリ内にインストールされているコマンドを使用するには、単にそのコマンド名を使用します。例: python.
    • ホストの $PATH にも統合ディレクトリ内にもない他の実行ファイルを実行するには、実行ファイルの絶対パスを使用します。例: /opt/jdk/bin/java.

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

インターバル

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

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

プレフィックス

任意です。 category/short_integration_name の形式で、インベントリのカテゴリー化を行います。例: integration/myorg-nginx.

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

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

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

設定ファイル

設定ファイル は、 INTEGRATION_NAME-config.yml のような命名形式になっています。このファイルでは、実行する実行ファイルとその実行に必要なパラメータを指定します。このディレクトリに格納されています。

  • Linuxです。

    /etc/newrelic-infra/integrations.d/
  • Windows:

    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

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

コンフィグファイル欄

説明

統合名

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

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

name

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

コマンド

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

引数

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

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

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

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

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

labels

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

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

integration_user

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

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

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

Copyright © 2022 New Relic株式会社。

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