Freigeben über


Überwachen von Azure Managed Instance for Apache Cassandra mithilfe von Azure Monitor

Azure Managed Instance for Apache Cassandra bietet Metriken und Diagnoseprotokolle über Azure Monitor.

Azure Managed Instance for Apache Cassandra-Metriken

Sie können Metriken für Azure Managed Instance for Apache Cassandra im Azure-Portal visualisieren, indem Sie zu Ihrer Clusterressource wechseln und Metriken auswählen. Anschließend können Sie aus den verfügbaren Metriken und Aggregationen auswählen.

Screenshot: Bereich „Metriken“ im Azure-Portal

Diagnoseeinstellungen in Azure

Azure Monitor verwendet Diagnoseeinstellungen zum Sammeln von Ressourcenprotokollen, die auch als Datenebenenprotokolle bezeichnet werden. Eine Azure-Ressource gibt Ressourcenprotokolle aus, um umfangreiche, häufige Daten zu ihren Vorgängen bereitzustellen. Azure Monitor zeichnet diese Protokolle pro Anforderung auf. Beispiele für Datenebenenvorgänge sind „delete“, „insert“ und „readFeed“. Der Inhalt dieser Protokolle variiert je nach Ressourcentyp.

Plattformmetriken und Aktivitätsprotokolle werden automatisch gesammelt, während Sie eine Diagnoseeinstellung erstellen müssen, um Ressourcenprotokolle zu sammeln oder sie außerhalb von Azure Monitor weiterzuleiten. Sie können die Diagnoseeinstellungen für Azure Managed Instance for Apache Cassandra-Clusterressourcen aktivieren und Ressourcenprotokolle an die folgenden Quellen senden:

  • Log Analytics-Arbeitsbereich An Log Analytics-Arbeitsbereiche gesendete Daten können in Azure-Diagnose (Legacy)- oder ressourcenspezifische (Vorschau) Tabellen geschrieben werden.
  • Event Hub
  • Speicherkonto:

Hinweis

Es wird empfohlen, die Diagnoseeinstellung im ressourcenspezifischen Modus zu erstellen.

Erstellen von Diagnoseeinstellungen über das Azure-Portal

  1. Melden Sie sich beim Azure-Portal an.

  2. Wechseln Sie zu Ihrer Azure Managed Instance for Apache Cassandra-Clusterressource.

    Screenshot: Auswählen eines Clusters aus einer Liste von Ressourcen

  3. Wählen Sie im Abschnitt Überwachung die Option Diagnoseeinstellungen aus, und klicken Sie dann auf + Diagnoseeinstellung hinzufügen.

    Screenshot: Bereich für Diagnoseeinstellungen und die Schaltfläche zum Hinzufügen einer Diagnoseeinstellung

  4. Wählen Sie im Bereich Diagnoseeinstellung einen Namen für Ihre Einstellung aus.

    Wählen Sie dann unter Kategoriendetails Ihre Kategorien aus. Die Kategorie CassandraLogs zeichnet Cassandra-Servervorgänge auf. Die CassandraAudit-Kategorie zeichnet Überwachungs- und Cassandra Query Language (CQL)-Vorgänge auf.

    Wählen Sie unter Zieldetails Ihr bevorzugtes Ziel für Ihre Protokolle aus. Wenn Sie Protokolle an einen Log Analytics-Arbeitsbereich senden, wählen Sie ressourcenspezifisch als die Zieltabelle aus.

    Screenshot: Auswahl für Diagnoseeinstellung

    Hinweis

    Wenn Sie Protokolle an einen Log Analytics-Arbeitsbereich senden, kann es bis zu 20 Minuten dauern, bis sie erscheinen. Bis dahin sind die ressourcenspezifischen Tabellen (angezeigt unter Azure Managed Instance for Apache Cassandra) nicht sichtbar.

  5. Nachdem Sie die Diagnoseprotokollierung eingerichtet haben und Daten fließen, können Sie Protokolle auswählen und die verfügbaren Diagnoseprotokolle mithilfe von Azure Data Explorer abfragen. Weitere Informationen zu Azure Monitor und der Kusto-Abfragesprache finden Sie unter Protokollabfragen in Azure Monitor.

    Screenshot: Abfrageprotokolle

