Os Azure Virtual Network (VNet) Flow Logs permitem que você registre informações sobre o tráfego IP que flui por suas redes virtuais. Com o encaminhador de logs do VNet Flow do New Relic, você pode encaminhar automaticamente esses logs para o New Relic para análise de desempenho e resolução de problemas de conectividade de rede.
Como funciona
O encaminhador de logs do VNet Flow Logs é um Azure Function App orientado a eventos:

Event Grid → Event Hub: uma assinatura do Event Grid na sua conta de armazenamento de log de fluxo escuta os eventos
BlobCreatednos blobs PT1H.json e os entrega diretamente a um Event Hub. A assinatura usa o caminho do blob (assunto do evento) como a chave de partição para garantir a ordenação cronológica por arquivo. Não há função de retransmissão separada.VNetFlowLogsConsumer: uma função acionada pelo Event Hub que processa cada evento de blob por:
- Lendo um cursor do Azure Table Storage para determinar o que já foi processado.
- Baixando apenas blocos recém-anexados do blob PT1H.json (leituras delta).
- Analisando registros de log de VNet flow (tuplas de fluxo) em entradas de log estruturadas.
- Enviando os registros analisados para o New Relic via API de Logs.
- Confirmando o cursor atualizado após a entrega bem-sucedida.
VNetFlowLogsCleanup: uma função acionada por temporizador que remove periodicamente entradas de cursor obsoletas do Azure Table Storage (por padrão, diariamente às 03:00 UTC).
Essa arquitetura garante um processamento eficiente e incremental — apenas novos dados são lidos e encaminhados, evitando o processamento duplicado de registros já vistos.
Pré-requisitos
Pré-requisitos New Relic
Você precisa do seguinte no New Relic:
- Uma conta New Relic . Não tem um? Cadastre-se gratuitamente! Não é necessário cartão de crédito.
- Uma New Relic .
Pré-requisitos do Azure
Você precisa do seguinte no Azure:
- Uma assinatura do Azure com VNet Flow Logs habilitados nas redes virtuais de destino. Consulte a documentação da Microsoft sobre como habilitar VNet Flow Logs.
- Uma conta de armazenamento onde seus VNet Flow Logs estão sendo gravados (blobs PT1H.json).
- Um namespace do Event Hub e um Event Hub para entrega de evento (podem ser criados automaticamente pelo modelo ARM/Bicep).
- Uma conta de armazenamento do Azure para o runtime do Function App e armazenamento de tabela de cursor (pode ser criada automaticamente pelo modelo ARM/Bicep).
Implante o encaminhador de logs do VNet Flow
Você pode implantar o encaminhador de logs do VNet Flow usando modelos ARM/Bicep (recomendado) ou manualmente.
O template ARM do New Relic VNet Flow Logs e o template Bicep fornecem a implantação automatizada de todos os recursos necessários.
O modelo irá automaticamente:
Crie um namespace do Event Hub, um Event Hub e um grupo de consumidores
Implante o Function App (plano de consumo Flex, Node.js 22) com as funções do VNet Flow Logs
Crie uma conta de armazenamento para o tempo de execução do Function App e o rastreamento de cursor
Crie um tópico de sistema e uma assinatura do Event Grid que roteie os eventos de criação de blob PT1H.json diretamente para o Event Hub
Atribua uma identidade gerenciada com as atribuições de função necessárias
Configure todas as configurações necessárias do aplicativo
Opcionalmente, habilite a rede privada com integração de VNet e endpoints privados
Siga esses passos:
Vá para one.newrelic.com > Integrations & Agents.
Em Collections, selecione Logging e clique no bloco Microsoft Azure VNet Flow Logs.
Na dropdown Select an account, escolha a conta para a qual enviar seus logs e clique em Continue.
Na etapa Enter your license key, clique em Create a new key, clique em Copy key e salve em um local seguro, depois clique em Continue.
Clique em Deploy to Azure. Uma nova guia é aberta no Azure com o modelo ARM carregado.
Selecione o Resource group e um Region para a implantação. Recomendamos um novo grupo de recursos, para evitar a exclusão acidental dos componentes que ele cria.
No campo New Relic license key, cole a chave de licença que você copiou anteriormente.
Certifique-se de que o endpoint da New Relic esteja definido para aquele correspondente à sua conta (US, EU ou JP).
(Opcional) Insira o Source Storage Account Name onde seus logs de VNet Flow estão armazenados. Ele deve estar no mesmo grupo de recursos que esta implantação. Deixe em branco para criar uma nova conta de armazenamento de origem automaticamente.
(Opcional) Selecione Disable Public Access To Storage Account para habilitar o modo de rede privada com integração VNet e endpoints privados.
(Opcional) Configure as configurações avançadas:
- New Relic Tags: tags separadas por ponto e vírgula (formato:
key1:value1;key2:value2) - Max Retries: máximo de tentativas de repetição de entrega (padrão: 3)
- Retry Interval: milissegundos entre as tentativas (padrão: 2000)
- Function Log Level: verbosidade dos logs do Function App —
Trace,Debug,Information,WarningouError(padrão:Information) - Max Event Batch Size: número máximo de eventos do Event Hub processados por lote (padrão: 10)
- Min Event Batch Size: número mínimo de eventos do Event Hub por lote (padrão: 5)
- Max Wait Time: tempo máximo que o gatilho espera para preencher um lote antes do processamento, como
hh:mm:ss(padrão:00:00:30) - Event Hub Scaling Mode:
Basic(1 unidade de taxas de transferência, 4 partições, sem inflação automática — tráfego de baixo a médio) ouEnterprise(inflação automática de até 40 unidades de taxas de transferência, 32 partições — volumes de altas taxas de transferência) (padrão:Basic)
- New Relic Tags: tags separadas por ponto e vírgula (formato:
Clique em Review + create, revise a configuração e clique em Create.
De volta ao New Relic, na etapa Create log partition, clique em Create partition. Isso cria uma partição de dados
Log_VNET_Flows_Azure(regra:instrumentation.name = 'vnet-app', retenção STANDARD) para que seus logs de VNet Flow sejam armazenados e consultados separadamente de seus outros logs. Se uma partiçãoLog_VNET_Flows_Azurejá existir na conta, clique em Continue para pular esta etapa.Na etapa Test your logs, confirme se os dados estão chegando executando
SELECT * FROM Log_VNET_Flows_Azuree clique em See your data.Arquitetura de implantação
O modelo ARM/Bicep suporta dois modos de implantação:
Implantação padrão (padrão):
Usa o Event Grid para monitorar a criação de blobs na conta de armazenamento de origem
Encaminha eventos diretamente para o Event Hub para processamento ordenado, usando o assunto como chave de partição
Processa os logs de VNet Flow no Function App e os encaminha para o New Relic
Habilita o acesso à rede pública no Function App, em sua conta de armazenamento e no Event Hub
Implantação de rede privada (opcional,
disablePublicAccessToStorageAccount=true):Inclui todos os recursos da implantação padrão
Isola o Function App, sua conta de armazenamento e o Event Hub em uma rede virtual privada, com o acesso à rede pública desativado para eles
Adiciona integração VNet com endpoints privados para serviços de armazenamento (blob, file, queue e table)
Cria zonas DNS privadas para resolução de nomes
Não modifica a conta de armazenamento de origem (contendo os logs de VNet Flow), que deve manter o acesso à rede pública habilitado
Se você preferir a implantação manual ou precisar de configuração personalizada:
- Implante o Function App azure-vnet-flow-logs na sua assinatura do Azure.
- Certifique-se de que as funções
VNetFlowForwarder(VNetFlowLogsConsumereVNetFlowLogsCleanup) estejam incluídas na implantação. - Configure as variáveis de ambiente necessárias (configurações do aplicativo) listadas abaixo.
- Configure uma assinatura do Event Grid em sua conta de armazenamento de log de fluxo para rotear eventos
BlobCreateddiretamente para o Event Hub, usando o assunto do evento como a chave de partição.
Configuração
Configure as seguintes configurações de aplicativo no seu Azure Function App:
Configurações obrigatórias
Variável de ambiente | Descrição |
|---|---|
| Sua chave de licença New Relic. |
| String de conexão para a conta do Azure Storage onde os VNet Flow Logs são armazenados. |
| Cadeia de conexão para a conta do Azure Storage usada para persistir o estado do cursor (pode ser a mesma que a de origem). |
| Cadeia de conexão para o Event Hub que entrega eventos de criação de blob para a função de consumidor. |
| Nome da instância do Event Hub. |
Configurações opcionais
Variável de ambiente | Descrição | Padrão |
|---|---|---|
| Endpoint de API do New Relic Logs. Use
para contas da UE. |
|
| Tags separadas por ponto e vírgula para adicionar a todos os logs encaminhados. Formato:
| Nenhum |
| Número máximo de tentativas de entrega para o New Relic. |
|
| Intervalo entre tentativas em milissegundos. |
|
| Grupo de consumidores do Event Hub. |
|
| Número de horas para reter registros de cursor de blob antes que o trabalho de limpeza os remova. |
|
| Agendamento NCRONTAB para o gatilho do temporizador de limpeza do cursor. |
(diariamente às 03:00 UTC) |
| Número de falhas consecutivas por blob antes que o encaminhador o ignore como um evento nocivo. |
|
Visualizar dados de log de fluxo
Uma vez configurados, os dados do VNet Flow Log aparecerão no New Relic. Você pode consultá-los usando NRQL:
SELECT * FROM Log_VNET_Flows_Azure
Você também pode visualizar esses dados na visualização Conversations, que agrupa seus principais fluxos por origem, direção, protocolo e destino:

Cada registro de log de fluxo inclui os seguintes atributos:
Atributo | Descrição |
|---|---|
| Endereço de IP de origem |
| Endereço IP de destino |
| Porta de origem |
| Porta de destino |
| Protocolo (TCP, UDP e ICMP) |
| Direção do Traffic (entrada, saída) |
| Estado do fluxo:
,
,
ou
. Um fluxo negado é expresso aqui como
— não há um atributo de ação separado. |
| Status de criptografia:
,
ou um código de motivo
(por exemplo,
) |
| Bytes da origem para o destino |
| Bytes do destino para a origem |
| Pacotes da origem para o destino |
| Pacotes do destino para a origem |
| ID da lista de controle de acesso associada ao fluxo |
| Nome da regra de NSG/ACL que correspondeu ao fluxo |
| ID de recurso completo do Azure do recurso de destino monitorado |
| Nome da rede virtual (quando o destino é uma VNet ou sub-rede) |
| Nome da sub-rede (quando aplicável) |
| Endereço MAC associado ao registro de log de fluxo |
| Categoria de log (por exemplo,
) |
| Nome da operação do registro de log de fluxo |
| Versão do esquema de logs de VNet Flow |
| Identificador exclusivo do recurso de log de fluxo |
| ID do recurso do Azure do log de fluxo |
Dica
Cada log encaminhado também carrega os atributos comuns instrumentation.provider (azure), instrumentation.name (vnet-app) e instrumentation.version (a versão do encaminhador), além de quaisquer pares de valor principal personalizados que você definir em NR_TAGS. O CSV de tupla de fluxo bruto é preservado no campo message do log.
Resolução de problemas
Para obter ajuda com dados de log de fluxo ausentes, registros duplicados ou eventos ignorados (poison), consulte Solucionar problemas de monitoramento do Azure VNet Flow Logs.