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


Мониторинг кэша Azure для Redis с помощью параметров диагностики

Кэш Azure для Redis предлагает два варианта мониторинга в параметрах диагностики:

  • Метрики кэша регистрируют метрики Azure Monitor о операциях кэша.
  • Журналы подключений регистрируют подключения к кэшу. Azure записывает эти журналы, также называемые журналами плоскости данных, на запрос. Содержимое журналов подключений зависит от типа ресурса.

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

Область доступности

Уровень Базовый, Стандартный и Премиум "Корпоративный" и Enterprise Flash
Метрики кэша Да Да
Журналы подключений Да Да

Метрики кэша

Azure Redis выдает множество полезных метрик, таких как загрузка сервера и подключения в секунду. Полный список метрик Redis для Azure см. в разделе "Метрики".

Чтобы регистрировать метрики кэша, включите параметр AllMetrics в параметрах диагностики кэша в соответствии с инструкциями по уровню. Вы можете настроить, сколько времени хранятся метрики. Дополнительные сведения о ведении журнала и экспорте метрик см. в разделе "Кэш Azure для Redis".

Журналы подключений

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

Примечание.

Вы всегда можете использовать команды redis-cli INFO или CLIENT LIST , чтобы проверить, кто подключен к экземпляру кэша по запросу.

Реализация журнала подключений и созданные журналы аналогичны уровням Redis Azure, но уровни "Базовый", "Стандартный" и "Премиум" имеют некоторые отличия от уровней Enterprise и Enterprise Flash.

Внимание

  • В уровнях "Базовый", "Стандартный" и "Премиум" ведение журнала подключений опрашивает текущие клиентские подключения в кэше. Те же IP-адреса клиента могут отображаться многократно, пока их соединения продолжаются.
  • На уровнях Enterprise и Enterprise Flash ведение журнала сосредоточено на событиях подключения. Ведение журнала происходит только при первом возникновении события подключения или другого события, связанного с подключением.

Требования и ограничения

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

Необходимо учитывать следующие ограничения.

  • Поскольку журналы подключений на этих уровнях состоят из моментальных снимков состояния, сделанных каждые 10 секунд, подключения, установленные и удаленные в течение 10-секундного интервала, не фиксируются.
  • События проверки подлинности и отключения не регистрируются.
  • Параметры диагностики могут занять до 90 минут, чтобы данные начали поступать в выбранное вами место назначения.
  • Ведение журнала подключений может привести к снижению производительности в кэше.
  • Для передачи журналов в Log Analytics поддерживается исключительно тарифный план "Analytics Logs". Дополнительные сведения см. на странице цен на Azure Monitor.

Внимание

При выборе журналов можно выбрать категории или группы категорий, которые являются предопределенными группами журналов в службах Azure. Если вы используете группы категорий, вы не можете настроить параметры хранения. Если необходимо задать длительность хранения для журналов подключений, выберите элемент в категориях . Дополнительные сведения см. в разделе "Группы категорий".

Целевое расположение для журналов

При включении параметров диагностики для экземпляра Redis Azure можно отправлять журналы ресурсов в следующие назначения:

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

  • Archive to a storage account (Архивировать в учетной записи хранения). Учетная запись хранения должна находиться в том же регионе, что и кэш.

  • Stream to an event hub (Потоковая передача в концентратор событий). Концентратор событий должен находиться в том же регионе, что и кэш.

    Параметры диагностики не могут получить доступ к ресурсам концентратора событий, если виртуальные сети включены. Включите параметр Разрешить доверенным службам Microsoft обход этого брандмауэра в Центрах событий Azure, чтобы предоставить доступ к ресурсам концентратора событий.

  • Отправьте партнеру для решения. Список потенциальных решений для ведения журналов партнеров см. в статье Расширение Azure с помощью собственных интеграций Azure — данные и хранилище.

При отправке журналов диагностики в учетную запись хранения или концентратор событий взимается плата по стандартным тарифам за передачу данных для любого из этих пунктов назначения. Плата взимается в Azure Monitor, а не в Azure Cache для Redis. При отправке журналов в Log Analytics взимается плата только за прием данных Log Analytics. Дополнительную информацию о ценах см. на странице цен Azure Monitor.

Включение параметров диагностики с помощью портала Azure

  1. На странице портала Azure для кэша выберите параметры диагностики в разделе "Мониторинг " в области навигации слева.

  2. На странице параметров диагностики выберите "Добавить параметр диагностики".

    Снимок экрана: страница параметров диагностики с выделенным параметром

  3. На странице параметров диагностики введите имя параметра диагностики и выберите нужные параметры мониторинга. Например, выберите AllMetrics, чтобы регистрировать все метрики и allLogs, чтобы регистрировать и список подключенных клиентов, и журнал аудита проверки подлинности MSEntra.

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

    Снимок экрана, показывающий страницу настройки диагностики для кэша Premium.

