Share via


ARMClient kullanarak bağlantı izleyicisi oluşturma

Önemli

1 Temmuz 2021'den itibaren mevcut bir çalışma alanına yeni testler ekleyemez veya Ağ Performans İzleyicisi'nde yeni bir çalışma alanını etkinleştiremezsiniz. Ayrıca Bağlantı İzleyicisi (klasik) içine yeni bağlantı izleyicileri ekleyemezsiniz. 1 Temmuz 2021'e kadar oluşturulan testleri ve bağlantı izleyicilerini kullanmaya devam edebilirsiniz. Geçerli iş yüklerinizde hizmet kesintisini en aza indirmek için testlerinizi Ağ Performans İzleyicisi'nden geçirin veya 29 Şubat 2024'ten önce Bağlantı İzleyicisi (klasik) azure Ağ İzleyicisi yeni Bağlantı İzleyicisi geçirin.

ARMClient kullanarak kaynaklarınız arasındaki iletişimi izlemek için Bağlantı İzleyicisi oluşturmayı öğrenin. Hibrit ve Azure bulut dağıtımlarını destekler.

Başlamadan önce

Bağlantı İzleyicisi'de oluşturduğunuz bağlantı izleyicilerinde hem şirket içi makineleri hem de Azure VM'lerini kaynak olarak ekleyebilirsiniz. Bu bağlantı izleyicileri uç noktalara bağlantıyı da izleyebilir. Uç noktalar Azure'da veya başka bir URL veya IP'de olabilir.

Bağlantı İzleyicisi aşağıdaki varlıkları içerir:

  • Bağlantı izleme kaynağı – Bölgeye özgü bir Azure kaynağı. Aşağıdaki varlıkların tümü bir bağlantı izleyicisi kaynağının özellikleridir.

  • Uç Nokta : Bağlantı denetimlerine katılan bir kaynak veya hedef. Uç noktalara örnek olarak Azure VM'leri, şirket içi aracılar, URL'ler ve IP'ler verilebilir.

  • Test yapılandırması : Test için protokole özgü yapılandırma. Seçtiğiniz protokole bağlı olarak bağlantı noktasını, eşikleri, test sıklığını ve diğer parametreleri tanımlayabilirsiniz.

  • Test grubu : Kaynak uç noktaları, hedef uç noktalar ve test yapılandırmalarını içeren grup. Bağlantı izleyicisi birden fazla test grubu içerebilir.

  • Test : Kaynak uç nokta, hedef uç nokta ve test yapılandırmasının birleşimi. Test, izleme verilerinin kullanılabilir olduğu en ayrıntılı düzeydir. İzleme verileri başarısız olan denetimlerin yüzdesini ve gidiş dönüş süresini (RTT) içerir.

    Test grupları ve testler arasındaki ilişkiyi tanımlayan bağlantı izleyicisini gösteren diyagram

ARMClient kullanarak bağlantı izleyicisi oluşturma adımları

ARMClient kullanarak bağlantı izleyicisi oluşturmak için aşağıdaki kodu kullanın.

$connectionMonitorName = "sampleConnectionMonitor"

$ARM = "https://management.azure.com"

$SUB = "subscriptions/<subscription id 1>;"

$NW = "resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher\_<region>"

$body =

"{

location: '<region>',

properties: {

endpoints: [{

name: 'endpoint_workspace_machine',

type: 'MMAWorkspaceMachine',

resourceId: '/subscriptions/<subscription id>/resourcegroups/<resource group>/providers/Microsoft.OperationalInsights/workspaces/sampleWorkspace',

//Example 1: Choose a machine

address : '<non-Azure machine FQDN>'
}

//Example 2: Select IP from chosen machines

address : '<non-Azure machine FQDN>

"scope": {
      "include": [
            {
                  "address": "<IP belonging to machine chosen above>"  
	    }
       ]
      }
   }    
   
name: 'endpoint_workspace_network',

type: 'MMAWorkspaceNetwork',

resourceId: '/subscriptions/<subscription id>/resourcegroups/<resource group>/providers/Microsoft.OperationalInsights/workspaces/sampleWorkspace',

 coverage level : 'high', //Optional
 
 //Include subnets. You can also exclude IPs from subnet to exclude from monitoring
 
 scope: {
      "include": [
            {
                  "address": "<subnet 1 mask>" // Eg: 10.10.1.0/28
            },
            {
                  "address": "<subnet 2 mask>" 
            }
      ],
      "exclude": [
      		{ 
      		"address" : "<ip-from-included-subnets-that-should-be-excluded>"
		}
      ]
     }
},

//Use a Azure VM as an endpoint
{

name: 'endpoint_virtualmachine',

resourceId: '/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Compute/virtualMachines/<vm-name>'

},