Erstellen einer Diagnoseeinstellung über die Azure CLI

Verwenden Sie den Befehl az monitor diagnostic-settings create, um eine Diagnoseeinstellung mittels der Azure CLI zu erstellen:

    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

Erstellen einer Diagnoseeinstellung über die REST-API

Verwenden Sie die Azure Monitor-REST-API, um eine Diagnoseeinstellung über die interaktive Konsole zu erstellen.

Hinweis

Es wird empfohlen, die logAnalyticsDestinationType-Eigenschaft auf Dedicated festzulegen, um ressourcenspezifische Tabellen zu aktivieren.

Anforderung

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

Header

Parameter/Header Wert/Beschreibung
name Der Name Ihrer Diagnoseeinstellung
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

Text

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

Überwachungswhitelist

Hinweis

Dieser Artikel enthält Verweise auf den Begriff Whitelist, den Microsoft nicht mehr verwendet. Sobald der Begriff aus der Software entfernt wurde, wird er auch aus diesem Artikel entfernt.

Standardmäßig erstellt die Überwachungsprotokollierung einen Datensatz für jeden Anmeldeversuch und jede CQL-Abfrage. Das Ergebnis kann überwältigend sein und den Aufwand erhöhen. Um mit dieser Situation umzugehen, können Sie eine Whitelist verwenden, um bestimmte Überwachungsdatensätze selektiv einzuschließen oder auszuschließen.

Cassandra 3.11

In Cassandra 3.11 können Sie das Feature „Whitelist überwachen“ verwenden, um festzulegen, welche Vorgänge keinen Überwachungsdatensatz erstellen. Das Whitelistfeature zur Überwachung ist in Cassandra 3.11 standardmäßig aktiviert. Informationen zum Konfigurieren Ihrer Whitelist finden Sie unter Role-based whitelist management (Rollenbasierte Whitelistverwaltung).

Beispiele:

  • Führen Sie die folgenden Anweisungen aus, um alle SELECT- und MODIFY-Vorgänge für den Benutzer bob aus dem Überwachungsprotokoll herauszufiltern:

    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' };
    
  • Führen Sie die folgende Anweisung aus, um alle SELECT-Vorgänge in der decisions-Tabelle im design-Schlüsselbereich des Benutzers jim aus dem Überwachungsprotokoll herauszufiltern:

    cassandra@cqlsh> ALTER ROLE jim WITH OPTIONS = { 'GRANT AUDIT WHITELIST FOR SELECT' : 'data/design/decisions' };
    
  • Führen Sie die folgende Anweisung aus, um die Whitelist für alle SELECT-Vorgänge des Benutzers bob zu widerrufen:

    cassandra@cqlsh> ALTER ROLE bob WITH OPTIONS = { 'REVOKE AUDIT WHITELIST FOR SELECT' : 'data' };
    
  • Führen Sie die folgende Anweisung aus, um die aktuellen Whitelists anzuzeigen:

    cassandra@cqlsh> LIST ROLES;
    

Cassandra 4 und höher

In Cassandra 4 und höher können Sie Ihre Whitelist in der Cassandra-Konfiguration konfigurieren. Ausführliche Anleitungen finden Sie unter Cassandra-Konfiguration aktualisieren. Die verfügbaren Optionen sind wie folgt (Referenz: Cassandra-Dokumentation für die Überwachungsprotokollierung):

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>

Folgende Kategorien sind verfügbar: QUERY, DML, DDL, DCL, OTHER, AUTH, ERROR, PREPARE.

Hier sehen Sie eine Beispielkonfiguration:

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

Standardmäßig legt die Konfiguration included_categories auf AUTH,ERROR,DCL,DDL fest.

Nächste Schritte