Включение ведения журнала подключений с помощью REST API

Чтобы создать параметр диагностики, используйте REST API Azure Monitor в интерактивной консоли, как показано ниже. Дополнительные сведения см. в разделе "Параметры диагностики" — создание или обновление.

запрос

PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview

Параметры и заголовки

  • Content-Type: application/json
  • name: имя вашего параметра диагностики
  • resourceUri: subscriptions/<your subscription id>/resourceGroups/<cache resource group>/providers/Microsoft.Cache/Redis/<cache name>
  • api-version: 2017-05-01-preview

Пример текста

{
    "properties": {
      "storageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1",
      "eventHubAuthorizationRuleId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule",
      "eventHubName": "myeventhub",
      "workspaceId": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
      "logs": [
        {
          "category": "ConnectedClientList",
          "enabled": true,
          "retentionPolicy": {
            "enabled": false,
            "days": 0
          }
        }
      ]
    }
}

Включение ведения журнала подключений с помощью Azure CLI

Используйте команду Azure CLI az monitor diagnostic-settings create для создания параметра диагностики. Дополнительные сведения о описаниях команд и параметров см. в статье "Создание параметров диагностики для отправки журналов и метрик платформы в разные назначения".

В следующем примере показано, как использовать Azure CLI для потоковой передачи данных в четыре разных конечных точки:

az monitor diagnostic-settings create 
    --resource /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupname}/providers/Microsoft.Cache/Redis/{cacheName}
    --name {logName}
    --logs '[{"category": "ConnectedClientList","enabled": true,"retentionPolicy": {"enabled": false,"days": 0}}]'    
    --event-hub {eventHubName}
    --event-hub-rule /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/microsoft.eventhub/namespaces/{eventHubNamespace}/authorizationrule/{ruleName}
    --storage-account /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
    --workspace /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{logAnalyticsWorkspaceName}
    --marketplace-partner-id/subscriptions/{subscriptionID}/resourceGroups{resourceGroupname}/providers/Microsoft.Datadog/monitors/mydatadog

Содержимое журнала подключений

В категории журнала ConnectedClientList отображаются следующие поля и свойства. В Azure Monitor журналы собираются в ACRConnectedClientList таблице под именем MICROSOFT.CACHEпоставщика ресурсов.

Поле или свойство службы хранилища Azure Свойство журналов Azure Monitor Описание
time TimeGenerated Момент времени в UTC, когда был создан журнал.
location Location В регионе Azure, где был доступ к кэшу Redis Azure.
category Н/Д Доступна категория журнала ConnectedClientList.
resourceId _ResourceId Включены журналы ресурсов Redis в Azure.
operationName OperationName Операция Redis, связанная с записью журнала.
properties Н/Д См. следующие строки.
tenant CacheName Имя экземпляра Redis Для Azure.
roleInstance RoleInstance Экземпляр роли, зарегистрировавший список клиентов.
connectedClients.ip ClientIp IP-адрес клиента Redis.
connectedClients.privateLinkIpv6 PrivateLinkIpv6 Адрес IPv6 для частной связи клиента Redis, если применимо.
connectedClients.count ClientCount Число клиентских подключений Redis из связанного IP-адреса.

Пример журнала учетной записи хранения

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

{
    "time": "2021-08-05T21:04:58.0466086Z",
    "location": "canadacentral",
    "category": "ConnectedClientList",
    "properties": {
        "tenant": "mycache", 
        "connectedClients": [
            {
                "ip": "192.123.43.36", 
                "count": 86
            },
            {
                "ip": "10.1.1.4",
                "privateLinkIpv6": "fd40:8913:31:6810:6c31:200:a01:104", 
                "count": 1
            }
        ],
        "roleInstance": "1"
    },
    "resourceId": "/SUBSCRIPTIONS/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c/RESOURCEGROUPS/AZURE-CACHE/PROVIDERS/MICROSOFT.CACHE/REDIS/MYCACHE", 
    "Level": 4,
    "operationName": "Microsoft.Cache/ClientList"
}

Подробные сведения о создании параметра диагностики с помощью портала Azure, Azure CLI или Azure PowerShell см. в статье "Создание параметров диагностики для сбора журналов и метрик платформы в Azure".