Supervisión de Azure Managed Instance for Apache Cassandra con Azure Monitor

Azure Managed Instance for Apache Cassandra proporciona métricas y registro de diagnóstico mediante Azure Monitor.

Métricas de Azure Managed Instance for Apache Cassandra

Puede visualizar las métricas de Azure Managed Instance for Apache Cassandra en Azure Portal; para ello, vaya al recurso del clúster y seleccione Métricas. Posteriormente, puede elegir entre las métricas y agregaciones disponibles.

Screenshot that shows the Metrics pane in the Azure portal.

Configuración de diagnóstico en Azure

Azure Monitor usa la configuración de diagnóstico para recopilar registros de recursos, que también se denominan registros del plano de datos. Un recurso de Azure emite registros de recursos para proporcionar datos completos y frecuentes sobre sus operaciones. Azure Monitor captura estos registros por solicitud. Algunos ejemplos de operaciones del plano de datos son delete, insert y readFeed. El contenido de estos registros varía según el tipo de recurso.

Las métricas de la plataforma y los registros de actividad se recopilan automáticamente, mientras que debe crear una configuración de diagnóstico para recopilar registros de recursos o reenviarlos fuera de Azure Monitor. Puede activar la configuración de diagnóstico para los recursos de clúster de Azure Managed Instance for Apache Cassandra y enviar registros de recursos a los siguientes orígenes:

  • Área de trabajo de Log Analytics. Los datos enviados al área de trabajo de Log Analytics se pueden escribir en tablas de Azure Diagnostics (heredadas) o específicas del recurso (versión preliminar).
  • Centro de eventos.
  • Cuenta de almacenamiento.

Nota:

Se recomienda crear la configuración de diagnóstico de forma específica para el recurso.

Creación de la configuración de diagnóstico en Azure Portal

  1. Inicie sesión en Azure Portal.

  2. Vaya al recurso de clúster de Azure Managed Instance for Apache Cassandra.

    Screenshot that shows selecting a cluster from a list of resources.

  3. Seleccione Configuración de diagnóstico en la sección Supervisión y seleccione Agregar configuración de diagnóstico.

    Screenshot that shows the pane for diagnostic settings and the button for adding a diagnostic setting.

  4. En el panel Configuración de diagnóstico, elija un nombre para la configuración.

    A continuación, en Detalles de categoría, seleccione las categorías. La categoría CassandraLogs registra las operaciones del servidor de Cassandra. La categoría CassandraAudit registra las operaciones de auditoría y lenguaje de consulta Cassandra (CQL).

    En Detalles de destino, elija el destino preferido para los registros. Si va a enviar los registros a un área de trabajo de Log Analytics, asegúrese de seleccionar Específico del recurso como tabla de destino.

    Screenshot that shows selections for a diagnostic setting.

    Nota:

    Si va a enviar registros a un área de trabajo de Log Analytics, los registros pueden tardar hasta 20 minutos en aparecer. Hasta entonces, las tablas específicas del recurso (que se muestran debajo de Azure Managed Instance for Apache Cassandra) no estarán visibles.

  5. Una vez configurado el registro de diagnóstico y después de que los datos fluyan, puede ir a la pestaña Registros y consultar los registros de diagnóstico disponibles mediante Azure Data Explorer. Para obtener más información sobre el lenguaje de consulta Kusto y Azure Monitor, consulte Consultas de registro en Azure Monitor.

    Screenshot that shows query logs.

Creación de una configuración de diagnóstico mediante la CLI de Azure

Para crear una configuración de diagnóstico mediante la CLI de Azure, use el comando 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

Creación de una configuración de diagnóstico mediante la API de REST

Use la API REST de Azure Monitor para crear una configuración de diagnóstico a través de la consola interactiva.

Nota:

Se recomienda establecer la propiedad logAnalyticsDestinationType en Dedicated para habilitar tablas específicas del recurso.

Solicitud

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

encabezados

Parámetros y encabezados Valor y descripción
name El nombre de la configuración de diagnóstico
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

Cuerpo

{
    "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
}

Lista de permitidos de auditoría

Nota:

Este artículo contiene referencias al término lista blanca, que Microsoft ya no usa. Cuando se elimine el término del software, se eliminará también de este artículo.

De manera predeterminada, el registro de auditoría crea un registro para cada intento de inicio de sesión y consulta CQL. El resultado puede ser abrumador y aumentar la sobrecarga. Para gestionar esta situación, puede usar una lista blanca para incluir o excluir de forma selectiva registros de auditoría específicos.

Cassandra 3.11

En Cassandra 3.11, puede usar la característica de lista blanca de auditoría para establecer qué operaciones no crean un registro de auditoría. La característica de lista de permitidos de auditoría está habilitada de forma predeterminada en Cassandra 3.11. Para obtener información sobre cómo configurar la lista de permitidos, consulte Administración de listas blancas basadas en roles.

Ejemplos:

  • Para filtrar todas las operaciones SELECT y MODIFY del usuario bob del registro de auditoría, ejecute las siguientes instrucciones:

    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' };
    
  • Para filtrar todas las operaciones SELECT, en la tabla decisions del espacio de claves design para el usuario jim desde el registro de auditoría, ejecute la siguiente instrucción:

    cassandra@cqlsh> ALTER ROLE jim WITH OPTIONS = { 'GRANT AUDIT WHITELIST FOR SELECT' : 'data/design/decisions' };
    
  • Para revocar la lista blanca para el usuario bob en todas las operaciones SELECT del usuario, ejecute la siguiente instrucción:

    cassandra@cqlsh> ALTER ROLE bob WITH OPTIONS = { 'REVOKE AUDIT WHITELIST FOR SELECT' : 'data' };
    
  • Para ver las listas blancas actuales, ejecute la siguiente instrucción:

    cassandra@cqlsh> LIST ROLES;
    

Cassandra 4 y versiones posteriores

En Cassandra 4 y versiones posteriores, puede configurar la lista blanca en la configuración de Cassandra. Para obtener instrucciones detalladas, consulte Actualización de la configuración de Cassandra. Las opciones disponibles son las siguientes (referencia: documentación de Cassandra para el registro de auditoría):

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>

Las categorías disponibles son: QUERY, DML, DDL, DCL, OTHER, AUTH, ERROR, PREPARE.

A continuación se muestra un ejemplo de configuración:

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

De forma predeterminada, la configuración establece included_categories en AUTH,ERROR,DCL,DDL.

Pasos siguientes