Bagikan melalui


Membuat monitor koneksi menggunakan ARMClient

Penting

Pemantau koneksi (klasik) tidak digunakan lagi dan tidak lagi tersedia. Untuk informasi selengkapnya, lihat Migrasi dari pemantau koneksi (klasik) untuk memigrasikan pemantau koneksi Anda dari pemantau koneksi (klasik) ke pemantau koneksi baru.

Pelajari cara membuat Pemantau Koneksi untuk memantau komunikasi antarsumber daya Anda menggunakan ARMClient. Pemantau Koneksi ini mendukung penyebaran hibrida dan cloud Azure.

Sebelum Anda mulai

Di pemantau koneksi yang Anda buat dengan menggunakan Pemantau Koneksi, Anda bisa menambahkan komputer lokal dan komputer virtual Azure sebagai sumber. Monitor sambungan ini juga dapat memantau konektivitas ke titik akhir. Titik akhir dapat berada di Azure atau URL atau IP lainnya.

Pemantau Koneksi mencakup entitas berikut:

  • Sumber daya pemantau koneksi – Sumber daya Azure khusus wilayah. Semua entitas berikut adalah properti dari sumber daya pemantau koneksi.

  • Titik akhir – Sumber atau tujuan yang berpartisipasi dalam pemeriksaan konektivitas. Contoh titik akhir termasuk VM Azure, agen lokal, URL, dan IP.

  • Konfigurasi pengujian – Konfigurasi khusus protokol untuk pengujian. Berdasarkan protokol yang dipilih, Anda dapat menentukan port, ambang batas, frekuensi pengujian, dan parameter lainnya.

  • Grup pengujian – grup yang berisi titik akhir sumber, titik akhir tujuan, dan konfigurasi pengujian. Setiap pemantau koneksi dapat berisi lebih dari satu grup pengujian.

  • Pengujian – Kombinasi titik akhir sumber, titik akhir tujuan, dan konfigurasi pengujian. Pengujian adalah tingkat yang paling granuler tempat data pemantauan tersedia. Data pemantauan tersebut meliputi persentase pemeriksaan yang gagal dan waktu pulang-pergi (RTT).

    Diagram memperlihatkan pemantau koneksi, mendefinisikan hubungan antara grup pengujian dan pengujian

Langkah-langkah untuk membuat pemantau koneksi menggunakan ARMClient

Gunakan perintah berikut untuk membuat pemantau koneksi menggunakan ARMClient.

$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>

    }

   }

  ]

 }

} "

Berikut perintah penyebarannya:

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

