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


Мониторинг Azure Управляемый экземпляр для Apache Cassandra с помощью Azure Monitor

Azure Управляемый экземпляр для Apache Cassandra предоставляет метрики и журналы диагностики с помощью Azure Monitor.

Azure Управляемый экземпляр для метрик Apache Cassandra

Вы можете визуализировать метрики для Azure Управляемый экземпляр для Apache Cassandra в портал Azure, перейдя в ресурс кластера и выбрав метрики. Затем можно выбрать доступные метрики и агрегаты.

Снимок экрана: панель метрик на портале Azure.

Параметры диагностики в Azure

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

Метрики платформы и журналы действий собираются автоматически. Необходимо создать параметр диагностики для сбора журналов ресурсов или пересылки их за пределами Azure Monitor. Вы можете включить параметры диагностики для ресурсов кластера Apache Cassandra для Azure Управляемый экземпляр и отправить журналы ресурсов в следующие источники:

  • область Azure Log Analytics. Данные, отправляемые в рабочие области Log Analytics, записываются в таблицы Диагностика Azure (устаревшая версия) или таблицы для конкретных ресурсов (предварительная версия).
  • Концентратор событий.
  • учетной записи хранения.

Примечание.

Рекомендуется создать параметр диагностики в режиме, специфичном для ресурса.

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

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

  2. Перейдите к ресурсу кластера Apache Cassandra в Azure Управляемый экземпляр.

    Снимок экрана: выбор кластера из списка ресурсов.

  3. Выберите параметры диагностики в разделе "Мониторинг " и нажмите кнопку "Добавить параметр диагностики".

    Снимок экрана: панель параметров диагностики и кнопка для добавления параметра диагностики.

  4. На панели параметров диагностики выберите имя параметра.

  5. В разделе "Сведения о категории" выберите категории. Категория CassandraLogs записывает операции сервера Cassandra. Операции аудита и языка запросов CassandraAudit записывают операции аудита и языка запросов Cassandra (CQL).

  6. В разделе "Сведения о назначении" выберите предпочитаемое место для журналов. Чтобы отправить журналы в рабочую область Log Analytics, не забудьте выбрать Специфичное для ресурса в качестве целевой таблицы.

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

    Примечание.

    Если вы отправляете журналы в рабочую область Log Analytics, они могут занять до 20 минут. До этого таблицы, относящиеся к ресурсам, отображаемые в разделе "Управляемый экземпляр Azure для Apache Cassandra", не отображаются.

  7. После настройки журналов диагностики и потоков данных можно выбрать журналы и запросить доступные журналы диагностики с помощью Azure Data Explorer. Дополнительные сведения о Azure Monitor и язык запросов Kusto см. в разделе "Запросы журнала" в Azure Monitor.

    Снимок экрана: журналы запросов.

Создание параметра диагностики с помощью Azure CLI

Чтобы создать параметр диагностики с помощью Azure CLI, используйте команду az monitor diagnostic-settings create :

logs='[{"category":"CassandraAudit","enabled":true,"retentionPolicy":{"enabled":true,"days":3}},{"category":"CassandraLogs","enabled":true,"retentionPolicy":{"enabled":true,"days":3}}]'
resourceId='/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.DocumentDB/cassandraClusters/{CLUSTER_NAME}'
workspace='/subscriptions/{SUBSCRIPTION_ID}/resourcegroups/{RESOURCE_GROUP}/providers/microsoft.operationalinsights/workspaces/{WORKSPACE_NAME}'

az monitor diagnostic-settings create  --name tvk-diagnostic-logs-cassandra --resource $resourceId --logs  $logs --workspace $workspace --export-to-resource-specific true

Создание параметра диагностики с помощью REST API

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

Примечание.

Рекомендуется задать logAnalyticsDestinationType свойство для включения таблиц, относящихся к Dedicated ресурсам.

Запросить

PUT
https://management.azure.com/{resource-id}/providers/microsoft.insights/diagnosticSettings/service?api-version={api-version}

Заголовки

Параметры и заголовки Значение и описание
name Имя параметра диагностики
resourceUri subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.DocumentDb/databaseAccounts/{ACCOUNT_NAME}/providers/microsoft.insights/diagnosticSettings/{DIAGNOSTIC_SETTING_NAME}
api-version 2017-05-01-preview
Content-Type application/json

Текст

