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


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

Параметры диагностики в Azure используются для сбора журналов ресурсов. Ресурс Azure выдает журналы ресурсов и предоставляет широкие и частые данные об операции этого ресурса. Эти журналы записываются на запрос и также называются журналами плоскости данных. Ознакомьтесь с параметрами диагностики в Azure Monitor , чтобы ознакомиться с рекомендуемыми функциями в Azure. Содержимое этих журналов зависит от типа ресурса. В Кэш Azure для Redis для журнала доступны два варианта:

  • Метрики кэша (то есть AllMetrics), используемые для регистрации метрик из Azure Monitor
  • Подключение журналы журналов регистрирует подключения к кэшу в целях безопасности и диагностики.

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

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

Метрики кэша

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

Журналы Подключение ion

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

Различия между уровнями Кэш Azure для Redis

Реализация журналов подключений немного отличается от уровней:

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

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

Важно!

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

Предварительные требования и ограничения для ведения журнала Подключение ion

Уровни "Базовый", "Стандартный" и "Премиум"

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

Уровни "Корпоративный" и Enterprise Flash

  • При использовании политики кластеров OSS журналы создаются из каждого узла данных. При использовании корпоративной политики кластера только узел, используемый в качестве прокси-сервера, выдает журналы. Обе версии по-прежнему охватывают все подключения к кэшу. Это просто разница в архитектуре.
  • Потеря данных (т. е. отсутствие события подключения) является редкой, но возможной. Потеря данных обычно вызвана проблемами сети.
  • Журналы отключения пока не полностью стабильны и события могут быть пропущены.
  • Так как журналы подключений на уровнях Enterprise основаны на событиях, будьте осторожны с политиками хранения. Например, если срок хранения равен 10 дней, а событие подключения произошло 15 дней назад, это подключение может по-прежнему существовать, но журнал для этого подключения не сохраняется.
  • Если используется активное гео-реплика tion, ведение журнала необходимо настроить для каждого экземпляра кэша в группе гео-реплика по отдельности.
  • Все параметры диагностики могут занять до 90 минут , чтобы начать поток в выбранное место назначения.
  • Включение журналов подключений может привести к снижению производительности экземпляра кэша.

Примечание.

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

Важно!

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

Назначения журналов

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

  • Рабочая область Log Analytics — не обязательно должна находиться в том же регионе, что и отслеживаемый ресурс.
  • Учетная запись хранения — должна находиться в том же регионе, что и кэш. Однако учетные записи хранения класса Premium не поддерживаются в качестве назначения.
  • Концентратор событий — параметры диагностики не могут получить доступ к ресурсам концентраторов событий, если включены виртуальные сети. Установите флажок Разрешить доверенным службам Майкрософт обходить этот параметр брандмауэра в концентраторах событий, чтобы предоставить доступ к ресурсам концентраторов событий. Концентратор событий должен находиться в том же регионе, что и кэш.
  • Партнерское решение — список потенциальных решений для ведения журналов партнеров можно найти здесь

Дополнительные сведения о требованиях к диагностике см. в статье Параметры диагностики.

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

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

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

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

  2. Перейдите в учетную запись Кэша Azure для Redis. В разделе Мониторинг слева выберите Параметры диагностики. Затем выберите Добавить параметр диагностики.

    Select diagnostics

  3. В области параметров диагностики выберите Подключение edClientList из категорий.

    Дополнительные сведения о зарегистрированных данных см. в разделе "Содержимое журналов Подключение ion".

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

    Select enable resource-specific

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

Для создания параметра диагностики через интерактивную консоль используйте REST API Azure Monitor. Дополнительные сведения см. в статье о создании или обновлении фильтров учетной записи.

Запросить

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

Заголовки

Параметры и заголовки Значение и описание
name Имя параметра диагностики.
resourceUri subscriptions/{идентификатор_подписки}/resourceGroups/{имя_группы_ресурсов}/providers/Microsoft.Cache/Redis/{имя_кэша}
api-version 2017-05-01-preview
Content-Type application/json

Текст

{
    "properties": {
      "storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1",
      "eventHubAuthorizationRuleId": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule",
      "eventHubName": "myeventhub",
      "workspaceId": "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
      "logs": [
        {
          "category": "ConnectedClientList",
          "enabled": true,
          "retentionPolicy": {
            "enabled": false,
            "days": 0
          }
        }
      ]
    }
}

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

Используйте команду az monitor diagnostic-settings create, чтобы создать параметр диагностики в Azure CLI. Дополнительные сведения о командах и параметрах см. в статье Создание параметров диагностики для отправки журналов платформы и метрик в различные места назначения. В этом примере показано, как использовать 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}/proviers/Microsoft.Datadog/monitors/mydatadog

Содержимое журналов Подключение ion

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

Поле или свойство службы хранилища Azure Свойство журналов Azure Monitor Description
time TimeGenerated Метка времени создания журнала (в формате UTC).
location Location Расположение (регион), в котором осуществлялся доступ к экземпляру Кэша Azure для Redis.
category Н/Д Доступные категории журналов: ConnectedClientList.
resourceId _ResourceId Ресурс Кэша Azure для Redis, для которого включены журналы.
operationName OperationName Операция Redis, связанная с записью журнала.
properties Н/Д Содержимое этого поля описано в строках, приведенных ниже.
tenant CacheName Имя экземпляра Кэша Azure для Redis.
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/E6761CE7-A7BC-442E-BBAE-950A121933B5/RESOURCEGROUPS/AZURE-CACHE/PROVIDERS/MICROSOFT.CACHE/REDIS/MYCACHE", 
    "Level": 4,
    "operationName": "Microsoft.Cache/ClientList"
}

Запросы Log Analytics

Примечание.

Руководство по использованию Azure Log Analytics см. в разделе "Обзор Log Analytics" в Azure Monitor. Помните, что до 90 минут, прежде чем журналы отображаются в журнале Analtyics.

Ниже приведены некоторые базовые запросы для использования в качестве образца.

  • Подключения клиентов Кэша Azure для Redis за час в пределах указанного диапазона IP-адресов:
let IpRange = "10.1.1.0/24";
ACRConnectedClientList
// For particular datetime filtering, add '| where TimeGenerated between (StartTime .. EndTime)'
| where ipv4_is_in_range(ClientIp, IpRange)
| summarize ConnectionCount = sum(ClientCount) by TimeRange = bin(TimeGenerated, 1h)
  • Уникальные IP-адреса клиентов Redis, которые подключались к кэшу:
ACRConnectedClientList
| summarize count() by ClientIp

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

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