Les logs de Azure Virtual Network (VNet) Flow vous permettent d'enregistrer dans un log des informations sur le traffic IP circulant dans vos réseaux virtuels. Avec le redirecteur de logs de New Relic VNet Flow, vous pouvez transférer automatiquement ces logs vers New Relic pour l'analyse des performances et le dépannage de la connectivité réseau.
Comment ça marche
Le redirecteur de logs de VNet Flow est une application Azure Function pilotée par les événements :

Event Grid → Event Hub: un abonnement Event Grid sur votre compte de stockage de log de flux écoute les événements
BlobCreatedsur les blobs PT1H.json et les transmet directement à un Event Hub. L'abonnement utilise le chemin du blob (sujet de l'événement) comme clé de partition pour garantir un ordre chronologique par fichier. Il n'y a pas de fonction de relais distincte.VNetFlowLogsConsumer: une fonction déclenchée par Event Hub qui traite chaque événement blob en :
- Lecture d'un curseur à partir d'Azure Table Storage pour déterminer ce qui a déjà été traité.
- Téléchargeant uniquement les blocs nouvellement ajoutés à partir du blob PT1H.json (lectures delta).
- Analyse des enregistrements de log de VNet flow (tuples de flux) en entrées de log structurées.
- Envoi des enregistrements analysés à New Relic via l'API de log.
- Validant le curseur mis à jour lors d’une livraison réussie.
VNetFlowLogsCleanup: une fonction déclenchée par un minuteur qui supprime périodiquement les entrées de curseur obsolètes d'Azure Table Storage (par défaut, tous les jours à 03:00 UTC).
Cette architecture garantit un traitement efficace et incrémentiel — seules les nouvelles données sont lues et transférées, évitant le traitement en double des enregistrements déjà vus.
Prérequis
Prérequis pour New Relic
Vous avez besoin des éléments suivants dans New Relic :
- Un compte New Relic. Vous n'en avez pas ? Inscrivez-vous gratuitement ! Aucune carte de crédit requise.
- Une New Relic .
Prérequis Azure
Vous avez besoin des éléments suivants dans Azure :
- Un abonnement Azure avec VNet Flow Logs activé sur les réseaux virtuels cibles. Consultez la documentation de Microsoft sur l’activation de VNet Flow Logs.
- Un compte de stockage où vos logs de VNet Flow sont écrits (blobs PT1H.json).
- Un espace de nommage Event Hub et un Event Hub pour la livraison d'événements (peuvent être créés automatiquement par le modèle ARM/Bicep).
- Un compte de stockage Azure pour le runtime de la Function App et le stockage de la table de curseurs (peut être créé automatiquement par le modèle ARM/Bicep).
Déployer le redirecteur de logs de VNet Flow
Vous pouvez déployer le redirecteur de logs de VNet Flow à l'aide de modèles ARM/Bicep (recommandé) ou manuellement.
Le modèle ARM du log de VNet Flow de New Relic et le modèle Bicep fournissent un déploiement automatisé de toutes les ressources requises.
Le modèle va automatiquement :
Créer un espace de nommage Event Hub, un Event Hub et un groupe de consommateurs
Déployer la Function App (plan de consommation Flex, Node.js 22) avec les fonctions de logs de VNet Flow
Créer un compte de stockage pour le runtime de la Function App et le suivi du curseur
Créez un topic système et un abonnement Event Grid qui acheminent les événements de création de blob PT1H.json directement vers l'Event Hub
Attribuez une identité gérée avec les attributions de rôles requises
Configurez tous les paramètres d'application nécessaires
Activer en option la mise en réseau privée avec l'intégration VNet et des points de terminaison privés
Suivez ces étapes :
Allez à one.newrelic.com > Integrations & Agents.
Sous Collections, sélectionnez Logging, puis cliquez sur la tuile Microsoft Azure VNet Flow Logs.
Dans la liste déroulante Select an account, choisissez le compte vers lequel envoyer vos logs, puis cliquez sur Continue.
À l'étape Enter your license key, cliquez sur Create a new key, cliquez sur Copy key et enregistrez-le en lieu sûr, puis cliquez sur Continue.
Cliquez sur Deploy to Azure. Un nouvel onglet s’ouvre dans Azure avec le modèle ARM chargé.
Sélectionnez le Resource group et un Region pour le déploiement. Nous recommandons un nouveau groupe de ressources, pour éviter de supprimer accidentellement les composants qu'il crée.
Dans le champ New Relic license key, collez la clé de licence que vous avez copiée précédemment.
Assurez-vous que le point de terminaison New Relic est défini sur celui correspondant à votre compte (US, EU ou JP).
(Facultatif) Entrez le Source Storage Account Name où vos logs de VNet Flow sont stockés. Il doit se trouver dans le même groupe de ressources que ce déploiement. Laissez ce champ vide pour créer automatiquement un nouveau compte de stockage source.
(Facultatif) Sélectionnez Disable Public Access To Storage Account pour activer le mode réseau privé avec l'intégration VNet et les points de terminaison privés.
(Facultatif) Configurez les paramètres avancés :
- New Relic Tags: tags séparés par des points-virgules (format :
key1:value1;key2:value2) - Max Retries: nombre maximum de tentatives de livraison (par défaut : 3)
- Retry Interval: millisecondes entre les tentatives (par défaut : 2000)
- Function Log Level: verbosité des logs de l'application Function —
Trace,Debug,Information,WarningouError(par défaut :Information) - Max Event Batch Size: nombre maximum d'événements Event Hub traités par lot (par défaut : 10)
- Min Event Batch Size: nombre minimum d'événements Event Hub par lot (par défaut : 5)
- Max Wait Time: temps maximum que le déclencheur attend pour remplir un lot avant le traitement, sous la forme
hh:mm:ss(par défaut :00:00:30) - Event Hub Scaling Mode:
Basic(1 unité de débit, 4 partitions, sans auto-inflate — trafic faible à moyen) ouEnterprise(auto-inflate jusqu'à 40 unités de débit, 32 partitions — volumes à haut débit) (par défaut :Basic)
- New Relic Tags: tags séparés par des points-virgules (format :
Cliquez sur Review + create, passez en revue la configuration et cliquez sur Create.
De retour dans New Relic, à l’étape Create log partition, cliquez sur Create partition. Cela crée une partition de données
Log_VNET_Flows_Azure(règle :instrumentation.name = 'vnet-app', rétention STANDARD) afin que vos VNet Flow Logs soient stockés et fassent l’objet d’une requête séparément de vos autres logs. Si une partitionLog_VNET_Flows_Azureexiste déjà sur le compte, cliquez sur Continue pour ignorer cette étape.À l'étape Test your logs, confirmez que les données arrivent en exécutant
SELECT * FROM Log_VNET_Flows_Azure, puis cliquez sur See your data.Architectures de déploiement
Le modèle ARM/Bicep prend en charge deux modes de déploiement :
Déploiement standard (par défaut) :
Utilise Event Grid pour monitorer la création de blobs dans le compte de stockage source
Achemine les événements directement vers l'Event Hub pour un traitement ordonné, en utilisant le sujet comme clé de partition
Traite les logs de VNet Flow dans la Function App et les transfère à New Relic
Active l'accès au réseau public sur la Function App, son compte de stockage et le hub d'événements
Déploiement de réseau privé (facultatif,
disablePublicAccessToStorageAccount=true) :Comprend toutes les fonctionnalités du déploiement standard
Isole la Function App, son compte de stockage et l'Event Hub au sein d'un réseau virtuel privé, avec l'accès au réseau public désactivé pour ceux-ci
Ajoute l'intégration VNet avec des points de terminaison privés pour les services de stockage (blob, file, queue et table)
Crée des zones DNS privées pour la résolution de noms
Ne modifie pas le compte de stockage source (contenant les logs de VNet Flow), qui doit conserver l'accès au réseau public activé
Si vous préférez un déploiement manuel ou avez besoin d'une configuration personnalisée :
- Déployez l'application de fonction azure-vnet-flow-logs sur votre abonnement Azure.
- Assurez-vous que les fonctions
VNetFlowForwarder(VNetFlowLogsConsumeretVNetFlowLogsCleanup) sont incluses dans le déploiement. - Configurez les variables d'environnement requises (paramètres de l'application) listées ci-dessous.
- Configurez un abonnement Event Grid sur votre compte de stockage de logs de flux pour router les événements
BlobCreateddirectement vers l'Event Hub, en utilisant le sujet de l'événement comme clé de partition.
Configuration
Configurez les paramètres d'application suivants sur votre Azure Function App :
Paramètres requis
Variable d'environnement | Description |
|---|---|
| Votre clé de licence New Relic. |
| Chaîne de connexion pour le compte Azure Storage où les logs de VNet Flow sont stockés. |
| Chaîne de connexion pour le compte de stockage Azure utilisé pour conserver l'état du curseur (peut être la même que la source). |
| Chaîne de connexion pour l'Event Hub qui fournit les événements de création de blobs à la fonction consommateur. |
| Nom de l'instance du hub d'événements. |
Paramètres facultatifs
Variable d'environnement | Description | Défaut |
|---|---|---|
| Point de terminaison d'API New Relic Logs. Utilisez
pour les comptes de l'UE. |
|
| Tags séparés par des points-virgules à ajouter à tous les logs transférés. Format :
| Aucun |
| Nombre maximum de tentatives de livraison à New Relic. |
|
| Intervalle entre les tentatives en millisecondes. |
|
| Groupe de consommateurs Event Hub. |
|
| Nombre d'heures pour conserver les enregistrements de curseur de blob avant que la tâche de nettoyage ne les supprime. |
|
| Planification NCRONTAB pour le déclencheur de la minuterie de nettoyage du curseur. |
(quotidiennement à 03:00 UTC) |
| Nombre d'échecs consécutifs par blob avant que le redirecteur ne l'ignore en tant qu'événement empoisonné. |
|
Afficher les données de log de flux
Une fois configurées, les données de VNet Flow Log apparaîtront dans New Relic. Vous pouvez utiliser une requête à l’aide de NRQL :
SELECT * FROM Log_VNET_Flows_Azure
Vous pouvez également visualiser ces données dans la vue Conversations, qui regroupe vos flux principaux par source, direction, protocole et destination :

Chaque enregistrement de log de flux inclut les attributs suivants :
Attribut | Description |
|---|---|
| Adresse IP source |
| Adresse IP de destination |
| Port source |
| Port de destination |
| Protocole (TCP, UDP et ICMP) |
| Direction du Traffic (entrant, sortant) |
| État du flux :
,
,
ou
. Un flux refusé est exprimé ici par
— il n'y a pas d'attribut d'action distinct. |
| Statut de chiffrement :
,
ou un code de motif
(par exemple,
) |
| Octets de la source à la destination |
| Octets de la destination vers la source |
| Paquets de la source à la destination |
| Paquets de la destination vers la source |
| ID de liste de contrôle d’accès associé au flux |
| Nom de la règle NSG/ACL qui correspond au flux |
| ID de ressource Azure complet de la ressource cible monitorée |
| Nom du réseau virtuel (lorsque la cible est un VNet ou un sous-réseau) |
| Nom du sous-réseau (le cas échéant) |
| Adresse MAC associée à l'enregistrement de log de flux |
| Catégorie de log (par exemple,
) |
| Nom de l'opération à partir de l'enregistrement de log de flux |
| Version du schéma des logs de VNet Flow |
| Identifiant unique de la ressource de log de flux |
| ID de ressource Azure du log de flux |
Conseil
Chaque log transféré contient également les attributs communs instrumentation.provider (azure), instrumentation.name (vnet-app) et instrumentation.version (la version du redirecteur), plus toutes les paires valeur clé personnalisées que vous définissez dans NR_TAGS. Le CSV de l'uplet de flux brut est conservé dans le champ de log message.
Dépannage
Pour obtenir de l'aide sur les données de log de flux manquantes, les enregistrements en double ou les événements ignorés (poison), consultez Dépanner le monitoring des logs de flux Azure VNet.