{
    "id": "/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.DocumentDb/databaseAccounts/{ACCOUNT_NAME}/providers/microsoft.insights/diagnosticSettings/{DIAGNOSTIC_SETTING_NAME}",
    "type": "Microsoft.Insights/diagnosticSettings",
    "name": "name",
    "location": null,
    "kind": null,
    "tags": null,
    "properties": {
        "storageAccountId": null,
        "serviceBusRuleId": null,
        "workspaceId": "/subscriptions/{SUBSCRIPTION_ID}/resourcegroups/{RESOURCE_GROUP}/providers/microsoft.operationalinsights/workspaces/{WORKSPACE_NAME}",
        "eventHubAuthorizationRuleId": null,
        "eventHubName": null,
        "logs": [
            {
                "category": "CassandraAudit",
                "categoryGroup": null,
                "enabled": true,
                "retentionPolicy": {
                    "enabled": false,
                    "days": 0
                }
            },
            {
                "category": "CassandraLogs",
                "categoryGroup": null,
                "enabled": true,
                "retentionPolicy": {
                    "enabled": false,
                    "days": 0
                }
            }
        ],
        "logAnalyticsDestinationType": "Dedicated"
    },
    "identity": null
}

Список разрешений аудита

Примечание.

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

По умолчанию ведение журнала аудита создает запись для каждой попытки входа и запроса CQL. Результат может быть подавляющим и увеличить расходы. Для управления этой ситуацией можно использовать список разрешений для выборочного включения или исключения определенных записей аудита.

Cassandra 3.11

В Cassandra 3.11 можно использовать функцию списка разрешений аудита, чтобы задать, какие операции не создают запись аудита. Функция списка разрешений аудита включена по умолчанию в Cassandra 3.11. Сведения о настройке списка разрешений см. в статье "Управление списками разрешений на основе ролей".

Примеры:

  • Чтобы отфильтровать все SELECT и MODIFY операции для пользователя bob из журнала аудита, выполните следующие инструкции:

    cassandra@cqlsh> ALTER ROLE bob WITH OPTIONS = { 'GRANT AUDIT WHITELIST FOR SELECT' : 'data' };
    cassandra@cqlsh> ALTER ROLE bob WITH OPTIONS = { 'GRANT AUDIT WHITELIST FOR MODIFY' : 'data' };
    
  • Чтобы отфильтровать все SELECT операции на таблице decisions в ключевом пространстве design для пользователя jim из журнала аудита, выполните следующую команду:

    cassandra@cqlsh> ALTER ROLE jim WITH OPTIONS = { 'GRANT AUDIT WHITELIST FOR SELECT' : 'data/design/decisions' };
    
  • Чтобы отозвать список разрешений для пользователя bob во всех его операциях SELECT, выполните следующую инструкцию:

    cassandra@cqlsh> ALTER ROLE bob WITH OPTIONS = { 'REVOKE AUDIT WHITELIST FOR SELECT' : 'data' };
    
  • Чтобы просмотреть текущие списки разрешений, выполните следующий запрос:

    cassandra@cqlsh> LIST ROLES;
    

Cassandra 4 и более поздних версий

В Cassandra 4 и более поздних версиях можно настроить список разрешений в конфигурации Cassandra. Дополнительные сведения см. в разделе "Обновление конфигурации Cassandra". Доступные варианты приведены следующим образом (справочная документация по Cassandra для ведения журнала аудита):

audit_logging_options:
    included_keyspaces: <Comma separated list of keyspaces to be included in audit log, default - includes all keyspaces>
    excluded_keyspaces: <Comma separated list of keyspaces to be excluded from audit log, default - excludes no keyspace except system, system_schema and system_virtual_schema>
    included_categories: <Comma separated list of Audit Log Categories to be included in audit log, default - includes all categories>
    excluded_categories: <Comma separated list of Audit Log Categories to be excluded from audit log, default - excludes no category>
    included_users: <Comma separated list of users to be included in audit log, default - includes all users>
    excluded_users: <Comma separated list of users to be excluded from audit log, default - excludes no user>

Доступные категории: QUERY, DML, DDLDCLOTHER, , AUTH, . ERRORPREPARE

Ниже приведен пример конфигурации:

audit_logging_options:
    included_keyspaces: keyspace1,keyspace2
    included_categories: AUTH,ERROR,DCL,DDL

По умолчанию наборы included_categoriesAUTH,ERROR,DCL,DDLконфигураций — .

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