Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uzyskiwanie szczegółowych informacji na temat wydajności sieci ma kluczowe znaczenie dla zapewnienia niezawodnych usług klientom. W związku z tym kluczowe znaczenie ma szybkie wykrywanie warunków awarii sieci i podejmowanie działań naprawczych w celu ograniczenia stanu awarii. Usługa Azure Automation umożliwia implementowanie i uruchamianie zadania w sposób programowy za pomocą elementów Runbook. Korzystanie z usługi Azure Automation tworzy doskonały przepis na ciągłe i proaktywne monitorowanie sieci oraz zgłaszanie alertów.
Scenariusz
Scenariusz na poniższej ilustracji to wielowarstwowa aplikacja z łącznością lokalną ustanowioną przy użyciu usługi VPN Gateway i tunelu. Zapewnienie, że usługa VPN Gateway jest uruchomiona, ma kluczowe znaczenie dla wydajności aplikacji.
Element Runbook jest tworzony za pomocą skryptu w celu sprawdzenia stanu połączenia tunelu VPN przy użyciu interfejsu API rozwiązywania problemów z zasobami w celu sprawdzenia stanu tunelu połączenia. Jeśli stan nie jest w dobrej kondycji, wyzwalacz wiadomości e-mail jest wysyłany do administratorów.
W tym scenariuszu:
- Utwórz Runbook wywołujący polecenie cmdlet
Start-AzureRmNetworkWatcherResourceTroubleshooting
w celu rozwiązywania problemów ze stanem połączenia - Połącz harmonogram z runbookiem
Zanim rozpoczniesz
Przed rozpoczęciem tego scenariusza musisz mieć następujące wymagania wstępne:
- Konto usługi Azure Automation na platformie Azure. Upewnij się, że konto usługi Automation ma najnowsze moduły, a także moduł AzureRM.Network. Moduł AzureRM.Network jest dostępny w galerii modułów, jeśli musisz dodać go do konta usługi Automation.
- Musisz mieć zestaw poświadczeń skonfigurowanych w usłudze Azure Automation. Dowiedz się więcej na temat zabezpieczeń usługi Azure Automation
- Prawidłowy serwer SMTP (Platforma Microsoft 365, lokalna poczta e-mail lub inny) i poświadczenia zdefiniowane w usłudze Azure Automation
- Skonfigurowana brama sieci wirtualnej na platformie Azure.
- Istniejące konto magazynowe z kontenerem do przechowywania dzienników.
Uwaga
Infrastruktura przedstawiona na powyższym obrazie służy do celów ilustracyjnych i nie jest tworzona przy użyciu kroków zawartych w tym artykule.
Tworzenie elementu Runbook
Pierwszym krokiem do skonfigurowania przykładu jest utworzenie elementu Runbook.
Krok 1
Przejdź do usługi Azure Automation w witrynie Azure portal i kliknij pozycję Runbooks
Krok 2
Kliknij pozycję Dodaj element Runbook , aby rozpocząć proces tworzenia elementu Runbook.
Krok 3
W obszarze Szybkie tworzenie kliknij Utwórz nowy Runbook, aby go utworzyć.
Krok 4
W tym kroku nadamy elementowi Runbook nazwę w przykładzie o nazwie Get-VPNGatewayStatus. Ważne jest nadanie elementowi Runbook nazwy opisowej i zalecane nadanie mu nazwy zgodnej ze standardowymi standardami nazewnictwa programu PowerShell. Typ elementu Runbook dla tego przykładu to PowerShell, inne opcje to Graficzny, Przepływ pracy programu PowerShell i Graficzny przepływ pracy programu PowerShell.
Krok 5
W tym kroku tworzony jest element Runbook, poniższy przykład kodu zawiera cały kod wymagany w tym przykładzie. Elementy w kodzie, które zawierają <wartość> , muszą zostać zastąpione wartościami z subskrypcji.
Użyj następującego kodu, klikając przycisk Zapisz
# 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 zapisaniu elementu Runbook należy połączyć z nim harmonogram, aby zautomatyzować uruchamianie elementu Runbook. Aby rozpocząć proces, kliknij pozycję Harmonogram.
Połącz harmonogram z runbookiem
Należy utworzyć nowy harmonogram. Kliknij pozycję Połącz harmonogram z elementem Runbook.
Krok 1
W bloku Harmonogram kliknij pozycję Utwórz nowy harmonogram
Krok 2
W bloku Nowy harmonogram wypełnij informacje o harmonogramie. Wartości, które można ustawić, znajdują się na następującej liście:
- Nazwa — przyjazna nazwa harmonogramu.
- Opis — opis harmonogramu.
- Starts — ta wartość jest kombinacją daty, godziny i strefy czasowej, które określają moment uruchomienia harmonogramu.
- Cykl — ta wartość określa powtarzalność harmonogramu. Prawidłowe wartości to Raz lub Cykliczne.
- Powtarzaj co — interwał cyklu harmonogramu w godzinach, dniach, tygodniach lub miesiącach.
- Ustaw wygaśnięcie — wartość określa, czy harmonogram powinien wygasać, czy nie. Można ustawić wartość Tak lub Nie. Należy podać prawidłową datę i godzinę, jeśli wybrano opcję tak.
Uwaga
Jeśli potrzebujesz uruchamiać element Runbook częściej niż co godzinę, należy utworzyć wiele harmonogramów w różnych odstępach czasu (czyli 15, 30, 45 minut po godzinie)
Krok 3
Kliknij Zapisz, aby zapisać harmonogram w runbooku.
Następne kroki
Teraz, gdy już wiesz, jak zintegrować rozwiązywanie problemów z usługą Network Watcher z usługą Azure Automation, dowiedz się, jak wyzwalać przechwytywanie pakietów na alertach maszyn wirtualnych, odwiedzając stronę Tworzenie przechwytywania pakietów wyzwolonych alertów za pomocą usługi Azure Network Watcher.