• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

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

問題を作成する

Azure VNetフローログ監視の設定

Azure Virtual Network(VNet)フローログを使用すると、仮想ネットワークを流れるIPトラフィックに関する情報をログに記録できます。New Relic VNetフローログフォワーダーを使用すると、これらのログをNew Relicに自動的に転送して、パフォーマンス分析やネットワーク接続のトラブルシューティングを行うことができます。

使い方

VNetフローログフォワーダーは、イベント駆動型のAzure Function Appです:

Azure VNet Flow Logs Architecture
  1. Event Grid → Event Hub: フローログストレージアカウントのEvent Gridサブスクリプションは、PT1H.json BLOB上のBlobCreatedイベントをリッスンし、Event Hubに直接配信します。サブスクリプションは、ファイルごとの時系列順序を保証するために、パーティションキーとしてBLOBパス(イベントサブジェクト)を使用します。個別のリレー関数はありません。

  2. VNetFlowLogsConsumer: 以下の方法で各BLOBイベントを処理するEvent Hubトリガー関数です:

    • Azure Table Storageからカーソルを読み取り、すでに処理されたものを決定します。
    • PT1H.json BLOBから新しく追加されたブロックのみをダウンロードします(差分読み取り)。
    • VNetフローログレコード(フロータプル)を構造化されたログエントリに解析します。
    • ログAPIを介して解析されたレコードをNew Relicに送信します。
    • 配信成功時に、更新されたカーソルをコミットします。
  3. VNetFlowLogsCleanup: Azure Table Storageから古いカーソルエントリを定期的に削除するタイマー・トリガー関数(デフォルトでは毎日03:00 UTC)。

このアーキテクチャーは、効率的でインクリメンタルな処理を保証します — 新しいデータのみが読み取られて転送され、すでに確認されたレコードの重複処理を回避します。

前提条件

NewRelicの前提条件

New Relicでは次のものが必要です:

  • NewRelicアカウント。持っていませんか?無料でお申し込み頂けます!クレジットカードは必要ありません。
  • New Relic

Azureの前提条件

Azureでは次のものが必要です:

VNetフローログフォワーダーをデプロイする

ARM/Bicepテンプレートを使用して(推奨)、または手動でVNetフローログフォワーダーをデプロイできます。

New Relic VNet Flow ログ ARMテンプレートおよびBicepテンプレートは、必要なすべてのリソースの自動デプロイメントを提供します。

