重要
网络安全组(NSG)流日志将于2027年9月30日退休。 由于该功能即将退役,它不再支持新的 NSG 流日志创建。
迁移 到 虚拟网络流日志,解决NSG流日志的局限性。 退役后,Azure 将不再支持启用流量分析的 NSG 流日志,并且会删除你订阅中现有的 NSG 流日志资源。 然而,Azure 并不会从Azure 存储中删除现有的NSG流程日志记录,并且继续遵循其配置的保留策略。 有关详细信息,请查看官方公告。
网络安全组流记录是 Azure 网络观察程序 的一个功能,你可以用它来记录通过网络安全组流经的 IP 流量信息。 有关网络安全组流日志记录的详细信息,请参阅 NSG 流日志概述。
在本文中,你将了解如何使用Azure门户、PowerShell和Azure CLI来更改、启用、禁用或删除现有的网络安全组流程日志。
先决条件
注册见解提供程序
要记录通过网络安全组流经的流量,您必须注册Microsoft。洞察提供商。 如果你不确定Microsoft是否......Insights 提供商已注册,请在 Azure 门户中按照以下步骤查看其状态:
在门户顶部的搜索框中,输入“订阅”。 从搜索结果中选择“订阅”。
在“订阅”中,选择要为其启用提供程序的 Azure 订阅。
在“设置”下,选择“资源提供程序”。
在筛选器框中输入见解。
确认显示的提供程序状态为“已注册”。 如果状态是未注册,选择Microsoft。Insights提供者,然后选择注册。
要记录通过网络安全组流经的流量,您必须注册Microsoft。洞察提供商。 如果你不确定Microsoft。Insights 提供者已注册,使用 Register-AzResourceProvider cmdlet 注册它。
# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace 'Microsoft.Insights'
要记录通过网络安全组流经的流量,您必须注册Microsoft。洞察提供商。 如果你不确定Microsoft是否......Insights provider 已注册,使用 az provider register 命令注册它。
# Register Microsoft.Insights provider.
az provider register --namespace 'Microsoft.Insights'
启用或禁用流量分析
为流日志启用流量分析以分析流日志数据。 流量分析提供对虚拟网络流量模式的见解。 可以随时为流日志启用或禁用流量分析。
注释
除了启用或禁用流量分析之外,还可以更改其他流日志设置。
若要为流日志启用流量分析,请执行以下步骤:
在门户顶部的搜索框中,输入“网络观察程序”。 在搜索结果中,选择“网络观察程序”。
在“日志”下,选择“流日志”。
在“网络观察程序 | 流日志”中,选择要启用流量分析的流日志。
在“流日志设置”的“流量分析”下,选中“启用流量分析”复选框。
输入或选择下列值:
| 设置 |
价值 |
| 订阅 |
选择您的 Log Analytics 工作区对应的 Azure 订阅。 |
| Log Analytics 工作区 |
选择 Log Analytics 工作区。 默认情况下,Azure 门户会在 defaultresourcegroup-{Region} 资源组中创建 DefaultWorkspace-{SubscriptionID}-{Region} Log Analytics 工作区。 |
| 流量日志记录间隔 |
选择所需的处理间隔,可用选项包括:每小时和每 10 分钟。 默认处理间隔为每小时。 有关详细信息,请参阅流量分析。 |
选择保存以应用更改。
若要为流日志禁用流量分析,请执行前面的步骤 1-3,然后取消选中“启用流量分析”复选框,并选择“保存”。
要启用流量日志资源的流量分析,可以使用 Set-AzNetworkWatcherFlowLog cmdlet。
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Place the workspace configuration into a variable.
$workspace = Get-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup'
# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $true -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId -FormatVersion 2
要禁用流量日志资源的流量分析,并继续生成并保存流日志到存储账户,请使用 Set-AzNetworkWatcherFlowLog cmdlet。
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account configuration into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $true -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -FormatVersion 2
要启用流量日志资源的流量分析,请使用 az network watcher flow-log update 命令。
# Update the NSG flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics true --workspace 'myWorkspace' --log-version '2'
要禁用流量日志资源的流量分析,并继续生成并保存流量日志到存储账户,请使用 az network watcher flow-log update 命令。
# Update the NSG flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics false --log-version '2'
列出所有流日志
可以列出一个订阅或一组订阅中的所有流日志(Azure 门户)。 还可以列出某个区域中的所有流日志。
在门户顶部的搜索框中,输入“网络观察程序”。 在搜索结果中,选择“网络观察程序”。
在“日志”下,选择“流日志”。
选择“ 订阅等值 ”筛选功能,选择一个或多个订阅。 可以应用其他筛选器,例如 Location 等于 列出区域中的所有流日志。
使用 Get-AzNetworkWatcherFlowLog cmdlet 在订阅中列出特定区域内的所有流量日志资源。
# Get all flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name
注释
若要将 -Location 参数与 Get-AzNetworkWatcherFlowLog cmdlet 结合使用,需要在 NetworkWatcherRG 资源组中拥有额外的“读取者”权限。
使用 az network watcher flow-log list 命令,列出订阅中特定区域内的所有流量日志资源。
# Get all flow logs in East US region.
az network watcher flow-log list --location 'eastus' --out table
查看流日志资源的详细信息
可以查看流日志的详细信息。
在门户顶部的搜索框中,输入“网络观察程序”。 在搜索结果中,选择“网络观察程序”。
在“日志”下,选择“流日志”。
在“网络观察程序|流日志”中选择要查看的流日志。
在 流量日志设置中,查看流量日志资源的设置。
选择“取消”关闭设置页,无需进行更改。
使用 Get-AzNetworkWatcherFlowLog cmdlet 查看流量日志资源的详细信息。
# Get the details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'
注释
若要将 -Location 参数与 Get-AzNetworkWatcherFlowLog cmdlet 结合使用,需要在 NetworkWatcherRG 资源组中拥有额外的“读取者”权限。
使用 az network watcher flow-log show 命令查看流量日志资源的详细信息。
# Get the details of a flow log.
az network watcher flow-log show --name 'myFlowLog' --resource-group 'NetworkWatcherRG' --location 'eastus'
下载流日志
你可以从保存流量日志的存储账户下载流量日志数据。
在门户顶部的搜索框中,输入“存储帐户”。 从搜索结果中选择“存储帐户”。
选择用于存储日志的存储帐户。
在“数据存储”下,选择“容器”。
选择 insights-logs-networksecuritygroupflowevent 容器。
在 insights-logs-networksecuritygroupflowevent 中,依次浏览文件夹层次结构,直到找到你想下载的 PT1H.json 文件。 NSG 流日志文件遵循以下路径:
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
选择文件右侧PT1H.json的省略号......然后选择下载。
要从你的存储账户下载NSG流程日志,请使用 Get-AzStorageBlobContent cmdlet。 有关详细信息,请参阅下载 blob。
NSG 流日志文件保存到存储账户的路径为:
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
要从你的存储账户下载NSG流程日志,可以使用 az storage blob download 命令。 有关详细信息,请参阅下载 blob。
NSG 流日志文件保存到存储账户的路径为:
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
有关流日志结构的信息,请参阅 NSG 流日志的日志格式。
禁用流日志
可以暂时禁用流日志,而无需删除流日志。 禁用流日志会停止关联网络安全组的流日志记录。 但是,流日志资源会保留其所有设置和关联。 可以随时重新启用它,以恢复对配置的网络安全组进行流日志记录。
在门户顶部的搜索框中,输入“网络观察程序”。 在搜索结果中,选择“网络观察程序”。
在“日志”下,选择“流日志”。
在“网络观察程序|流日志”中,选择要禁用的流日志的复选框。
选择禁用。
使用 Set-AzNetworkWatcherFlowLog cmdlet 禁用流日志。
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id
使用 az network watcher flow-log update 命令禁用流日志。
# Disable the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --enabled false
注释
如果你为流量日志启用了流量分析,必须先关闭它,才能禁用流量日志。 若要禁用流量分析,请参阅启用或禁用流量分析。
删除流日志
可以永久删除 NSG 流日志。 删除流程日志会移除其所有设置和关联。 要重新开始同一资源的流量记录,必须创建一个新的流量日志。
在门户顶部的搜索框中,输入“网络观察程序”。 在搜索结果中,选择“网络观察程序”。
在“日志”下,选择“流日志”。
在“网络观察程序|流日志”中,选择要删除的流日志的复选框。
选择 删除。
注释
删除流日志不会删除存储帐户中的流日志数据。 存储账户中的流量日志数据遵循配置的保留策略,或者会一直存储在账户中,直到你手动删除它。
相关内容