//Use an Azure VNET or Subnet as an endpoint

 {

name: 'endpoint_vnet_subnet',

resourceId: '<resource id of VNET or subnet'
coverage level: 'high' //Optional

//Scope is optional.

  "scope": {
      "include": [
            {
                  "address": "<subnet 1 mask>" // Eg: 10.10.1.0/28 .This subnet should match with any existing subnet in vnet
            }
      ],
    "exclude": [
            {
                  "address": "<ip-from-included-subnets-that-should-be-excluded>" // If used with include, IP should be part of the subnet defined above. Without include, this could be any address within vnet range or any specific subnet range as a whole.
            }
      ]
  }
   },

//Endpoint as a URL
{

name: 'azure portal'

address: '<URL>'

   },

//Endpoint as an IP 
 {

    name: 'ip',

     address: '<IP>'

 }

  ],

  testGroups: [{

    name: 'Connectivity to Azure Portal and Public IP',

    testConfigurations: ['http', 'https', 'tcpEnabled', 'icmpEnabled'],

    sources: ['vm1', 'workspace'],

    destinations: ['azure portal', 'ip']

   },

{

    name: 'Connectivty from Azure VM 1 to Azure VM 2',

   // Choose your protocol
   
    testConfigurations: ['http', 'https', 'tcpDisabled', 'icmpDisabled'],

    sources: ['vm1'],

    destinations: ['vm2'],

    disable: true

   }

  ],

  testConfigurations: [{

    name: 'http',

    testFrequencySec: <frequency>,

    protocol: 'HTTP',

    successThreshold: {

     checksFailedPercent: <threshold for checks failed %>,

     roundTripTimeMs: <threshold for RTT>

    }

   }, {

    name: 'https',

    testFrequencySec: <frequency>,

    protocol: 'HTTP',

    httpConfiguration: {
    
     port: '<port of choice>'
  
    preferHTTPS: true // If port chosen isn't 80 or 443
    
    method: 'GET', //Choose GET or POST
    
    path: '/', //Specify path for request
         
    requestHeaders: [
            {
              "name": "Content-Type",
              "value": "appication/json"
            }
          ],
          
    validStatusCodeRanges: [ "102", "200-202", "3xx" ], //Samples
          
    },

    successThreshold: {

     checksFailedPercent: <choose your checks failed threshold>,

     roundTripTimeMs: <choose your RTT threshold>

    }

   }, 
   {

    name: 'tcpEnabled',

    testFrequencySec: <frequency>,

    protocol: 'TCP',

    tcpConfiguration: {

     port: 80

    },

    successThreshold: {

     checksFailedPercent: <choose your checks failed threshold>,

     roundTripTimeMs: <choose your RTT threshold>

    }

   }, {

    name: 'icmpEnabled',

    testFrequencySec: <frequency>,

    protocol: 'ICMP',

    successThreshold: {

     checksFailedPercent: <choose your checks failed threshold>,

     roundTripTimeMs: <choose your RTT threshold>

    }

   }, {

    name: 'icmpDisabled',

    testFrequencySec: <frequency>,

    protocol: 'ICMP',

    icmpConfiguration: {

     disableTraceRoute: true

    },

    successThreshold: {

     checksFailedPercent: <choose your checks failed threshold>,

     roundTripTimeMs: <choose your RTT threshold>

    }

   }, {

    name: 'tcpDisabled',

    testFrequencySec: <frequency>,

    protocol: 'TCP',

    tcpConfiguration: {

     port: 80,

     disableTraceRoute: true

    },

    successThreshold: {

     checksFailedPercent: <choose your checks failed threshold>,

     roundTripTimeMs: <choose your RTT threshold>

    }

   }

  ]

 }

} "

Dağıtım komutu aşağıdadır:

armclient PUT $ARM/$SUB/$NW/connectionMonitors/$connectionMonitorName/?api-version=2019-07-01 $body -verbose

