Virtual network (VNet) flow logs is a feature of Azure Network Watcher that allows you to log information about IP traffic flowing through a virtual network (VNet). For more information about this feature, please refer to Flow logs for virtual networks in the Azure documentation.
There are two methods available to enable VNet flow logs if Network Security Groups (NSGs) are already deployed in your subnets and network interfaces:
If you already have an active VNet flow log and you want to use it for the Lumu integration, you can identify the Storage account used for your Vnet flow log and follow this guide from the Get the Connection String for the Storage Account step onward.
If you do not have NSG flow logs configured, you can follow this guide from the Enable VNet flow logs section onward.
You can consult the official Microsoft Azure guide for migration, which provides a migration script accessible via this link. The following is a brief overview of the procedure, we encourage you to follow the official documentation to avoid any mistakes during the process.
Migration Steps:
MigrationFromNsgToAzureFlowLogging.ps1, choose option 1, provide JSON file path, review analysis report.
It is recommended to keep the previous Firewall collector from the Lumu Portal unless the collected data is no longer needed.
Follow these instructions to enable VNet flow logs in your Azure subscription:
1. Access the Azure Portal.
2. Go to the search bar at the top of the portal, and enter Subscriptions. Then, select Subscriptions from the search results.
3. Choose your specific subscription (e.g., Main).
4. In the left-hand menu, select Settings > Resource providers.
5. Type insight in the search box at the top of the list to filter it.
6. Locate the provider named microsoft.insights.
Register the Provider
1. Review the Status column for microsoft.insights.
2. If the status is Not Registered or Unregistered, do the following:
Confirm Registration
1. Allow several minutes for the process to complete. Refresh the page if necessary.
2. The status should change to Registered once the process is completed.
To get a detailed step-by-step guide on how to enable this feature, go to: Tutorial: Log network traffic to and from a virtual machine using the Azure portal.
Follow these steps to create the virtual network flow logs:
1. Access the Azure Portal.
2. Go to the search bar at the top of the portal, and type Virtual networks. Then, select Virtual Networks from the search results.
3. Select your preferred virtual network, then click on Monitoring > Virtual network flow logs (1) on the left menu.
4. Then, click + Create (2).
5. Configure the virtual network flow log using the parameters of your Azure subscription.
6. Click Save to finish.
To get the Connection String of your Storage Account do the following:
1. Access the Azure Portal.
2. Go to the search bar at the top, and type Storage account. Then, select Storage account from the search results.
3. Select the storage account name used to create the VNet flow logs.
4. Then, select Security + networking > Access keys (1) in the left-side menu.
5. Reveal the Connection String and save it for later use during the deployment.
After setting your Azure VNet flow logs, it will take some time for Azure to show the files with the stored logs. We recommend you to check the logs to make sure everything is working as expected. You can check the flow logs following these steps:
1. Access the Azure Portal.
2. Go to the search bar at the top, and type Storage account. Then, select Storage account from the search results.
3. Click on the storage account used to store your VNet logs.
4. Select Data storage > Containers (1) on the left menu.
5. In the Containers window, click on the insights-logs-flowlogflowevent container, which will be created by default once you create the VNet flow logs for your subscription. There, you will find your virtual network flow logs.
All the logs are stored in a long-named hierarchy. The actual files with the VNet flow log entries will be stored following the structure y=<YEAR>/m=<MONTH>/d=<DAY>/h=<HOUR>/m=<MINUTE>/macAddress=<MAC ADDRESS>/PT1H.json. Each file stores the VNet flow logs for a particular resource ID inside your virtual network.
The integration set-up process needs you to collect this information from Lumu portal:
Log in to your Lumu portal and run the following procedures to collect this data.
To collect the Lumu Collector key, please refer to the Collector key document.
To collect the Lumu Custom Collector key, please refer to the Collector ID document.
We offer two deployment alternatives:
docker compose command. Whichever alternative you select, you must unpack the integration package shared by our Support team first. Unpack the deployment package provided by Lumu in your preferred path/folder. Keep in mind this location, as it will be required for further configurations. From now on, we will refer to this folder as <app_lumu_root>.
The integration component can be configured by executing the make config command. Upon successful data entry, a .env file will be generated, containing the specified parameters for immediate use by the integration.
You will be asked to enter the following parameters:
Execute the following command in the terminal to deploy the integration using the previously provided parameters.
The package comes with a file named setup.sh. This is a script file that can be used to set the required files in the integration. You will be asked to enter the following parameters:
To be able to execute it, run the following command:
Build and Run the components
To run the component use the following command:
After running the integration, you will see new events processed by the custom collector you have created.
The commands defined in this section will allow you to troubleshoot the operation of your integration. Keep in mind that you must locate yourself in the <app_lumu_root> folder before running any of them.
The following are the troubleshooting commands for this deployment option:
make logsReview the logs for the Downloader component.
make logs-downloader
Review the logs for the Collector component.
make logs-collector
make stats
Run the following command to reinstall the integration from scratch:
make reset-force
Run the following command to collect and package the integration logs to share them with the Lumu support team. This command will create the support.tar package file that contains relevant information for the Lumu support team.
make support
For troubleshooting purposes, you can run the following commands:
docker compose -f docker-compose.yml logs
Out of Memory (OOM) errors can be caused by high network traffic on your virtual networks. If this occurs, we recommend increasing the RAM capacity of the host machine.
Consider increasing the RAM capabilities of the container and the JVM or migrate to another, higher-performing machine. You can contact the Lumu support team for assistance. This situation may arise when the volume of network recording exceeds the performance capacity of the integration component.
In this situation, non-processed records could remain queued. Consider removing them from the data folder and restarting the integration with the following commands:
You will get the following error when there are authentication issues. Double check the Storage Account Connection String from your Azure Account when entering the parameters of the integration to fix this issue.
You will get the following error when you input the wrong Storage Account from Microsoft Azure. Check the Storage account name and retype it.
You will get the following error when using the wrong container for the integration. Check if the Azure storage account has a container named insights-logs-flowlogflowevent in it. If it doesn’t, verify that you are using the right storage account or check the flow log configuration you did in the Create the virtual network flow logs step.
You will get the following errors when there are connection issues. If that happens, you must check the network status of your host and the Internet connection.
Azure Side Error
API Collector Resolution Error