إعداد تنبيهات حول أحداث سجل الموارد من بوابة VPN

تساعدك هذه المقالة على إعداد التنبيهات استنادًا إلى أحداث سجل الموارد من بوابة Azure VPN باستخدام Azure Monitor Log Analytics.

تتوفر سجلات الموارد التالية في Azure:

الاسم الوصف
سجل تشخيص البوابة يحتوي على سجلات الموارد لأحداث تكوين البوابة والتغييرات الأساسية وأحداث الصيانة
سجل تشخيص النفق يحتوي على أحداث تغيير حالة النفق. أحداث توصيل/فصل النفق لها سبب موجز لتغيير الحالة إذا كان ذلك ممكنًا
سجل تشخيص المسار تسجيل التغييرات في المسارات الثابتة والأحداث BGP التي تحدث على البوابة
سجل تشخيص IKE سجلات رسائل التحكم في IKE والأحداث على البوابة
سجل تشخيص P2S يسجل رسائل التحكم من نقطة إلى موقع والأحداث على البوابة. يتم توفير معلومات مصدر الاتصال لاتصالات IKEv2 و OpenVPN فقط

إعداد التنبيهات في مدخل Microsoft Azure

تنشئ الخطوات التوضيحية التالية تنبيهًا لحدث فصل يتضمن نفق VPN من موقع إلى موقع:

  1. في مدخل Microsoft Azure، ابحث عن Log Analytics تحت جميع الخدمات وحدد Log Analytics workspaces.

    Selections for going to Log Analytics workspaces.

  2. حدد إنشاء في صفحة سجل التحليلات.

    Log Analytics page with Create button.

  3. حدد إنشاء جديد واملأ التفاصيل.

    Details for creating a Log Analytics workspace.

  4. اعثر على بوابة VPN خاصتك على شفرة شاشة > إعدادات التشخيص .

    Selections for finding the VPN gateway in Diagnostic settings.

  5. لتشغيل التشخيصات، انقر نقرًا مزدوجًا فوق البوابة ثم حدد تشغيل التشخيصات.

    Selections for turning on diagnostics.

  6. املأ التفاصيل وتأكد من تحديد إرسال إلى Log Analytics و TunnelDiagnosticLog . اختر مساحة عمل Log Analytics التي قمت بإنشائها في الخطوة 3.

    Selected check boxes.

    ملاحظة

    قد يستغرق الأمر بضع ساعات حتى تظهر البيانات في البداية.

  7. انتقل إلى النظرة العامة لمورد بوابة الشبكة الظاهرية وحدد تنبيهات من علامة التبويب مراقبة. ثم قم بإنشاء قاعدة تنبيه جديدة أو تعديل قاعدة تنبيه موجودة.

    Selections for creating a new alert rule.

  8. حدد مساحة عمل Log Analytics والمورد.

    Selections for workspace and resource.

  9. حدد بحث السجل المخصص كمنطق الإشارة تحت إضافة شرط.

    Selections for a custom log search.

  10. أدخل الاستعلام التالي في مربع النص استعلام البحث. استبدل القيم الموجودة في <> والمولدة زمنيًا حسب الاقتضاء.

    AzureDiagnostics
    | where Category == "TunnelDiagnosticLog"
    | where _ResourceId == tolower("<RESOURCEID OF GATEWAY>")
    | where TimeGenerated > ago(5m) 
    | where remoteIP_s == "<REMOTE IP OF TUNNEL>"
    | where status_s == "Disconnected"
    | project TimeGenerated, OperationName, instance_s, Resource, ResourceGroup, _ResourceId 
    | sort by TimeGenerated asc
    

    اضبط القيمة الحدية على 0 وحدد تم.

    Entering a query and selecting a threshold

    ملاحظة

    سيؤدي إنزال النفق وإعادته إلى إنشاء سجلات لهذا الاستعلام.

  11. في صفحة إنشاء قاعدة، حدد إنشاء جديد تحت قسم مجموعات العمل . املأ التفاصيل وحدد موافق.

    Details for a new action group.

  12. في صفحة إنشاء قاعدة، املأ تفاصيل تخصيص الإجراءات وتأكد من ظهور الاسم الصحيح في قسم اسم مجموعة الإجراءات. حدد إنشاء قاعدة تنبيه لإنشاء القاعدة.

    Selections for creating a rule.

إعداد التنبيهات باستخدام PowerShell

