Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Монитор подключений (классический) устарел и больше недоступен. Дополнительные сведения см. в статье Миграция из монитора подключения (классического) для переноса ваших мониторов подключения с классического монитора подключения на новый монитор подключения.
Узнайте, как использовать ARMClient для создания Монитора подключений и отслеживания взаимодействия между вашими ресурсами. Он поддерживает гибридные развертывания и развертывания в облаке Azure.
Перед началом
В мониторах подключений, создаваемых с помощью службы "Монитор подключений", в качестве источников можно добавлять локальные компьютеры и виртуальные машины Azure. Эти мониторы подключений также могут отслеживать подключения к конечным точкам. Конечные точки могут находиться в Azure или на любом другом URL- или IP-адресе.
Монитор подключения включает в себя следующие компоненты.
Ресурс монитора подключения — это специальный ресурс Azure для конкретного региона. Все следующие сущности являются свойствами ресурса монитора подключений.
Конечная точка — это источник или назначение, которые участвуют в проверке подключения. Примеры конечных точек: виртуальные машины Azure, локальные агенты, URL-адреса и IP-адрес.
Конфигурация теста — конфигурация, зависящая от протокола и использующаяся для тестирования. На основе выбранного протокола вы можете задать порт, пороговые значения, частоту тестов и другие параметры.
Группа тестирования — группа, которая содержит конечные точки источника, конечные точки назначения и конфигурации тестов. Монитор подключения может содержать более одной группы тестов.
Тест — комбинация конечной точки источника, конечной точки назначения и конфигурации теста. Тест — это наиболее детализированный уровень доступности данных мониторинга. Данные мониторинга включают в себя процент проверок, завершившихся сбоем, и время кругового перехода (RTT).
Схема, показывающая мониторинг подключения, определяющая связь между группами тестов и самими тестами
Действия по созданию монитора подключения с помощью ARMClient
Чтобы создать монитор подключения с помощью 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>
}
}
]
}
} "
Команда развертывания выглядит следующим образом:
armclient PUT $ARM/$SUB/$NW/connectionMonitors/$connectionMonitorName/?api-version=2019-07-01 $body -verbose
Описание свойств
ConnectionMonitorName: имя ресурса монитора подключения.
SUB: идентификатор подписки, в которой требуется создать монитор подключения.
NW — идентификатор ресурса Network Watcher, в котором создается CM
расположение — регион, в котором создается монитор подключений
Конечные точки
- name : уникальное имя для каждой конечной точки.
- resourceId — для конечных точек Azure идентификатор ресурса ссылается на идентификатор ресурса Azure Resource Manager для виртуальных машин. Для конечных точек, не относящихся к Azure, идентификатором ресурса является идентификатор ресурса Azure Resource Manager для рабочей области Log Analytics, связанной с агентами, отличными от агентов Azure.
- адрес — применимо только в том случае, если идентификатор ресурса не указан или если идентификатор ресурса является рабочей областью Log Analytics. При использовании вместе с идентификатором ресурса Log Analytics это указывает на полное доменное имя агента, который можно использовать для мониторинга. При использовании без идентификатора ресурса это может быть URL-адрес или IP-адрес любой общедоступной конечной точки.
- filter: для конечных точек, не относящихся к Azure, с помощью фильтра можно выбрать агентов из рабочей области Log Analytics для мониторинга в ресурсе монитора подключения. Если фильтры не заданы, для мониторинга можно использовать все агенты, принадлежащие рабочей области Log Analytics.
- type: установите тип как "Адрес агента"
- адрес – установите адрес как полное доменное имя (FQDN) вашего локального агента.
Тестовые группы
- name - Назовите вашу группу тестов.
- testConfigurations: конфигурации тестов в зависимости от того, какие конечные точки источника подключаются к конечным точкам назначения.
- sources: выберите из созданных выше конечных точек. Для конечных точек на базе Azure необходимо установить расширение Azure Network Watcher, а для конечных точек, не связанных с Azure, нужно установить агент Log Analytics. Для установки агента для вашего источника данных, см. Установка агентов наблюдения.
- destinations: выбор из числа созданных выше конечных точек. Вы можете наблюдать за подключением к виртуальным машинам Azure или любой конечной точке (используя общедоступный IP-адрес, URL-адрес или полное доменное имя), указав их в качестве назначений. В одной тестовой группе можно добавлять виртуальные машины Azure, URL-адреса Office 365, URL-адреса Dynamics 365 и пользовательские конечные точки.
- отключить: используйте это поле, чтобы отключить мониторинг для всех источников и пунктов назначения, указанных в группе тестирования.
Конфигурации тестов
name: имя конфигурации теста.
testFrequencySec: укажите частоту, с которой источники будут пинговать назначения по указанным протоколу и порту. Можно выбрать интервалы 30 секунд, 1 минуту, 5 минут, 15 минут или 30 минут. Источники проверяют возможность подключения к местам назначения на основе выбранного значения. Например, если выбрать 30 секунд, источники будут по крайней мере один раз в течение 30 секунд проверять подключение к назначению.
протокол — вы можете выбрать TCP, ICMP, HTTP или HTTPS. В зависимости от протокола можно настроить некоторые его параметры.
- preferHTTPS: укажите, следует ли использовать HTTPS через HTTP, если используемый порт — ни 80, ни 443.
- port: укажите выбранный порт назначения.
- disableTraceRoute: для конфигураций тестов с протоколом TCP или ICMP. Он предотвращает источники от разведки топологии и последовательного определения времени кругового цикла (RTT).
- метод — это относится к конфигурациям тестов, у которых протокол HTTP. Этот параметр позволяет выбрать метод HTTP-запроса (GET или POST).
- path: укажите параметры пути, которые нужно добавить в URL-адрес.
- validStatusCodes: выберите применимые коды состояния. Если код ответа не соответствует этому списку, вы получите диагностическое сообщение
- requestHeaders: укажите настраиваемые строки заголовков запросов, которые будут передаваться в целевой адрес.
successThreshold: можно задать пороговые значения для указанных ниже сетевых параметров.
- checksFailedPercent: задайте процент проверок, которые могут завершаться ошибкой, когда источники проверяют подключение к местам назначения, используя указанные критерии. Для протокола TCP или ICMP процент неудачных проверок может равняться проценту потери пакетов. Для протокола HTTP в этом поле указывается процент HTTP-запросов, которые не получили ответа.
- roundTripTimeMs — задайте значение времени кругового обхода (в миллисекундах), показывающее, сколько времени требуется источникам для подключения к месту назначения в тестовой конфигурации.
Ограничения масштабирования
Мониторы подключений имеют следующие ограничения масштабирования:
- Максимальное число мониторов подключения на подписку в одном регионе: 100
- Максимальное число групп тестирования на монитор подключения: 20
- Максимальное число источников и приёмных пунктов для каждого монитора подключения: 100
- Максимальное число конфигураций тестов на монитор подключения: 20 через ARMClient.
Следующие шаги
- Узнайте, как анализировать данные мониторинга и устанавливать оповещения.
- Узнайте, как диагностировать проблемы в вашей сети.