Deskripsi properti

  • ConnectionMonitorName - Nama sumber daya pemantau koneksi

  • SUB - ID Langganan dari langganan tempat Anda ingin membuat pemantau koneksi

  • NW - ID sumber daya Network Watcher tempat CM dibuat

  • location - Wilayah tempat pemantau koneksi dibuat

  • Titik akhir

    • name – Nama unik untuk setiap titik akhir
    • resourceId – Untuk titik akhir Azure, ID sumber daya mengacu pada ID sumber daya Azure Resource Manager untuk komputer virtual. Untuk titik akhir non-Azure, ID sumber daya mengacu pada ID sumber daya Azure Resource Manager untuk ruang kerja Log Analytics yang ditautkan ke agen non-Azure.
    • alamat – Hanya berlaku saat ID sumber daya tidak ditentukan atau jika ID sumber daya adalah ruang kerja Analitik Log. Jika digunakan dengan ID sumber daya Log Analytics, address merujuk pada FQDN agen yang dapat digunakan untuk pemantauan. Jika digunakan tanpa ID sumber daya, address bisa menjadi URL atau IP dari titik akhir publik apa pun.
    • filter – Untuk titik akhir non-Azure, gunakan filter untuk memilih agen dari ruang kerja Log Analytics yang akan digunakan untuk pemantauan di sumber daya pemantau Koneksi. Jika filter tidak diatur, semua agen milik ruang kerja Analitik Log dapat digunakan untuk pemantauan
      • type – Atur jenis sebagai "Agent Address"
      • address – Tetapkan alamat sebagai FQDN agen lokal Anda
  • Grup Pengujian

    • name - Beri nama grup pengujian Anda.
    • testConfigurations - Konfigurasi Pengujian berdasarkan titik akhir sumber mana yang terhubung ke titik akhir tujuan
    • sources - Pilih dari titik akhir yang dibuat di atas. Titik akhir sumber berbasis Azure harus menginstal ekstensi Azure Network Watcher dan titik akhir sumber berbasis non-Azure harus menginstal agen Azure Log Analytics. Guna memasang agen untuk sumber Anda, lihat Memasang agen pemantauan.
    • destinations - Pilih dari titik akhir yang dibuat di atas. Anda dapat memantau konektivitas ke VM Azure atau titik akhir apa pun (IP publik, URL, atau FQDN) dengan menentukannya sebagai tujuan. Dalam satu grup uji, Anda bisa menambah Azure VM, URL Office 365, URL Dynamics 365, dan titik akhir kustom.
    • disable - Gunakan bidang ini untuk menonaktifkan pemantauan untuk semua sumber dan tujuan yang ditentukan oleh grup pengujian.
  • Konfigurasi Pengujian

    • name - Beri nama konfigurasi pengujian.

    • testFrequencySec - Tentukan seberapa sering sumber akan mengirim ping ke tujuan pada protokol dan port yang Anda tentukan. Anda dapat memilih 30 detik, 1 menit, 5 menit, 15 menit, atau 30 menit. Sumber akan menguji konektivitas ke tujuan berdasarkan nilai yang Anda pilih. Misalnya, jika Anda memilih 30 detik, sumber akan memeriksa konektivitas ke tujuan setidaknya sekali dalam periode 30 detik.

    • protokol - Anda dapat memilih TCP, ICMP, HTTP, atau HTTPS. Berdasarkan pada protokol, Anda dapat melakukan beberapa konfigurasi spesifik protokol

      • preferHTTPS - Tentukan apakah akan menggunakan HTTPS melalui HTTP, ketika port yang digunakan bukan 80 atau 443
      • port - Tentukan port tujuan pilihan Anda.
      • disableTraceRoute - Ini berlaku untuk konfigurasi pengujian dengan protokol TCP atau ICMP. Ini menghentikan sumber dari menemukan topologi dan hop-by-hop RTT.
      • methoed - Ini diterapkan pada konfigurasi pengujia dengan protokol HTTP. Pilih metode permintaan HTTP--GET atau POST
      • path - Tentukan parameter jalur untuk ditambahkan ke URL
      • validStatusCodes - Pilih kode status yang berlaku. Jika kode respons tidak cocok dengan daftar ini, Anda akan mendapatkan pesan diagnostik
      • requestHeaders - Tentukan untai header permintaan kustom yang akan diteruskan ke tujuan
    • successThreshold -menetapkan ambang batas pada parameter jaringan berikut:

      • checksFailedPercent - Tetapkan persentase pemeriksaan yang dapat gagal saat sumber memeriksa konektivitas ke tujuan menggunakan kriteria yang Anda tentukan. Untuk protokol TCP atau ICMP, persentase pemeriksaan yang gagal dapat disamakan dengan persentase hilangnya paket. Untuk protokol HTTP, bidang ini menunjukkan persentase permintaan HTTP yang tidak menerima respons.
      • roundTripTimeMs - Atur RTT dalam milidetik untuk berapa lama sumber dapat tersambung ke tujuan melalui konfigurasi pengujian.

Batas skala

Pemantau koneksi memiliki batas skala sebagai berikut:

  • Monitor Koneksi maksimum per langganan per wilayah: 100
  • Grup pengujian maksimum per pemantau koneksi: 20
  • Sumber dan tujuan maksimum per pemantau koneksi: 100
  • Konfigurasi pengujian maksimum per pemantau koneksi: 20 melalui ARMClient

Langkah berikutnya