Sdílet prostřednictvím


Monitorování bran VPN pomocí řešení potíží se službou Network Watcher

Získání podrobných přehledů o výkonu sítě je důležité k poskytování spolehlivých služeb zákazníkům. Proto je důležité rychle detekovat podmínky výpadku sítě a provést nápravnou akci, která zmírní stav výpadku. Azure Automation umožňuje implementovat a spustit úlohu programově prostřednictvím runbooků. Použití služby Azure Automation vytváří ideální recept na průběžné a proaktivní monitorování a upozorňování sítě.

Scénář

Scénář na následujícím obrázku je vícevrstvá aplikace s místním připojením vytvořeným pomocí služby VPN Gateway a tunelu. Zajištění provozu služby VPN Gateway je důležité pro výkon aplikací.

Runbook se vytvoří se skriptem pro kontrolu stavu připojení tunelu VPN pomocí rozhraní API pro řešení potíží s prostředky a zkontroluje stav tunelového propojení připojení. Pokud stav není v pořádku, odešle se správcům aktivační událost e-mailu.

Příklad scénáře

Tento scénář bude:

  • Vytvoření runbooku volajícího rutinu Start-AzureRmNetworkWatcherResourceTroubleshooting pro řešení potíží se stavem připojení
  • Propojení plánu s runbookem

Než začnete

Než začnete s tímto scénářem, musíte mít následující předpoklady:

  • Účet Azure Automation v Azure. Ujistěte se, že účet Automation obsahuje nejnovější moduly a také modul AzureRM.Network. Modul AzureRM.Network je k dispozici v galerii modulů, pokud ho potřebujete přidat do svého účtu Automation.
  • Musíte mít v Azure Automation nakonfigurovanou sadu přihlašovacích údajů. Další informace o zabezpečení služby Azure Automation
  • Platný server SMTP (Microsoft 365, místní e-mail nebo jiný) a přihlašovací údaje definované ve službě Azure Automation
  • Nakonfigurovaná brána virtuální sítě v Azure.
  • Existující účet úložiště s existujícím kontejnerem pro ukládání protokolů.

Poznámka:

Infrastruktura znázorněná na předchozím obrázku slouží k ilustracím a nevytvořila se pomocí kroků obsažených v tomto článku.

Vytvoření runbooku

Prvním krokem konfigurace příkladu je vytvoření runbooku.

Krok 1

Na webu Azure Portal přejděte ke službě Azure Automation a klikněte na Runbooky.

Přehled účtu automation

Krok 2

Kliknutím na Přidat runbook spusťte proces vytváření runbooku.

Okno runbooků

Krok 3

V části Rychlé vytvoření klikněte na Vytvořit nový runbook a vytvořte runbook .

Přidání okna runbooku

Krok 4

V tomto kroku dáme runbooku název v příkladu, který se nazývá Get-VPNGatewayStatus. Je důležité, aby runbook pojmenovával popisný název a doporučil ho pojmenovat, který odpovídá standardním standardům pojmenování PowerShellu. Typ runbooku v tomto příkladu je PowerShell, další možnosti jsou Grafické, Pracovní postup PowerShellu a Grafický pracovní postup PowerShellu.

Okno runbooku

Krok 5

V tomto kroku se runbook vytvoří, následující příklad kódu poskytne veškerý potřebný kód pro příklad. Položky v kódu, který obsahují <hodnotu> , musí být nahrazeny hodnotami z vašeho předplatného.

Jako kliknutí na Uložit použijte následující kód.

# Set these variables to the proper values for your environment
$automationCredential = "<work or school account>"
$fromEmail = "<from email address>"
$toEmail = "<to email address>"
$smtpServer = "<smtp.office365.com>"
$smtpPort = 587
$runAsConnectionName = "<AzureRunAsConnection>"
$subscriptionId = "<subscription id>"
$region = "<Azure region>"
$vpnConnectionName = "<vpn connection name>"
$vpnConnectionResourceGroup = "<resource group name>"
$storageAccountName = "<storage account name>"
$storageAccountResourceGroup = "<resource group name>"
$storageAccountContainer = "<container name>"

# Get credentials for work or school account
$cred = Get-AutomationPSCredential -Name $automationCredential

# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $runAsConnectionName

"Logging in to Azure..."
Connect-AzureRmAccount `
    -ServicePrincipal `
    -TenantId $servicePrincipalConnection.TenantId `
    -ApplicationId $servicePrincipalConnection.ApplicationId `
    -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
"Setting context to a specific subscription"
Set-AzureRmContext -SubscriptionId $subscriptionId

$nw = Get-AzurermResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq $region }
$networkWatcher = Get-AzureRmNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName
$connection = Get-AzureRmVirtualNetworkGatewayConnection -Name $vpnConnectionName -ResourceGroupName $vpnConnectionResourceGroup
$sa = Get-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $storageAccountResourceGroup 
$storagePath = "$($sa.PrimaryEndpoints.Blob)$($storageAccountContainer)"
$result = Start-AzureRmNetworkWatcherResourceTroubleshooting -NetworkWatcher $networkWatcher -TargetResourceId $connection.Id -StorageId $sa.Id -StoragePath $storagePath

if($result.code -ne "Healthy")
    {
        $body = "Connection for $($connection.name) is: $($result.code) `n$($result.results[0].summary) `nView the logs at $($storagePath) to learn more."
        Write-Output $body
        $subject = "$($connection.name) Status"
        Send-MailMessage `
        -To $toEmail `
        -Subject $subject `
        -Body $body `
        -UseSsl `
        -Port $smtpPort `
        -SmtpServer $smtpServer `
        -From $fromEmail `
        -BodyAsHtml `
        -Credential $cred
    }
else
    {
    Write-Output ("Connection Status is: $($result.code)")
    }

Krok 6

Po uložení runbooku musí být plán propojený s ním, aby se automatizoval začátek runbooku. Chcete-li proces spustit, klepněte na tlačítko Plán.

Krok 6

Je nutné vytvořit nový plán. Klikněte na Propojit plán s runbookem.

Krok 7

Krok 1

V okně Plán klikněte na Vytvořit nový plán.

Krok 8

Krok 2

V okně Nový plán vyplňte informace o plánu. Hodnoty, které lze nastavit, jsou v následujícím seznamu:

  • Název – popisný název plánu.
  • Popis – popis plánu.
  • Začátek – Tato hodnota je kombinací data, času a časového pásma, které tvoří čas, kdy se plán aktivuje.
  • Opakování – Tato hodnota určuje opakování plánů. Platné hodnoty jsou jednou nebo opakovaně.
  • Opakovat vždy – interval opakování plánu v hodinách, dnech, týdnech nebo měsících.
  • Nastavit vypršení platnosti – hodnota určuje, jestli má plán vypršet nebo ne. Lze nastavit na Ano nebo Ne. Pokud je vybráno ano, je třeba poskytnout platné datum a čas.

Poznámka:

Pokud potřebujete runbook spustit častěji než každou hodinu, je potřeba vytvořit několik plánů v různých intervalech (to znamená 15, 30, 45 minut po hodině).

Krok 9

Krok 3

Kliknutím na Uložit uložíte plán do runbooku.

Krok 10

Další kroky

Teď, když máte přehled o tom, jak integrovat řešení potíží se službou Network Watcher se službou Azure Automation, zjistěte, jak aktivovat zachytávání paketů na upozorněních virtuálních počítačů prostřednictvím možnosti Vytvoření zachytávání paketů aktivovaných upozorněním pomocí služby Azure Network Watcher.