Infrastructure インテグレーション SDK の紹介

New Relic Infrastructure は、メトリックやイベント、インベントリ(システム状態)データを含む独自のホストやサーバーのデータを送信できるインテグレーションを作成できるソフトウェア開発キット(SDK)を提供します。送信さらたデータは、New Relic Infrastructure と New Relic Insights から利用できます。

この機能を利用できるかは契約しているサブスクリプションレベルによります。

Infrastructure インテグレーションとは?

New Relic Infrastructure において、インテグレーションとは、特定のホスト/サーバー/システムデータを New Relic に送信するパッケージのことを指します。インテグレーションによって、Infrastructure のデフォルトの監視を補完することができます。既に New Relic 自身で幾つかのインテグレーション(Amazon/AWS インテグレーションなど)を作成しています。Infrastructure インテグレーション SDK を使うことで、独自のインテグレーションを作成することができます。

インテグレーションに必要なものは以下の通りです。

  • 任意の言語で書かれた1つ以上の実行可能ファイル。Infrastructure エージェントが想定する形式で JSON データをエクスポートするもの。
  • 定義ファイル (YAML形式)。サポートするプロトコルのバージョン、実行可能なコマンドのリスト、指定可能な引数など、インテグレーションに関する情報を指定します。
  • 構成ファイル(YAML形式)。実行する実行ファイルと実行に必要なパラメーターを指定します。

カスタムインテグレーションを使うと、MySQL、Kafka、RabbitMQ などの特定のテクノロジーのデータをレポートできるようになります。たとえば、カスタムインテグレーションを使って、MySQL インスタンスのアクティブな接続数の測定や、1秒あたりの接続数を測定できます。カスタムインベントリデータを使うと、設定変更を追跡できるため、インストールや更新がパフォーマンスの問題とどのような関係があるかを理解する手助けになります。

レポートできるデータの種類

Infrastructure インテグレーションで生成できるデータは、以下の3種類です。

  • Metrics: メトリックデータは、シンプルな数値データを扱いたい場合に利用します。例:キュー内のリクエスト数、1分あたりのデータベースのヒット数。
  • Events: イベントは、重要なアクティビティを記録したい場合に使用します。例:作成中のサービス開始や新規テーブルの作成。
  • Inventory: 現在のシステムの状態や構成情報。

New Relic Infrastructure のエージェントは、インテグレーションの実行可能ファイルからの JSON 出力の形式に基づいてデータタイプを決めます。

New Relic 製品のインテグレーションデータがどこにあるかについては、インテグレーションデータの検索と利用をご覧ください。

データ収集はどのように行われるのか?

以下のようにして、Infrastructure インテグレーションは New Relic にデータを送信しています。

  1. Infrastructure エージェントは、起動時に全てのインテグレーション用の定義ファイルが格納されているディレクトリをスキャンします。
  2. エージェントは、定義ファイルに定義されている全実行可能ファイルを登録します。
  3. エージェントは、専用のディレクトリ内のインテグレーション用の設定ファイルをスキャンします。
  4. これらの設定ファイルが、Infrastructure エージェントに登録されているインテグレーションを指定している場合、エージェントはインテグレーションを設定し、スケジュールを設定します。
  5. スケジュールされた時刻に、エージェントはインテグレーションからデータを収集し、送信準備を行います。そして、それを他の Infrastructure データとともに New Relic に送信します。
  6. 収集処理が成功した後、インテグレーションの実行可能ファイルを終了します。

Amazon/AWS インテグレーション

New Relic Infrastructure には、Amazon/AWS がホストするデータを(New Relic に)送信するインテグレーション機能があります。詳しくは、Amazon インテグレーションをご覧ください。