تنشئ الخطوات التوضيحية التالية تنبيهًا لحدث فصل يتضمن نفق VPN من موقع إلى موقع.

  1. إنشاء مساحة عمل Log Analytics:

    $Location           = 'westus2'
    $ResourceGroupName  = 'TestRG1'
    $Sku                = 'pergb2018'
    $WorkspaceName      = 'LogAnalyticsWS123'
    
    New-AzOperationalInsightsWorkspace -Location $Location -Name $WorkspaceName -Sku $Sku -ResourceGroupName $ResourceGroupName
    
  2. قم بتشغيل تشخيصات بوابة VPN:

    $ResourceGroupName  = 'TestRG1'
    $VpnGatewayName     = 'VNet1GW'
    $WorkspaceName      = 'LogAnalyticsWS123'
    
    $VpnGateway         = Get-AzVirtualNetworkGateway -Name $VpnGatewayName -ResourceGroupName $ResourceGroupName
    $Workspace          = Get-AzOperationalInsightsWorkspace -Name $WorkspaceName -ResourceGroupName $ResourceGroupName
    
    Set-AzDiagnosticSetting `
        -Name 'VPN tunnel' `
        -ResourceId $VpnGateway.Id `
        -WorkspaceId $Workspace.ResourceId `
        -Enabled $true `
        -Category 'TunnelDiagnosticLog'
    
  3. أنشئ مجموعة عمل.

    ينشئ هذا الرمز مجموعة عمل ترسل إشعارًا بالبريد الإلكتروني عند تشغيل تنبيه:

    $ActionGroupName            = 'EmailAdmins'   # Max. 60 characters long
    $ActionGroupShortName       = 'EmailAdmins'   # Max. 12 characters long
    $ActionGroupReceiverName    = 'My receiver Name'
    $EmailAddress               = 'xyz@contoso.com'
    $ResourceGroupName          = 'TestRG1'
    
    $ActionGroupReceiver = New-AzActionGroupReceiver -Name $ActionGroupReceiverName -UseCommonAlertSchema -EmailReceiver -EmailAddress $EmailAddress
    
    Set-AzActionGroup `
       -ResourceGroupName $ResourceGroupName `
       -Name $ActionGroupName `
       -ShortName $ActionGroupShortName `
       -Receiver @($ActionGroupReceiver)
    
  4. إنشاء قاعدة تنبيه بناءً على بحث مخصص في السجل:

    $ActionGroupName    = 'EmailAdmins'
    $EmailSubject       = 'Redmond VPN tunnel is disconnected'
    $Location           = 'westus2'
    $RemoteIp           = '104.42.209.46'
    $ResourceGroupName  = 'TestRG1'
    $VpnGatewayName     = 'VNet1GW'
    $WorkspaceName      = 'LogAnalyticsWS123'
    
    $VpnGateway         = Get-AzVirtualNetworkGateway -Name $VpnGatewayName -ResourceGroupName $ResourceGroupName
    $Workspace          = Get-AzOperationalInsightsWorkspace -Name $WorkspaceName -ResourceGroupName $ResourceGroupName
    
    $Query = @"
    AzureDiagnostics |
    where Category == "TunnelDiagnosticLog" |
    where TimeGenerated > ago(5m) |
    where _ResourceId == tolower("$($VpnGateway.id)") |
    where remoteIP_s == "$($RemoteIp)" |
    where status_s == "Disconnected" |
    project TimeGenerated, OperationName, instance_s, Resource, ResourceGroup, _ResourceId |
    sort by TimeGenerated asc
    "@
    
    $Source             = New-AzScheduledQueryRuleSource -Query $Query -DataSourceId $Workspace.ResourceId
    $Schedule           = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 5 -TimeWindowInMinutes 5
    $TriggerCondition   = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator 'GreaterThan' -Threshold 0
    
    $ActionGroup        = Get-AzActionGroup -ResourceGroupName $ResourceGroupName -Name $ActionGroupName
    $AznsActionGroup    = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup $ActionGroup.Id -EmailSubject $EmailSubject
    $AlertingAction     = New-AzScheduledQueryRuleAlertingAction -AznsAction $AznsActionGroup -Severity '1' -Trigger $TriggerCondition
    
    New-AzScheduledQueryRule `
        -ResourceGroupName $ResourceGroupName `
        -Location $Location `
        -Action $AlertingAction `
        -Enabled $true `
        -Description 'The tunnel between Azure and Redmond with IP address 104.42.209.46 is disconnected' `
        -Schedule $Schedule `
        -Source $Source `
        -Name 'The Azure to Redmond tunnel is disconnected'
    

الخطوات التالية

لتكوين التنبيهات على مقاييس النفق، راجع إعداد التنبيهات على مقاييس بوابة VPN .