Мониторинг данных Управляемого Redis (предварительная версия) Azure с помощью параметров диагностики
Параметры диагностики в Azure используются для сбора журналов ресурсов. Ресурс Azure выдает журналы ресурсов и предоставляет широкие и частые данные об операции этого ресурса. Эти журналы записываются на запрос и также называются журналами плоскости данных. Ознакомьтесь с параметрами диагностики в Azure Monitor , чтобы ознакомиться с рекомендуемыми функциями в Azure. Содержимое этих журналов зависит от типа ресурса. В Управляемом Redis Azure (предварительная версия) доступны два варианта для регистрации:
- Метрики кэша (то есть AllMetrics), используемые для регистрации метрик из Azure Monitor
- Журналы подключений регистрируют подключения к кэшу в целях безопасности и диагностики.
Метрики кэша
Управляемый Redis (предварительная версия) Azure выдает множество метрик, таких как загрузка сервера и подключения в секунду , которые полезны для журналов. Выбор параметра AllMetrics позволяет регистрировать эти и другие метрики кэша. Вы можете настроить, сколько времени хранятся метрики. См . здесь пример экспорта метрик кэша в учетную запись хранения.
Журналы подключений
Управляемый Redis Azure использует параметры диагностики Azure для регистрации сведений о клиентских подключениях к кэшу. Ведение журнала и анализ этого параметра диагностики помогает понять, кто подключается к вашим кэшам, и узнать метку времени этих подключений. Данные журнала можно использовать для определения области нарушения безопасности и в целях аудита безопасности.
Управляемый Redis Azure использует функции событий подключения аудита, встроенные в стек Redis Enterprise. События аудита подключения позволяют регистрировать все события подключения, отключения и проверки подлинности, включая события проверки подлинности сбоем.
Внимание
Ведение журнала в Управляемом Redis в Azure сосредоточено на каждом событии подключения. Журналы происходят только при первом возникновении фактического события.
Предварительные требования и ограничения ведения журнала подключений
- При использовании политики кластеров OSS журналы создаются из каждого узла данных. При использовании корпоративной политики кластера только узел, используемый в качестве прокси-сервера, выдает журналы. Обе версии по-прежнему охватывают все подключения к кэшу. Это просто разница в архитектуре.
- Потеря данных (т. е. отсутствие события подключения) является редкой, но возможной. Потеря данных обычно вызвана проблемами сети.
- Журналы отключения пока не полностью стабильны и события могут быть пропущены.
- Так как журналы подключений в Управляемом Redis Azure основаны на событиях, будьте осторожны с политиками хранения. Например, если срок хранения равен 10 дней, а событие подключения произошло 15 дней назад, это подключение может по-прежнему существовать, но журнал для этого подключения не сохраняется.
- При использовании активной георепликации необходимо настроить ведение журнала для каждого экземпляра кэша в группе георепликации по отдельности.
- Все параметры диагностики могут занять до 90 минут , чтобы начать поток в выбранное место назначения.
- Включение журналов подключений может привести к снижению производительности экземпляра Redis.
Примечание.
Всегда можно использовать команды INFO или CLIENT LIST , чтобы проверить, кто подключен к экземпляру кэша по запросу.
Внимание
При выборе журналов можно выбрать определенные группы категорий или категорий, которые являются предопределенными группами журналов в службах Azure. При использовании групп категорий больше не удается настроить параметры хранения. Если необходимо определить длительность хранения для журналов подключений, выберите элемент в разделе "Категории ".
Назначения журналов
Вы можете включить параметры диагностики для экземпляров Управляемого Redis в Azure и отправить журналы ресурсов в следующие назначения:
- Рабочая область Log Analytics — не обязательно должна находиться в том же регионе, что и отслеживаемый ресурс.
- Учетная запись хранения — должна находиться в том же регионе, что и кэш. Однако учетные записи хранения класса Premium не поддерживаются в качестве назначения.
- Концентратор событий — параметры диагностики не могут получить доступ к ресурсам концентраторов событий, если включены виртуальные сети. Установите флажок Разрешить доверенным службам Майкрософт обходить этот параметр брандмауэра в концентраторах событий, чтобы предоставить доступ к ресурсам концентраторов событий. Концентратор событий должен находиться в том же регионе, что и кэш.
- Партнерское решение — список потенциальных решений для ведения журналов партнеров можно найти здесь
Дополнительные сведения о требованиях к диагностике см. в статье Параметры диагностики.
Вы взимаете обычные тарифы данных для учетной записи хранения и использования концентратора событий при отправке журналов диагностики в любое место назначения. Плата взимается в Azure Monitor, а не в Управляемом Redis Azure. При отправке журналов в Log Analytics оплачивается только прием данных в Log Analytics.
Дополнительные сведения о ценах см. на странице цен Azure Monitor.
Включение ведения журнала подключений с помощью портал Azure
Войдите на портал Azure.
Перейдите к учетной записи Управляемого Redis в Azure. Откройте область "Параметры диагностики— аудит" в разделе "Мониторинг" слева. Затем выберите Добавить параметр диагностики.
В области "Параметры диагностики — аудит" выберите события подключения из категорий.
Дополнительные сведения о зарегистрированных данных см. в разделе "Содержимое журналов подключений".
Выбрав события подключения, отправьте журналы в предпочитаемое место назначения. Выберите сведения в рабочей области.
Включение ведения журнала подключений с помощью 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/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/RedisEnterprise/{CACHE_NAME}/database/default |
api-version |
2017-05-01-preview |
Content-Type |
application/json |
Текст
{
"properties": {
"storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/myteststorage",
"eventHubAuthorizationRuleID": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule",
"eventHubName": "myeventhub",
"marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/mydatadog",
"workspaceId": "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
"logs": [
{
"category": "ConnectionEvents",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
Включение ведения журнала подключений с помощью Azure CLI
Используйте команду az monitor diagnostic-settings create
, чтобы создать параметр диагностики в Azure CLI. Дополнительные сведения о командах и параметрах см. в статье Создание параметров диагностики для отправки журналов платформы и метрик в различные места назначения. В этом примере показано, как использовать Azure CLI для потоковой передачи данных в четыре разных конечных точки:
az monitor diagnostic-settings create
--resource /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisenterprise/{cacheName}/databases/default
--name {logName}
--logs '[{"category": "ConnectionEvents","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
Содержимое журналов подключений
Эти поля и свойства отображаются в категории журнала ConnectionEvents
. В Azure Monitor данные журналов передаются в таблицу REDConnectionEvents
с именем поставщика ресурсов MICROSOFT.CACHE
.
Поле или свойство службы хранилища Azure | Свойство журналов Azure Monitor | Description |
---|---|---|
time |
TimeGenerated |
Метка времени (UTC) при записи журнала событий. |
location |
Location |
Доступ к расположению (региону) экземпляра Управляемого Redis в Azure. |
category |
Н/Д | Доступные категории журналов: ConnectionEvents . |
resourceId |
_ResourceId |
Ресурс Управляемого Redis Azure, для которого включены журналы. |
operationName |
OperationName |
Операция Redis, связанная с записью журнала. |
properties |
Н/Д | Содержимое этого поля описано в строках, приведенных ниже. |
eventEpochTime |
EventEpochTime |
Метка времени UNIX (количество секунд с 1 января 1970 г.), когда событие произошло в формате UTC. Метка времени можно преобразовать в формат datetime с помощью функции unixtime_seconds_todatetime в рабочей области Log Analytics. |
clientIP |
ClientIP |
IP-адрес клиента Redis. При использовании хранилища Azure IP-адрес — это формат IPv4 или IPv6 приватного канала на основе типа кэша. Если используется Log Analytics, результат всегда находится в IPv4, в качестве отдельного поля IPv6 предоставляется. |
Н/Д | PrivateLinkIPv6 |
Адрес IPv6 клиента Redis (только при использовании Приватный канал и log analytics). |
id |
ConnectionId |
Уникальный идентификатор подключения, назначенный Redis. |
eventType |
EventType |
Тип события подключения (new_conn, аутентификации или close_conn). |
eventStatus |
EventStatus |
Результаты запроса проверки подлинности в виде кода состояния (применимо только для события проверки подлинности). |
Примечание.
Если используется приватная ссылка, будет зарегистрирован только IPv6-адрес (если вы не выполняете потоковую передачу данных в log analytics). IPv6-адрес можно преобразовать в эквивалентный IPv4-адрес, просмотрев последние четыре байта данных в IPv6-адресе. Например, в адресе IPv6 приватного канала "fd40:8913:31:6810:6c31:200:a01:104", последние четыре байта в шестнадцатеричном формате : "0a", "01", "01" и "04". (Обратите внимание, что начальные нули опущены после каждой двоеточия.) Они соответствуют "10", "1", "1", "1" и "4" в десятичном разряде, что дает нам IPv4-адрес "10.1.1.4".
Пример журнала учетной записи хранения
Если вы отправляете журналы в учетную запись хранения, журнал события подключения выглядит следующим образом:
{
"time": "2023-01-24T10:00:02.3680050Z",
"resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
"category": "ConnectionEvents",
"location": "westus",
"operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
"properties": {
"eventEpochTime": 1674554402,
"id": 6185063009002,
"clientIP": "20.228.16.39",
"eventType": "new_conn"
}
}
Журнал события проверки подлинности выглядит следующим образом:
{
"time": "2023-01-24T10:00:02.3680050Z",
"resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
"category": "ConnectionEvents",
"location": "westus",
"operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
"properties": {
"eventEpochTime": 1674554402,
"id": 6185063009002,
"clientIP": "20.228.16.39",
"eventType": "auth",
"eventStatus": 8
}
}
Журнал события отключения выглядит следующим образом:
{
"time": "2023-01-24T10:00:03.3680050Z",
"resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
"category": "ConnectionEvents",
"location": "westus",
"operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
"properties": {
"eventEpochTime": 1674554402,
"id": 6185063009002,
"clientIP": "20.228.16.39",
"eventType": "close_conn"
}
}
Следующие шаги
Подробные инструкции по созданию параметра диагностики с помощью портала Azure, Azure CLI или PowerShell см. в статье Создание параметра диагностики для сбора журналов и метрик платформы в Azure.