New Relic Flex: 独自のインテグレーションを構築する

New Relicは、多くの一般的なサービスやフレームワーク向けのインテグレーションを提供しています。New Relicを使用しており、インテグレーションの対象外のサービスからデータのレポートを行う場合、次のいくつかの方法でNew Relicにより独自のインテグレーションを作成できます。

Flexとは?

New Relic Flexは、アプリケーションに依存しないすべてを兼ね備えたツールで、このツールを使用して広範なサービスからメトリックデータを収集できます。New Relic Infrastructureエージェントとバンドルで提供されます。標準形式(例:JSONまたはプレーンテキスト)で標準プロトコル(HTTP、ファイル、シェル)にメトリックスを露呈するアプリをインストゥルメントできます:YAML設定ファイルを作成し、Infrastructureエージェントを開始し、データをNew Relicにレポートします。

Flexは、広範なソースから、New Relicにイベントとメトリックデータを送信できます。簡単なYAML設定ファイルを使用して、HTTP/HTTPSリクエストを実行し、シェルコマンドを実行し、ファイルコンテンツのパースを行えます。また、標準の正規表現を使用して、この入力から収集したデータのカスタマイズと制御も行えます。設定の例をご覧ください。

データの収集とクリーンアップを行った後、New RelicでFlexデータのクエリを行い、カスタムチャートを作成し、そのデータをダッシュボードで使用できます。

要件

FlexはInfrastructureエージェントとバンドルで提供されます。Flexを使用するには、次のものが必要です。

Flexの動作のしくみ

FlexはInfrastructureエージェントを使用して、レポートするデータを生成するコマンドを実行します。データのレポートでのFlexのしくみの概要は次のとおりです。

  1. Infrastructureエージェントパッケージにある、YAML設定ファイルでレポートするデータを定義します。設定の例をご覧ください:
    設定の例

    LinuxサーバーのアップデートをモニターするためのFlex設定の例は次のとおりです。この設定は、flex-uptime.ymlという名前のファイルにあります。この設定は、/etc/newrelic-infra/integrations.d/flex-uptime.ymlにある、Infrastructureエージェントのインテグレーション設定セクションにあります。

    integrations:
      - name: nri-flex    
        config:
          name: linuxUptimeIntegration
          apis:
            - name: Uptime
              commands:
                - run: 'cat /proc/uptime'
                  split: horizontal
                  split_by: \s+
                  set_header: [uptimeSeconds,idletimeSeconds]
    

    この設定で行うことについての注:

    • runでは、実行するコマンドを定義します。
    • 名前: アップタイムで示される名前には、UptimeSampleと呼ばれるイベントを生成するためのサンプルが付けられます。
    • split_by: \s+は、空白文字に基づきフィールドを分割します。
    • このコマンドは、UptimeSampleイベントに添付された属性を生成します。属性の名前はuptimeSecondsおよびidletimeSecondsとなります。
  2. Infrastructureエージェントは、独自の設定(デフォルト:30秒おき)に基づく頻度でFlexを実行し、データをNew Relicに送信します。
  3. その後データのクエリを行い、そのデータを使用してカスタムチャートを作成し、データをダッシュボードに追加できます。

詳細情報

Flexインテグレーションは、Infrastructureエージェントとバンドルで提供されます。要件の詳細を表示する

詳細については、GitHubのドキュメント:

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください: