Skapa en anslutningsövervakare med ARMClient

Viktigt

Från och med den 1 juli 2021 kan du inte lägga till nya tester på en befintlig arbetsyta eller aktivera en ny arbetsyta i Övervakaren för nätverksprestanda. Du kommer inte heller att kunna lägga till nya anslutningsövervakare i Anslutningsövervakare (klassisk). Du kan fortsätta att använda testerna och anslutningsövervakarna som skapades före den 1 juli 2021. För att minimera avbrott i tjänsten för dina aktuella arbetsbelastningar migrerar du dina tester från Övervakare av nätverksprestanda eller migrerar från Anslutningsövervakare (klassisk) till nya Anslutningsövervakare i Azure Network Watcher före den 29 februari 2024.

Lär dig hur du skapar Anslutningsövervakare för att övervaka kommunikationen mellan dina resurser med hjälp av ARMClient. Den stöder hybriddistributioner och Azure-molndistributioner.

Innan du börjar

I anslutningsövervakare som du skapar i Anslutningsövervakare kan du lägga till både lokala datorer och virtuella Azure-datorer som källor. Dessa anslutningsövervakare kan också övervaka anslutningen till slutpunkter. Slutpunkterna kan finnas på Azure eller någon annan URL eller IP.

Anslutningsövervakare innehåller följande entiteter:

  • Resurs för anslutningsövervakare – en regionspecifik Azure-resurs. Alla följande entiteter är egenskaper för en anslutningsövervakarresurs.

  • Slutpunkt – en källa eller ett mål som deltar i anslutningskontroller. Exempel på slutpunkter är virtuella Azure-datorer, lokala agenter, URL:er och IP-adresser.

  • Testkonfiguration – en protokollspecifik konfiguration för ett test. Baserat på det protokoll du valde kan du definiera port, tröskelvärden, testfrekvens och andra parametrar.

  • Testgrupp – Den grupp som innehåller källslutpunkter, målslutpunkter och testkonfigurationer. En anslutningsövervakare kan innehålla mer än en testgrupp.

  • Test – Kombinationen av en källslutpunkt, målslutpunkt och testkonfiguration. Ett test är den mest detaljerade nivån där övervakningsdata är tillgängliga. Övervakningsdata innehåller procentandelen kontroller som misslyckades och restid (RTT).

    Diagram som visar en anslutningsövervakare som definierar relationen mellan testgrupper och tester

Steg för att skapa en anslutningsövervakare med ARMClient

Använd följande kod för att skapa en anslutningsövervakare med hjälp av 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>

    }

   }

  ]

 }

} "

Här är distributionskommandot:

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

Beskrivning av egenskaper

  • connectionMonitorName – Namnet på resursen Anslutningsövervakare

  • SUB – Prenumerations-ID för prenumerationen där du vill skapa anslutningsövervakaren

  • NW – Network Watcher resurs-ID där CM skapas

  • location – Region där anslutningsövervakaren skapas

  • Slutpunkter

    • name – Unikt namn för varje slutpunkt
    • resourceId – För Azure-slutpunkter refererar resurs-ID till Azure Resource Manager resurs-ID för virtuella datorer. För icke-Azure-slutpunkter refererar resurs-ID:t till Azure Resource Manager resurs-ID för Log Analytics-arbetsytan som är länkad till agenter som inte är Azure-agenter.
    • address – Gäller endast när antingen resurs-ID inte har angetts eller om resurs-ID är Log Analytics-arbetsyta. Om det används med Log Analytics-resurs-ID refererar detta till FQDN för agenten som kan användas för övervakning. Om det används utan resurs-ID kan detta vara URL:en eller IP-adressen för en offentlig slutpunkt.
    • filter – För icke-Azure-slutpunkter använder du filter för att välja agenter från Log Analytics-arbetsytan som ska användas för övervakning i resursen Anslutningsövervakare. Om filter inte har angetts kan alla agenter som tillhör Log Analytics-arbetsytan användas för övervakning
      • type – Ange typ som "Agentadress"
      • adress – Ange adress som FQDN för din lokala agent
  • Testgrupper

    • name – Namnge testgruppen.
    • testConfigurations – Testa konfigurationer baserat på vilka källslutpunkter som ansluter till målslutpunkter
    • sources – Välj mellan slutpunkter som skapats ovan. Azure-baserade källslutpunkter måste ha Azure Network Watcher-tillägget installerat och icke-Azure-baserade källslutpunkter måste haAzure Log Analytics-agenten installerad. Information om hur du installerar en agent för källan finns i Installera övervakningsagenter.
    • destinations – Välj mellan slutpunkter som skapats ovan. Du kan övervaka anslutningen till virtuella Azure-datorer eller valfri slutpunkt (en offentlig IP-adress, URL eller FQDN) genom att ange dem som mål. I en enda testgrupp kan du lägga till virtuella Azure-datorer, Office 365-URL:er, Dynamics 365-URL:er och anpassade slutpunkter.
    • disable – Använd det här fältet för att inaktivera övervakning för alla källor och mål som testgruppen anger.
  • Testkonfigurationer

    • name – Namnet på testkonfigurationen.

    • testFrequencySec – Ange hur ofta källor ska pinga mål på det protokoll och den port som du har angett. Du kan välja 30 sekunder, 1 minut, 5 minuter, 15 minuter eller 30 minuter. Källor testar anslutningen till mål baserat på det värde du väljer. Om du till exempel väljer 30 sekunder kontrollerar källor anslutningen till målet minst en gång under en 30-sekundersperiod.

    • protocol – Du kan välja TCP, ICMP, HTTP eller HTTPS. Beroende på protokollet kan du utföra vissa protokollspecifika konfigurationer

      • preferHTTPS – Ange om HTTPS ska användas via HTTP, när porten som används varken är 80 eller 443
      • port – Ange valfri målport.
      • disableTraceRoute – Detta gäller för testkonfigurationer vars protokoll är TCP eller ICMP. Det hindrar källor från att identifiera topologi och hoppa för hopp RTT.
      • method – Detta tillämpas på testkonfigurationer vars protokoll är HTTP. Välj http-begärandemetoden – antingen GET eller POST
      • path – Ange sökvägsparametrar som ska läggas till i URL
      • validStatusCodes – Välj tillämpliga statuskoder. Om svarskoden inte matchar den här listan får du ett diagnostikmeddelande
      • requestHeaders – Ange anpassade begärandehuvudsträngar som ska skickas till målet
    • successThreshold – Du kan ange tröskelvärden för följande nätverksparametrar:

      • checksFailedPercent – Ange procentandelen kontroller som kan misslyckas när källor kontrollerar anslutningen till mål med hjälp av de kriterier som du angav. För TCP- eller ICMP-protokollet kan procentandelen misslyckade kontroller likställas med procentandelen paketförlust. För HTTP-protokoll representerar det här fältet procentandelen HTTP-begäranden som inte tog emot något svar.
      • roundTripTimeMs – Ange RTT i millisekunder för hur lång tid det kan ta för källor att ansluta till målet över testkonfigurationen.

Skalningsgränser

Anslutningsövervakare har följande skalningsgränser:

  • Maximalt antal anslutningsövervakare per prenumeration per region: 100
  • Maximalt antal testgrupper per anslutningsövervakare: 20
  • Maximalt antal källor och mål per anslutningsövervakare: 100
  • Maximalt antal testkonfigurationer per anslutningsövervakare: 20 via ARMClient

Nästa steg