New Relic Flexはホスト上のコマンドやファイル、HTTPアクセスを介して任意のデータをNew Relicに送信する機能です。この記事ではWindowsホストでNew Relic Flexを利用してみます。
New Relic Flexの概要について理解されたい方は以下のドキュメントをご確認ください。
はじめてみよう
New Relic FlexはNew Relic Infrastructure Agentがインストールされたホストで利用できます。
こちらの記事を参考にインストールしてください。
定義ファイルを作成してみよう
New Relic Flexは実行するコマンドやデータのヘッダ(属性名)などをyaml形式の定義ファイルに記述します。この定義ファイルを C:\Program Files\New Relic\newrelic-infra\integrations.d
に配置すれば処理が開始されます。
ここでは、Windowsの netstat
コマンドを例にしてみます。
# Windows Netstat
integrations:
- name: nri-flex
interval: 60s
config:
name: winNetstat
apis:
- event_type: winNetstat
shell: powershell
commands:
- run: netstat -ano
split: horizontal
set_header: [proto, localAddress, foreignAddress, state, processId]
regex_match: true
row_start: 1
split_by: \s+(\w+)\s+(\S+)\s+(\S+)\s+(\w+|\s+)\s+(\d+)
event_type
に記述した名前がNew Relicでのイベント名になります。
データを確認してみよう
New Relic Flexでデータが送信されていることを確認してみましょう。今回の定義ファイルでのEvent名は winNetstat
になります。
Data explorerを使ってNRQLを書かずにデータを確認することもできます。
こんな時は...
1. 日本語が文字化けする
日本語のWindowsではコマンド実行時のコードページが Shift_JIS
のため、そのままNew Relicにデータを転送すると日本語が文字化けしてしまいます。
integrations:
- name: nri-flex
config:
name: winJapanese
apis:
- event_type: winJapanese
commands:
- run: echo ニューレリック株式会社 技術統括
split: horizontal
split_by: \s+
set_header: [company, department]
この場合 chcp コマンドを使ってコードページをUTF-8に変更することにより、文字化けを解消できます。
integrations:
- name: nri-flex
config:
name: winJapanese
apis:
- event_type: winJapanese
commands:
- run: chcp 65001 > nul & echo ニューレリック株式会社 技術統括
split: horizontal
split_by: \s+
set_header: [company, department]
2. データが送信されない
そんな時はこちらの記事を参考にして定義ファイルが問題ないかデバッグしてみてください。
nri-flex.exe
は次のパスにあります。
C:\Program Files\New Relic\newrelic-infra\newrelic-integrations\nri-flex.exe
3. もっと定義ファイルのサンプルが欲しい
安心してください。GitHubにWindowsを含むさまざまな定義ファイルがアップロードされています。
まとめ
New Relic Flexを介してWindowsのOSコマンドやバッチプログラムなどを実行することにより、さまざまなデータをNew Relicに送信することができます。これまで手動で取得していたデータをNew Relicに集約し、さらなら品質維持や改善にぜひご活用ください!
New Relicでは、新しい機能やその活用方法について、QiitaやXで発信しています!
無料でアカウント作成も可能なのでぜひお試しください!
New Relic株式会社のX(旧Twitter) や Qiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。
無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!