テンプレートは自動的に次のことを行います:

  • Event Hubネームスペース、Event Hub、および消費者グループを作成する

  • VNetフローログ関数を使用して関数アプリ(Flex従量課金プラン、Node.js 22)をデプロイする

  • Function Appランタイムおよびカーソルトラッキング用のストレージアカウントを作成する

  • PT1H.jsonのBLOB作成イベントを直接Event HubにルーティングするEvent Gridシステムトピックとサブスクリプションを作成する

  • 必要なロール割り当てを持つマネージドIDを割り当てる

  • 必要なすべてのアプリケーション設定を構成する

  • オプションで、VNetインテグレーションとプライベートエンドポイントを使用したプライベートネットワークを有効にします

    以下の手順に従ってください。

  1. one.newrelic.com > Integrations & Agentsに移動します。

  2. Collectionsで、Loggingを選択し、Microsoft Azure VNet Flow Logsタイルをクリックします。

  3. Select an accountドロップダウンから、ログの送信先アカウントを選択し、Continueをクリックします。

  4. Enter your license keyステップで、Create a new keyをクリックし、Copy keyをクリックして安全な場所に保存してから、Continueをクリックします。

  5. Deploy to Azureをクリックします。ARMテンプレートが読み込まれた状態で、Azureで新しいタブが開きます。

  6. デプロイメントのResource groupRegionを選択します。作成されたコンポーネントを誤って削除しないように、新しいリソースグループをお勧めします。

  7. New Relic license keyフィールドに、先ほどコピーしたライセンスキーを貼り付けます。

  8. New Relicエンドポイントが、アカウントに対応するもの(US、EU、またはJP)に設定されていることを確認します。

  9. (オプション)VNet Flowログが保存されているSource Storage Account Nameを入力します。このデプロイメントと同じリソースグループ内にある必要があります。新しいソースストレージアカウントを自動的に作成するには、空白のままにします。

  10. (オプション)Disable Public Access To Storage Accountを選択して、VNetインテグレーションとプライベートエンドポイントを備えたプライベートネットワークモードを有効にします。

  11. (オプション)詳細設定を構成します:

    • New Relic Tags:セミコロン区切りのタグ(形式:key1:value1;key2:value2
    • Max Retries:最大配信再試行回数(デフォルト:3)
    • Retry Interval:再試行間のミリ秒数(デフォルト:2000)
    • Function Log Level:Function Appログの詳細度 — TraceDebugInformationWarning、またはError(デフォルト:Information
    • Max Event Batch Size:バッチごとに処理されるEvent Hubイベントの最大数(デフォルト:10)
    • Min Event Batch Size: バッチあたりのEvent Hubイベントの最小数(デフォルト: 5)
    • Max Wait Time:処理前にトリガーがバッチを満たすのを待機する最大時間。hh:mm:ssとして指定します(デフォルト:00:00:30
    • Event Hub Scaling ModeBasic(1スループット単位、4パーティション、自動拡張なし — 低~中トラフィック)またはEnterprise(最大40スループット単位までの自動拡張、32パーティション — 高スループットボリューム)(デフォルト:Basic
  12. Review + createをクリックし、設定を確認して、Createをクリックします。

  13. New Relicに戻り、Create log partitionステップでCreate partitionをクリックします。これによりLog_VNET_Flows_Azureデータパーティション(ルール:instrumentation.name = 'vnet-app'、STANDARD保持)が作成されるため、VNetフローログは他のログとは別に保存され、クエリされます。アカウントにLog_VNET_Flows_Azureパーティションがすでに存在する場合は、Continueをクリックしてこのステップをスキップします。

  14. Test your logsステップで、SELECT * FROM Log_VNET_Flows_Azureを実行してデータが到着していることを確認し、See your dataをクリックします。

    デプロイメントアーキテクチャー

    ARM/Bicepテンプレートは、2つのデプロイメントモードをサポートしています:

    標準デプロイメント(デフォルト):

  • Event Gridを使用して、ソースストレージアカウントでのBLOB作成をモニターします

  • サブジェクトをパーティションキーとして使用し、順序付けられた処理のためにイベントを直接Event Hubにルーティングします

  • Function AppでVNetフローログを処理し、New Relicに転送します

  • Function App、そのストレージアカウント、およびEvent Hubでのパブリックネットワークアクセスを有効にします

    プライベートネットワーキングのデプロイメント(オプション、disablePublicAccessToStorageAccount=true):

  • 標準デプロイメントのすべての機能が含まれています

  • Function App、そのストレージアカウント、およびイベントハブをプライベート仮想ネットワーク内に分離し、それらへのパブリックネットワークアクセスを無効にします

  • ストレージサービス(BLOB、ファイル、キュー、およびテーブル)のプライベートエンドポイントとのVNetインテグレーションを追加します

  • 名前解決用のプライベートDNSゾーンを作成します

  • パブリックネットワークアクセスを有効にしておく必要があるソースストレージアカウント(VNet Flowログを含む)は変更しません

手動でのデプロイメントを希望する場合、またはカスタム設定が必要な場合:

  1. azure-vnet-flow-logs Function AppをAzureサブスクリプションにデプロイします。
  2. VNetFlowForwarder関数(VNetFlowLogsConsumerおよびVNetFlowLogsCleanup)がデプロイメントに含まれていることを確認します。
  3. 以下にリストされている必要な環境変数(アプリケーション設定)を構成します。
  4. フローログストレージアカウントにEvent Gridサブスクリプションを設定し、イベントサブジェクトをパーティションキーとして使用して、BlobCreatedイベントを直接Event Hubにルーティングします。

構成

Azure Function Appで次のアプリケーション設定を構成します:

必須設定

環境変数

説明

NR_LICENSE_KEY

New Relicライセンスキー。

SOURCE_STORAGE_CONNECTION

VNet Flowログが保存されているAzure Storageアカウントの接続文字列。

CURSOR_STORAGE_CONNECTION

カーソル状態を永続化するために使用されるAzure Storageアカウントの接続文字列(ソースと同じにすることができます)。

EVENTHUB_CONSUMER_CONNECTION

BLOB作成イベントを消費者関数に配信するEvent Hubの接続文字列。

EVENTHUB_NAME

Event Hubインスタンスの名前。

オプション設定

環境変数

説明

デフォルト

NR_ENDPOINT

New Relic Logs APIエンドポイント。EUアカウントには

https://log-api.eu.newrelic.com/log/v1

を使用します。

https://log-api.newrelic.com/log/v1

NR_TAGS

転送されるすべてのログに追加するセミコロン区切りのタグ。形式:

key1:value1;key2:value2

なし

NR_MAX_RETRIES

New Relicへの配信再試行の最大数。

3

NR_RETRY_INTERVAL

再試行間の間隔(ミリ秒単位)。

2000

EVENTHUB_CONSUMER_GROUP

イベントHub消費者グループ。

$Default

CURSOR_RETENTION_HOURS

クリーンアップジョブによって削除される前にblob-cursorレコードを保持する時間数。

48

CURSOR_CLEANUP_SCHEDULE

カーソルクリーンアップタイマートリガーのNCRONTABスケジュール。

0 0 3 * * *

(毎日03:00 UTC)

MAX_CONSECUTIVE_FAILURES

フォワーダーがポイズンイベントとしてスキップするまでの、BLOBあたりの連続失敗回数。

5

フローログデータの表示

構成が完了すると、VNetフローログデータがNew Relicに表示されます。NRQLを使用してクエリできます:

SELECT * FROM Log_VNET_Flows_Azure
Azure cloud flow logs

このデータはConversationsビューでも視覚化できます。このビューでは、上位のフローが送信元、方向、プロトコル、および宛先ごとにグループ化されます:

Conversations view showing top flows grouped by source endpoint, direction, protocol, and destination address

各フローログレコードには、次の属性が含まれます:

属性

説明

srcAddr

送信元IPアドレス

destAddr

送信先IPアドレス

srcPort

送信元ポート

destPort

宛先ポート

protocol

プロトコル(TCP、UDP、およびICMP)

direction

Trafficの方向(インバウンド、アウトバウンド)

flowState

フロー状態:

Begin

Continuing

End

または

Deny

。拒否されたフローはここでは

Deny

として表現されます — 個別のアクション属性はありません。

encryption

暗号化ステータス:

Encrypted

Not Encrypted

、または

NX_*

理由コード(たとえば、

NX_HW_NOT_SUPPORTED

bytesSrcToDest

送信元から宛先までのバイト数

bytesDestToSrc

宛先から送信元へのバイト数

packetsSrcToDest

送信元から宛先へのパケット

packetsDestToSrc

宛先から送信元へのパケット

aclID

フローに関連付けられたアクセス制御リストID

rule

フローに一致したNSG/ACLルール名

targetResourceID

モニターされるターゲットリソースの完全なAzureリソースID

virtualNetworkName

仮想ネットワーク名(ターゲットがVNetまたはサブネットの場合)

subnetName

サブネット名(該当する場合)

macAddress

フローログレコードに関連付けられたMACアドレス

category

ログカテゴリ(たとえば、

FlowLogFlowEvent

operationName

フローログレコードからの操作名

flowLogVersion

VNetフローログのスキーマバージョン

flowLogGUID

フローログリソースの固有識別子

flowLogResourceID

フローログのAzureリソースID

ヒント

転送された各ログには、共通属性instrumentation.providerazure)、instrumentation.namevnet-app)、およびinstrumentation.version(フォワーダーのバージョン)に加えて、NR_TAGSで設定したカスタムのキーの値のペアも含まれます。生のフロータプルCSVは、ログのmessageフィールドに保持されます。

トラブルシューティング

欠落しているフローログデータ、重複したレコード、またはスキップされた(ポイズン)イベントのヘルプについては、Azure VNet Flow ログ監視のトラブルシューティングを参照してください。

Copyright © 2026 New Relic株式会社。

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