Поделиться через


Отправка метрик в Azure Monitor

Периодически можно экспортировать метрики мониторинга, а затем отправлять их в Azure. Экспорт и отправка данных также создает и обновляет контроллер данных, управляемый экземпляр SQL и ресурсы сервера PostgreSQL в Azure.

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

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

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

Отправка метрик для контроллера данных Azure Arc в прямом режиме

В режиме прямого подключения метрики можно настроить только в автоматическом режиме. Эту автоматическую отправку метрик можно настроить во время развертывания контроллера данных Azure Arc или после развертывания. Управляемое удостоверение расширения служб данных Arc используется для отправки метрик. Управляемое удостоверение должно быть назначено роли издателя метрик мониторинга.

Примечание.

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

В примерах в этой статье используются угловые скобки < ... > для определения значений, которые необходимо заменить перед запуском скрипта. Замените квадратные скобки и значения внутри квадратных скобок.

(1) Получение управляемого удостоверения у расширения контроллера данных Azure Arc

$Env:MSI_OBJECT_ID = (az k8s-extension show --resource-group <resource group>  --cluster-name <connectedclustername> --cluster-type connectedClusters --name <name of extension> | convertFrom-json).identity.principalId
#Example
$Env:MSI_OBJECT_ID = (az k8s-extension show --resource-group myresourcegroup  --cluster-name myconnectedcluster --cluster-type connectedClusters --name ads-extension | convertFrom-json).identity.principalId

(2) Назначение роли управляемому удостоверению

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

az role assignment create --assignee $Env:MSI_OBJECT_ID --role 'Monitoring Metrics Publisher' --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP_NAME"

Автоматическая отправка метрик может быть включена следующим образом:

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-metrics true
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-metrics true

Чтобы отключить автоматическую отправку метрик в Azure Monitor, выполните следующую команду:

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-metrics false
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-metrics false

Отправка метрик для контроллера данных Azure Arc в косвенном режиме

В косвенном режиме подключения субъект-служба используется для отправки метрик.

Необходимые компоненты

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

Задание переменных среды и подтверждение

Задайте URL-адрес центра SPN в переменной среды.

$Env:SPN_AUTHORITY='https://login.microsoftonline.com'

Проверьте, что заданы все необходимые переменные среды.

$Env:SPN_TENANT_ID
$Env:SPN_CLIENT_ID
$Env:SPN_CLIENT_SECRET
$Env:SPN_AUTHORITY

Отправка метрик в Azure Monitor

Чтобы отправить метрики для Управляемый экземпляр SQL включено Azure Arc и PostgreSQL с поддержкой Azure Arc, выполните следующие команды CLI:

  1. Экспортируйте все метрики в указанный файл:

Примечание.

Для экспорта сведений о потреблении/выставлении счетов, метрик и журналов с помощью команды az arcdata dc export на данный момент требуется обход проверки SSL. Вам будет предложено обойти проверку SSL, или можно задать переменную среды AZDATA_VERIFY_SSL=no, чтобы избежать отображения запроса. В настоящее время нет возможности настроить SSL-сертификат для API экспорта контроллера данных.

az arcdata dc export --type metrics --path metrics.json --k8s-namespace arc
  1. Отправьте метрики в Azure Monitor

    az arcdata dc upload --path metrics.json
    

    Примечание.

    Подождите как минимум 30 минут после создания экземпляров данных с поддержкой Azure Arc для первой отправки.

    Обязательно upload метрики сразу после export, поскольку Azure Monitor принимает метрики только за последние 30 минут. Подробнее.

Если во время экспорта появится ошибка "Не удалось получить метрики", проверьте, задано ли значение true для сбора данных, выполнив следующую команду:

az arcdata dc config show  --k8s-namespace arc --use-k8s

Обратитесь в "раздел безопасности"

 "security": {
      "allowDumps": true,
      "allowNodeMetricsCollection": true,
      "allowPodMetricsCollection": true,
    },

Убедитесь, что для свойств allowNodeMetricsCollection и allowPodMetricsCollection задано значение true.

Просмотр метрик на портале

После отправки метрик их можно просмотреть на портале Azure.

Примечание.

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

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

Вы можете просмотреть использование ЦП на странице "Обзор". Если вам нужны более подробные метрики, щелкните их на левой панели навигации, чтобы открыть.

Выберите sql server или postgres в качестве пространства имен метрик.

Выберите метрику, которую вы хотите визуализировать (можно также выбрать несколько).

Измените частоту на последние 30 минут.

Примечание.

Можно отправлять метрики только за последние 30 минут. Azure Monitor отклоняет метрики, созданные раньше чем за 30 минут.

Автоматизация отправки (необязательно)

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

В избранном редакторе текста и кода добавьте следующий скрипт в файл и сохраните его в виде исполняемого файла скрипта, например .sh (Linux/Mac), .cmd.batили .ps1.

az arcdata dc export --type metrics --path metrics.json --force  --k8s-namespace arc
az arcdata dc upload --path metrics.json

Сделайте файл скрипта исполняемым

chmod +x myuploadscript.sh

Запускайте скрипт каждые 20 минут.

watch -n 1200 ./myuploadscript.sh

Можно также использовать планировщик заданий, например cron, или планировщик задач Windows, или оркестратор, например Ansible, Puppet или Chef.

Общие рекомендации по экспорту и отправке данных об использовании, метрик

Операции создания, чтения, обновления и удаления (CRUD) в службах данных с поддержкой Azure Arc регистрируются для выставления счетов и мониторинга. Существуют фоновые службы, которые отслеживают эти операции CRUD и соответствующим образом рассчитывают потребление. Фактическое вычисление использования или потребления происходит по расписанию и выполняется в фоновом режиме.

Отправляйте информацию об использовании только один раз в день. Когда информация об использовании экспортируется и отправляется несколько раз за 24-часовой период, на портале Azure обновляются только данные инвентаризации ресурсов, но не данные об их использовании.

При отправке метрик Azure Monitor принимает данные только за последние 30 минут (Подробнее). Рекомендацией по отправке метрик является оправка метрик сразу после создания файла экспорта, чтобы можно было просмотреть весь набор данных на портале Azure. Например, если метрики экспортированы в 14:00, команда отправки выполняется в 14:50. Поскольку Azure Monitor принимает данные только за последние 30 минут, данные на портале могут не отображаться.

Отправка журналов в Azure Monitor

Отправка данных об использовании, метрик и журналов в Azure Monitor

Отправка данных о выставлении счетов в Azure и их просмотр на портале Azure

Просмотр ресурса контроллера данных Azure Arc на портале Azure