Мониторинг подсистемы балансировки нагрузки

При наличии критически важных приложений и бизнес-процессов, использующих ресурсы Azure, необходимо отслеживать эти ресурсы на предмет их доступности, производительности и работы.

В этой статье описываются данные мониторинга, создаваемые службой Load Balancer. Load Balancer использует службу Azure Monitor. Если вы плохо знакомы с функциями Azure Monitor, которые используются для всех совместимых служб Azure, прочитайте статью Мониторинг ресурсов Azure с помощью Azure Monitor.

Аналитика подсистемы балансировки нагрузки

Некоторые службы в Azure имеют специальную предварительно созданную панель мониторинга мониторинга в портал Azure, которая предоставляет отправную точку для мониторинга службы. Эти специальные панели мониторинга называются "аналитическими сведениями".

Аналитика Load Balancer включает следующие сведения:

  • Представление функциональной зависимости
  • Панель мониторинга "Метрики"
  • Вкладка «Обзор»
  • Вкладка "Доступность интерфейсного сервера и внутреннего пула"
  • Вкладка "Пропускная способность данных"
  • Распределение потока
  • Мониторы подключения
  • Определения метрик

Дополнительные сведения об аналитике Load Balancer см. в статье Использование аналитики для мониторинга и настройки Azure Load Balancer.

Данные мониторинга

Load Balancer собирает данные мониторинга тех же типов, что и другие ресурсы Azure, описанные в статье Мониторинг данных ресурсов Azure.

Подробные сведения о метриках и журналах, создаваемых службой Load Balancer, см. в справочнике по данным мониторинга Load Balancer.

Load Balancer предоставляет другие данные мониторинга с помощью:

Сбор и маршрутизация

Метрики платформы и журнал действий собираются и сохраняются автоматически, но их можно направить в другие расположения с помощью параметра диагностики.

Журналы ресурсов не собираются и не сохраняются, пока вы не создадите параметр диагностики и не начнете передавать их в одно расположение или несколько.

Создание параметра диагностики

Вы можете создать параметр диагностики с помощью портала Azure, PowerShell или Azure CLI.

Общие рекомендации см. в разделе Создание параметров диагностики для сбора журналов платформы и метрик в Azure.

Создавая параметр диагностики, нужно указать, какие категории журналов должны собираться. Категория для Load Balancer — AllMetrics.

Портал

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портала введите Подсистема балансировки нагрузки.

  3. В результатах поиска выберите Подсистема балансировки нагрузки.

  4. Выберите подсистему балансировки нагрузки. В этом примере используется myLoadBalancer.

  5. В разделе Мониторинг для myLoadBalancer выберите Параметры диагностики.

  6. На странице Параметры диагностики нажмите кнопку + Добавить параметр диагностики.

  7. На странице Параметр диагностики введите или выберите указанные ниже сведения.

    Параметр Значение
    Имя параметра диагностики Введите имя параметра диагностики.
    Сведения о категории
    Метрика Выберите AllMetrics.
  8. Выберите элемент Сведения о назначении. Ниже перечислены некоторые из вариантов назначения.

    • Отправить в Log Analytics.
      • Выберите подписку и рабочую область Log Analytics.
    • Архивировать в учетной записи хранения.
      • Выберите подписку и учетную запись хранения.
    • Передать в концентратор событий.
      • Выберите подписку, пространство имен концентратора событий, имя концентратора событий (необязательно) и имя политики концентратора событий.
  9. Выберите Сохранить.

PowerShell

Войдите в Azure PowerShell.

Connect-AzAccount 

Рабочая область Log Analytics

Введите эти команды для отправки журналов ресурсов в рабочую область Log Analytics. Замените значения в скобках своими значениями:

## Place the load balancer in a variable. ##
$lbpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
    
## Place the workspace in a variable. ##
$wspara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-log-analytics-workspace-name>
}
$ws = Get-AzOperationalInsightsWorkspace @wspara
    
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
    -ResourceId $lb.id `
    -Name <your-diagnostic-setting-name> `
    -Enabled $true `
    -MetricCategory 'AllMetrics' `
    -WorkspaceId $ws.ResourceId

