共用方式為


使用 Azure CLI 建立、變更、啟用、停用或刪除虛擬網路流量記錄

虛擬網路流量記錄是 Azure 網路監看員的一項功能,可讓您記錄流經 Azure 虛擬網路的 IP 流量資訊。 如需虛擬網路流量記錄的詳細資訊,請參閱虛擬網路流量記錄概觀

在本文中,您將瞭解如何使用 Azure CLI 建立、變更、啟用、停用或刪除虛擬網路流量記錄。 您可以瞭解如何使用 Azure 入口網站PowerShell 來管理虛擬網路流量記錄。

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶

  • 深入解析提供者。 如需詳細資訊,請參閱註冊深入解析提供者

  • 虛擬網路。 如果您需要建立虛擬網路,請參閱使用 Azure CLI 建立虛擬網路。

  • 一個 Azure 儲存體帳戶。 如果您需要建立儲存體帳戶,請參閱使用 Azure CLI 建立儲存體帳戶

  • Azure Cloud Shell 或 Azure CLI。

    本文中的步驟會在 Azure Cloud Shell 中以互動方式執行 Azure CLI 命令。 若要在 Cloud Shell 中執行命令,請選取程式碼區塊右上角的 [開啟 Cloud Shell]。 選取 [複製] 以複製程式碼,並將它貼到 Cloud Shell 中以執行。 您也可以從 Azure 入口網站內執行 Cloud Shell。

    您也可以在本機安裝 Azure CLI 以執行命令。 本文需要 Azure CLI 2.39.0 版或更新版本。 執行 az --version (部分機器翻譯) 命令以尋找已安裝的版本。 如果您在本機執行 Azure CLI,請使用 az login 命令登入 Azure。

註冊深入解析提供者

您必須註冊 Microsoft.Insights 提供者,才能成功記錄虛擬網路中的流量。 如果您不確定是否已註冊 Microsoft.Insights 提供者,請使用 az provider register 進行註冊。

# Register Microsoft.Insights provider.
az provider register --namespace Microsoft.Insights

啟用虛擬網路流量記錄

使用 az network watcher flow-log create 建立虛擬網路流程記錄。

# Create a VNet flow log.
az network watcher flow-log create --location 'eastus' --resource-group 'myResourceGroup' --name 'myVNetFlowLog' --vnet myVNet --storage-account 'myStorageAccount'
# Create a VNet flow log (storage account is in a different resource group from the virtual network).
az network watcher flow-log create --location 'eastus' --resource-group 'myResourceGroup' --name 'myVNetFlowLog' --vnet myVNet --storage-account '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/StorageRG/providers/Microsoft.Storage/storageAccounts/myStorageAccount'

啟用虛擬網路流量記錄和使用分析

使用 az monitor log-analytics workspace create 建立使用分析工作區,然後使用 az network watcher flow-log create 來建立使用該工作區的虛擬網路流程記錄。

# Create a traffic analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup' --location 'eastus'

# Create a VNet flow log.
az network watcher flow-log create --location 'eastus' --name 'myVNetFlowLog' --resource-group 'myResourceGroup' --vnet 'myVNet' --storage-account 'myStorageAccount' --workspace 'myWorkspace' --interval 10 --traffic-analytics true
# Create a traffic analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup' --location 'eastus'

# Create a VNet flow log (storage account and traffic analytics workspace are in different resource groups from the virtual network).
az network watcher flow-log create --location 'eastus' --name 'myVNetFlowLog' --resource-group 'myResourceGroup' --vnet 'myVNet' --storage-account '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/StorageRG/providers/Microsoft.Storage/storageAccounts/myStorageAccount' --workspace '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/WorkspaceRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace' --interval 10 --traffic-analytics true

列出區域中的所有流量記錄

使用 az network watcher flow-log list 列出您訂用帳戶中特定區域的所有流量記錄資源。

# Get all flow logs in East US region.
az network watcher flow-log list --location 'eastus' --out table

檢視虛擬網路流量記錄資源

使用 az network watcher flow-log show 查看流量記錄資源的詳細資料。

# Get the flow log details.
az network watcher flow-log show --name 'myVNetFlowLog' --resource-group 'NetworkWatcherRG' --location 'eastus'

下載流量記錄

若要從記憶體帳戶下載虛擬網路流量記錄,請使用 az storage blob download 命令。

虛擬網路流量記錄檔會儲存至記憶體帳戶,路徑如下:

https://{storageAccountName}.blob.core.windows.net/insights-logs-flowlogflowevent/flowLogResourceID=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/NETWORKWATCHERRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKWATCHERS/NETWORKWATCHER_{Region}/FLOWLOGS/{FlowlogResourceName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

注意

您也可以使用 Azure 儲存體總管,從儲存體帳戶容器中存取和下載 VNet 流量記錄檔。 儲存體總管是使用便利的獨立應用程式,可讓您存取和使用 Azure 儲存體資料。 如需詳細資訊,請參閱開始使用儲存體總管

停用流量記錄資源的流量分析

若要停用流量記錄資源的使用分析,並繼續產生虛擬網路流量記錄並將其儲存至記憶體帳戶,請使用 az network watcher flow-log update

# Update the VNet flow log.
az network watcher flow-log update --location 'eastus' --name 'myVNetFlowLog' --resource-group 'myResourceGroup' --vnet 'myVNet' --storage-account 'myStorageAccount' --traffic-analytics false

刪除虛擬網路流量記錄資源

若要刪除虛擬網路流程記錄資源,請使用 az network watcher flow-log delete

# Delete the VNet flow log.
az network watcher flow-log delete --name 'myVNetFlowLog' --location 'eastus'