Özelliklerin Açıklaması

  • connectionMonitorName - Bağlantı izleyici kaynağının adı

  • SUB - Bağlantı izleyicisi oluşturmak istediğiniz aboneliğin abonelik kimliği

  • NW - CM'nin oluşturulacağı Ağ İzleyicisi kaynak kimliği

  • location - Bağlantı izleyicinin oluşturulacağı bölge

  • Uç Noktalar

    • name – Her uç nokta için benzersiz ad
    • resourceId – Azure uç noktaları için kaynak kimliği, sanal makineler için Azure Resource Manager kaynak kimliğini ifade eder. Azure dışı uç noktalar için kaynak kimliği, Azure dışı aracılara bağlı Log Analytics çalışma alanının Azure Resource Manager kaynak kimliğini ifade eder.
    • address – Yalnızca kaynak kimliği belirtilmediğinde veya kaynak kimliği Log Analytics çalışma alanı olduğunda geçerlidir. Log Analytics kaynak kimliği ile kullanılıyorsa bu, izleme için kullanılabilecek aracının FQDN'sini ifade eder. Kaynak kimliği olmadan kullanılırsa, bu herhangi bir genel uç noktanın URL'si veya IP'si olabilir.
    • filter – Azure dışı uç noktalar için, Bağlantı izleyicisi kaynağında izleme için kullanılacak Log Analytics çalışma alanından aracıları seçmek için filtreyi kullanın. Filtreler ayarlanmadıysa Log Analytics çalışma alanına ait tüm aracılar izleme için kullanılabilir
      • type – Türü "Aracı Adresi" olarak ayarlayın
      • address – Adresi şirket içi aracınızın FQDN'si olarak ayarlayın
  • Test Grupları

    • name - Test grubunuzu adlandırınız.
    • testConfigurations - Hangi kaynak uç noktaların hedef uç noktalara bağlandığı temelinde Yapılandırmaları Test Etme
    • sources - Yukarıda oluşturulan uç noktalar arasından seçim yapın. Azure tabanlı kaynak uç noktalarının Azure Ağ İzleyicisi uzantısının yüklü olması ve Azure tabanlı olmayan kaynak uç noktalarınınAzure Log Analytics aracısının yüklü olması gerekir. Kaynağınız için bir aracı yüklemek için bkz. İzleme aracılarını yükleme.
    • destinations - Yukarıda oluşturulan uç noktalar arasından seçim yapın. Azure VM'lerine veya herhangi bir uç noktaya (genel IP, URL veya FQDN) bağlantıyı hedef olarak belirterek izleyebilirsiniz. Tek bir test grubunda Azure VM'leri, Office 365 URL'leri, Dynamics 365 URL'leri ve özel uç noktaları ekleyebilirsiniz.
    • disable - Test grubunun belirttiği tüm kaynaklar ve hedefler için izlemeyi devre dışı bırakmak için bu alanı kullanın.
  • Test Yapılandırmaları

    • name - Test yapılandırmasının adı.

    • testFrequencySec - Kaynakların belirttiğiniz protokol ve bağlantı noktasındaki hedeflere ne sıklıkta ping atacağını belirtin. 30 saniye, 1 dakika, 5 dakika, 15 dakika veya 30 dakika seçebilirsiniz. Kaynaklar, seçtiğiniz değere göre hedeflere bağlantıyı test eder. Örneğin, 30 saniye seçerseniz kaynaklar 30 saniyelik bir süre içinde en az bir kez hedefe bağlantıyı denetler.

    • protocol - TCP, ICMP, HTTP veya HTTPS'yi seçebilirsiniz. Protokole bağlı olarak, protokole özgü bazı yapılandırmalar yapabilirsiniz

      • preferHTTPS - Kullanılan bağlantı noktası 80 veya 443 olmadığında HTTP üzerinden HTTPS kullanılıp kullanılmayacağını belirtin
      • port - Seçtiğiniz hedef bağlantı noktasını belirtin.
      • disableTraceRoute - Bu, protokolü TCP veya ICMP olan test yapılandırmaları için geçerlidir. Kaynakların topolojiyi ve atlamalı RTT'yi bulmasını durdurur.
      • method - Bu, protokolü HTTP olan test yapılandırmalarına uygulanır. HTTP istek yöntemini (GET veya POST) seçin
      • path - URL'ye eklenecek yol parametrelerini belirtin
      • validStatusCodes - Geçerli durum kodlarını seçin. Yanıt kodu bu listeyle eşleşmiyorsa bir tanılama iletisi alırsınız
      • requestHeaders - Hedefe geçirilecek özel istek üst bilgi dizelerini belirtin
    • successThreshold - Aşağıdaki ağ parametrelerinde eşikler ayarlayabilirsiniz:

      • checksFailedPercent - Kaynaklar belirttiğiniz ölçütleri kullanarak hedeflere bağlantıyı denetlediğinde başarısız olabilecek denetimlerin yüzdesini ayarlayın. TCP veya ICMP protokolü için başarısız denetimlerin yüzdesi paket kaybı yüzdesine eşitlenebilir. HTTP protokolü için bu alan, yanıt alınmaan HTTP isteklerinin yüzdesini temsil eder.
      • roundTripTimeMs - Kaynakların test yapılandırması üzerinden hedefe bağlanmasının ne kadar sürebileceği için RTT'yi milisaniye cinsinden ayarlayın.

Ölçek sınırları

Bağlantı izleyicileri aşağıdaki ölçek sınırlarına sahiptir:

  • Bölge başına abonelik başına en fazla bağlantı izleyicisi sayısı: 100
  • Bağlantı izleyicisi başına en fazla test grubu sayısı: 20
  • Bağlantı izleyicisi başına en fazla kaynak ve hedef sayısı: 100
  • Bağlantı izleyicisi başına en fazla test yapılandırması: ARMClient aracılığıyla 20

Sonraki adımlar