Storage account

Чтобы отправить журналы ресурсов в учетную запись хранения, введите эти команды. Замените значения в скобках своими значениями:

## Place the load balancer in a variable. ##
$lbpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
    
## Place the storage account in a variable. ##
$storpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-storage-account-name>
}
$storage = Get-AzStorageAccount @storpara
    
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
    -ResourceId $lb.id `
    -Name <your-diagnostic-setting-name> `
    -StorageAccountId $storage.id `
    -Enabled $true `
    -MetricCategory 'AllMetrics'

концентратор событий;

Чтобы отправить журналы ресурсов в пространство имен концентратора событий, введите эти команды. Замените значения в скобках своими значениями:

## Place the load balancer in a variable. ##
$lbpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
    
## Place the event hub in a variable. ##
$hubpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-event-hub-name>
}
$eventhub = Get-AzEventHubNamespace @hubpara

## Place the event hub authorization rule in a variable. ##    
$hubrule = @{
    ResourceGroupName = 'myResourceGroup'
    Namespace = 'myeventhub8675'
}
$eventhubrule = Get-AzEventHubAuthorizationRule @hubrule

## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
    -ResourceId $lb.Id `
    -Name 'myDiagSetting-event'`
    -EventHubName $eventhub.Name `
    -EventHubAuthorizationRuleId $eventhubrule.Id `
    -Enabled $true `
    -MetricCategory 'AllMetrics'

Azure CLI

Войдите в Azure CLI:

az login

Рабочая область Log Analytics

Введите эти команды для отправки журналов ресурсов в рабочую область Log Analytics. Замените значения в скобках своими значениями:

lbid=$(az network lb show \
    --name <your-load-balancer-name> \
    --resource-group <your-resource-group> \
    --query id \
    --output tsv)

wsid=$(az monitor log-analytics workspace show \
    --resource-group <your-resource-group> \
    --workspace-name <your-log-analytics-workspace-name> \
    --query id \
    --output tsv)
    
az monitor diagnostic-settings create \
    --name <your-diagnostic-setting-name> \
    --resource $lbid \
    --metrics '[{"category": "AllMetrics","enabled": true}]' \
    --workspace $wsid

Storage account

Чтобы отправить журналы ресурсов в учетную запись хранения, введите эти команды. Замените значения в скобках своими значениями:

lbid=$(az network lb show \
    --name <your-load-balancer-name> \
    --resource-group <your-resource-group> \
    --query id \
    --output tsv)

storid=$(az storage account show \
        --name <your-storage-account-name> \
        --resource-group <your-resource-group> \
        --query id \
        --output tsv)
    
az monitor diagnostic-settings create \
    --name <your-diagnostic-setting-name> \
    --resource $lbid \
    --metrics '[{"category": "AllMetrics","enabled": true}]' \
    --storage-account $storid

концентратор событий;

Чтобы отправить журналы ресурсов в пространство имен концентратора событий, введите эти команды. Замените значения в скобках своими значениями:

lbid=$(az network lb show \
    --name <your-load-balancer-name> \
    --resource-group <your-resource-group> \
    --query id \
    --output tsv)

az monitor diagnostic-settings create \
    --name myDiagSetting-event \
    --resource $lbid \
    --metrics '[{"category": "AllMetrics","enabled": true}]' \
    --event-hub-rule /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.EventHub/namespaces/<your-event-hub-namespace>/authorizationrules/RootManageSharedAccessKey

Метрики и журналы, которые можно собрать, описываются в следующих разделах.

Анализ метрик

Вы можете анализировать метрики Load Balancer вместе с метриками из других служб Azure с помощью обозревателя метрик. Для этого выберите пункт Метрики в меню Azure Monitor. Дополнительные сведения об использовании этого средства см . в обозревателе метрик Azure Monitor.

Список собираемых для Load Balancer метрик платформы приведен в разделе Метрики справочника по мониторингу данных Load Balancer.

Для справки можно просмотреть список всех метрик ресурсов, поддерживаемых Azure Monitor.

анализ журналов;

Данные в журналах Azure Monitor хранятся в таблицах, каждая из которых имеет собственный набор уникальных свойств.

Журнал действий — это журнал платформы, который предоставляет аналитические сведения о событиях уровня подписки. Вы можете просмотреть их независимо или направить в журналы Azure Monitor, где можно выполнять гораздо более сложные запросы с помощью Log Analytics.

Список таблиц, используемых журналами Azure Monitor и доступных для запросов из Log Analytics, см. в справочнике по данным мониторинга службы Load Balancer.

Анализ трафика подсистемы балансировки нагрузки с помощью журналов потоков NSG

Журналы потоков NSG — это функция Azure Наблюдатель за сетями, которая позволяет регистрировать сведения о IP-трафике, проходящих через группу безопасности сети. Данные потока отправляются в служба хранилища Azure, откуда вы можете получить доступ к нему и экспортировать их в любое средство визуализации, решение для управления сведениями о безопасности и событиями (SIEM) или систему обнаружения вторжений (IDS) по вашему усмотрению.

Журналы потоков NSG можно использовать для анализа трафика, который проходит через подсистему балансировки нагрузки. Обратите внимание, что журналы потоков NSG не содержат внешний IP-адрес подсистем балансировки нагрузки. Чтобы проанализировать трафик, поступающий в подсистему балансировки нагрузки, журналы потоков NSG должны быть отфильтрованы по частным IP-адресам членов внутреннего пула подсистемы балансировки нагрузки.

видны узлы

Оповещения Azure Monitor заблаговременно уведомляют вас при обнаружении важных условий в данных мониторинга. Они позволяют выявлять и устранять проблемы в системе до того, как ваши клиенты заметят их. Оповещения можно настроить для метрик, журналов и журнала действий. Различные типы оповещений имеют преимущества и недостатки.

При создании или запуске приложения, работающего в Load Balancer, приложение Azure Monitor Аналитика предлагает другие типы оповещений.

В таблице ниже приведены типичные и рекомендуемые правила генерации оповещений для Load Balancer.

Тип оповещения Условие Description
Правило балансировки нагрузки недоступно из-за недоступности виртуальных машин Если доступность пути данных разделена по IP-адресу frontend и интерфейсным портам (все известные и будущие значения) равно нулю, а в дополнительном оповещении, если состояние пробы работоспособности равно нулю, то оповещения о срабатывании Эти оповещения помогают определить, является ли доступность пути к данным для любых настроенных правил балансировки нагрузки не обслуживает трафик из-за всех виртуальных машин в связанном серверном пуле, который проверяется с помощью настроенной пробы работоспособности. Чтобы исследовать потенциальную первопричину, ознакомьтесь с руководством по устранению неполадок подсистемы балансировки нагрузки.
Доступность виртуальной машины очень низкая Если состояние пробы работоспособности, разделенное ip-адресом серверной части и серверным портом, равным определяемой пользователем проценту от общего размера пула (то есть 25 % пробы вверх), то оповещение о пожаре Это оповещение определяет, меньше ли доступных виртуальных машин, чем нужно, для обработки трафика.
Сбой исходящих подключений к конечной точке в Интернете Если число подключений SNAT, отфильтрованное по условию "Состояние подключения = сбой", больше нуля, срабатывает оповещение Это оповещение срабатывает, когда порты SNAT исчерпаны и виртуальные машины не могут инициировать исходящие подключения.
Порты SNAT почти исчерпаны Если количество используемых портов SNAT превышает заданное пользователем значение, срабатывает оповещение. Для этого оповещения требуется статическая конфигурация исходящих подключений, в которой всегда выделяется одинаковое число портов. Оно срабатывает, когда используется заданный процент выделенных портов.

Следующие шаги