Ü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.
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
Melden Sie sich beim Azure-Portal an.
Wechseln Sie zu Ihrer Azure Managed Instance for Apache Cassandra-Clusterressource.
Wählen Sie im Abschnitt Überwachung die Option Diagnoseeinstellungen aus, und klicken Sie dann auf + Diagnoseeinstellung hinzufügen.
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.
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.
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.
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
- undMODIFY
-Vorgänge für den Benutzerbob
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 derdecisions
-Tabelle imdesign
-Schlüsselbereich des Benutzersjim
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 Benutzersbob
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
- Ausführliche Informationen zum Erstellen einer Diagnoseeinstellung mithilfe des Azure-Portals, der Azure CLI oder PowerShell finden Sie unter Diagnoseeinstellungen in Azure Monitor.