Teilen über


Überwachen des Azure-Caches für Redis mithilfe von Diagnoseeinstellungen

Wichtig

Azure Cache for Redis hat den Auslaufzeitplan für alle SKUs angekündigt. Es wird empfohlen, Ihren vorhandenen Azure-Cache für Redis-Instanzen in Azure Managed Redis zu verschieben, sobald Möglich.

Weitere Informationen zur Einstellung finden Sie unter:

Azure Cache für Redis bietet zwei Überwachungsoptionen in den Diagnoseeinstellungen:

  • Cachemetriken protokollieren Azure Monitor-Metriken zu Cachevorgängen.
  • Verbindungsprotokolle protokollieren Verbindungen mit dem Cache. Azure erfasst diese Protokolle, auch als Datenebenenprotokolle bezeichnet, pro Anforderung. Die Inhalte der Verbindungsprotokolle variieren je nach Ressourcentyp.

Eine Übersicht über die Überwachungs- und Protokollierungsfunktionen von Azure Monitor finden Sie unter Diagnoseeinstellungen in Azure Monitor.

Umfang der Verfügbarkeit

Tarif Basic, Standard und Premium Enterprise und Enterprise Flash
Cachemetriken Ja Ja
Verbindungsprotokolle Ja Ja

Cachemetriken

Azure Redis gibt viele nützliche Metriken aus, z. B. Serverlast und Verbindungen pro Sekunde. Eine vollständige Auflistung der Azure Redis-Metriken finden Sie unter "Metriken".

Um Cachemetriken zu protokollieren, aktivieren Sie die Option "AllMetrics " in ihren Cachediagnoseeinstellungen gemäß den Anweisungen für Ihre Ebene. Sie können konfigurieren, wie lange Metriken aufbewahrt werden. Weitere Informationen zum Protokollieren und Exportieren von Metriken finden Sie unter Azure Cache für Redis-Metriken.

Verbindungsprotokolle

Azure Cache für Redis verwendet Azure-Diagnoseeinstellungen, um Clientverbindungsinformationen zu Ihrem Cache zu protokollieren. Die Protokollierung und Analyse dieser Informationen in den Diagnoseeinstellungen hilft Ihnen zu verstehen, wer eine Verbindung mit Ihrem Cache und wann herstellt. Sie können die Protokolldaten zu Sicherheitsüberwachungszwecken oder zum Identifizieren des Umfangs von Sicherheitsproblemen verwenden.

Hinweis

Sie können die Redis-cli INFO - oder CLIENT LIST-Befehle immer verwenden, um zu überprüfen, wer bei Bedarf mit einer Cacheinstanz verbunden ist.

Die Implementierung der Verbindungsprotokolle und die erstellten Protokolle sind bei den Azure Redis-Stufen ähnlich, jedoch gibt es einige Unterschiede zwischen den Stufen Basic, Standard und Premium im Vergleich zu den Enterprise- und Enterprise Flash-Stufen.

Wichtig

  • In den Ebenen "Basic", "Standard" und "Premium" werden mit der Verbindungsprotokollierung die aktuellen Clientverbindungen im Cache abgerufen . Die gleichen Client-IP-Adressen können wiederholt angezeigt werden, solange ihre Verbindungen dauern.
  • In den Enterprise- und Enterprise Flash-Ebenen konzentriert sich die Protokollierung auf Verbindungsereignisse. Die Protokollierung tritt nur auf, wenn das Verbindungsereignis oder ein anderes verbindungsbezogenes Ereignis zuerst erfolgt.

Anforderungen und Einschränkungen

Caches der Tarife „Basic“, „Standard“ und „Premium“ fragt Clientverbindungen nach IP-Adresse ab, einschließlich der Anzahl der Verbindungen, die von jeder eindeutigen IP-Adresse stammen. Diese Protokolle sind nicht kumulativ, sondern stellen Punkt-in-Time-Momentaufnahmen dar, die in Intervallen von 10 Sekunden erstellt wurden. Diese Ebenen protokollieren keine erfolgreichen oder fehlgeschlagenen Authentifizierungsereignisse oder Trennungsereignisse.

Beachten Sie die folgenden Einschränkungen:

  • Da Verbindungsprotokolle in diesen Ebenen aus Punkt-in-Time-Momentaufnahmen bestehen, die alle 10 Sekunden erstellt wurden, werden Verbindungen, die innerhalb eines 10-Sekunden-Intervalls hergestellt und entfernt werden, nicht protokolliert.
  • Authentifizierungs- und Trennungsereignisse werden nicht protokolliert.
  • Es kann bis zu 90 Minuten dauern, bis Diagnoseeinstellungen zum ausgewählten Ziel gesendet werden.
  • Die Verbindungsprotokollierung kann zu einer geringen Leistungsbeeinträchtigung im Cache führen.
  • Um Protokolle in Log Analytics zu streamen, wird nur der Preisplan für Analyseprotokolle unterstützt. Weitere Informationen finden Sie unter Azure Monitor-Preise.

Wichtig

Wenn Sie Protokolle auswählen, können Sie entweder Kategorien oder Kategoriegruppen auswählen, die vordefinierte Gruppierungen von Protokollen über Azure-Dienste hinweg sind. Wenn Sie Kategoriegruppen verwenden, können Sie keine Aufbewahrungseinstellungen konfigurieren. Wenn Sie die Aufbewahrungsdauer für Ihre Verbindungsprotokolle festlegen müssen, wählen Sie stattdessen das Element in "Kategorien" aus. Weitere Informationen finden Sie unter Kategoriegruppen.

Protokollziele

Wenn Sie Diagnoseeinstellungen für Ihre Azure Redis-Instanz aktivieren, können Sie Ressourcenprotokolle an die folgenden Ziele senden:

  • An den Log Analytics-Arbeitsbereich senden. Der Arbeitsbereich muss sich nicht in derselben Region wie die überwachte Ressource befinden.

  • In einem Speicherkonto archivieren. Das Speicherkonto muss sich in derselben Region wie der Cache befinden.

  • An einen Event Hub streamen. Der Event Hub muss sich in derselben Region wie der Cache befinden.

    Diagnoseeinstellungen können nicht auf Event Hub-Ressourcen zugreifen, wenn virtuelle Netzwerke aktiviert sind. Aktivieren Sie die Option "Vertrauenswürdige Microsoft-Dienste zulassen", um diese Firewalleinstellung in Azure Event Hubs zu umgehen, um Zugriff auf Event Hub-Ressourcen zu gewähren.

  • An Partnerlösung senden. Eine Liste der potenziellen Partnerprotokollierungslösungen finden Sie unter Erweitern von Azure mit Azure Native Integrations – Daten und Speicher.

Wenn Sie Diagnoseprotokolle an ein Speicherkonto oder einen Event Hub senden, werden ihnen normale Datenraten für beide Ziele in Rechnung gestellt. Sie werden unter Azure Monitor abgerechnet, nicht unter Azure Cache für Redis. Wenn Sie Protokolle an Log Analytics senden, werden Sie nur für die Erfassung von Log Analytics-Daten belastet. Weitere Preisinformationen finden Sie unter Azure Monitor-Preise.

Aktivieren von Diagnoseeinstellungen mithilfe des Azure-Portals

  1. Wählen Sie auf der Azure-Portalseite für Ihren Cache die Diagnoseeinstellungen unter "Überwachung " im linken Navigationsbereich aus.

  2. Wählen Sie auf der Seite Diagnoseeinstellungen die Option Diagnoseeinstellung hinzufügen aus.

    Screenshot der Seite

  3. Geben Sie auf der Seite " Diagnoseeinstellung " einen Namen für Ihre Diagnoseeinstellung ein, und wählen Sie dann die gewünschten Überwachungsoptionen aus. Wählen Sie beispielsweise "AllMetrics " aus, um alle Metriken und allLogs zu protokollieren, um sowohl die Liste der verbundenen Clients als auch das MSEntra-Authentifizierungsüberwachungsprotokoll zu protokollieren.

  4. Wählen Sie ein oder mehrere Ziele und Ihre Zieldetails aus, und wählen Sie dann "Speichern" aus.

    Screenshot der Konfigurationsseite für Diagnoseeinstellungen für einen Premium-Cache.

Aktivieren der Verbindungsprotokollierung mit der REST-API

Verwenden Sie zum Erstellen einer Diagnoseeinstellung die Azure Monitor-REST-API in einer interaktiven Konsole wie folgt. Weitere Informationen finden Sie unter Diagnoseeinstellungen – Erstellen oder Aktualisieren.

Anforderung

PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview

Parameter/Header

  • Content-Type: application/json
  • name: Der Name Ihrer Diagnoseeinstellung
  • resourceUri: subscriptions/<your subscription id>/resourceGroups/<cache resource group>/providers/Microsoft.Cache/Redis/<cache name>
  • api-version: 2017-05-01-preview

Beispieltext

{
    "properties": {
      "storageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1",
      "eventHubAuthorizationRuleId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule",
      "eventHubName": "myeventhub",
      "workspaceId": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
      "logs": [
        {
          "category": "ConnectedClientList",
          "enabled": true,
          "retentionPolicy": {
            "enabled": false,
            "days": 0
          }
        }
      ]
    }
}

Aktivieren der Verbindungsprotokollierung mit Azure CLI

Verwenden Sie den Azure CLI-Befehl az monitor diagnostic-settings create , um eine Diagnoseeinstellung zu erstellen. Weitere Informationen zu Befehls- und Parameterbeschreibungen finden Sie unter Erstellen von Diagnoseeinstellungen zum Senden von Plattformprotokollen und Metriken an verschiedene Ziele.

Das folgende Beispiel zeigt, wie Sie die Azure CLI zum Streamen von Daten zu vier verschiedenen Endpunkten verwenden:

az monitor diagnostic-settings create 
    --resource /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupname}/providers/Microsoft.Cache/Redis/{cacheName}
    --name {logName}
    --logs '[{"category": "ConnectedClientList","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

Inhalt des Verbindungsprotokolls

Die folgenden Felder und Eigenschaften werden in der ConnectedClientList Protokollkategorie angezeigt. In Azure Monitor werden Protokolle in der ACRConnectedClientList Tabelle unter dem Namen des Ressourcenanbieters MICROSOFT.CACHE erfasst.

Azure Storage-Feld oder -Eigenschaft Eigenschaft von Azure Monitor-Protokolle BESCHREIBUNG
time TimeGenerated Der UTC-Zeitstempel, zu dem das Protokoll generiert wurde.
location Location Die Azure-Region, in der auf den Azure Redis-Cache zugegriffen wurde.
category Verfügbare Protokollkategorie ConnectedClientList.
resourceId _ResourceId Die Azure Redis-Ressourcenprotokolle sind aktiviert.
operationName OperationName Der Redis-Vorgang, der dem Protokolldatensatz zugeordnet ist.
properties Sehen Sie sich die folgenden Zeilen an.
tenant CacheName Der Name der Azure Redis-Instanz.
roleInstance RoleInstance Die Rolleninstanz, die die Clientliste protokolliert hat.
connectedClients.ip ClientIp Die IP-Adresse des Redis-Clients.
connectedClients.privateLinkIpv6 PrivateLinkIpv6 Die Private Link-IPv6-Adresse des Redis-Clients, falls zutreffend.
connectedClients.count ClientCount Die Anzahl der Redis-Clientverbindungen von der zugeordneten IP-Adresse.

Ein Beispiel von einem Speicherkontoprotokoll

Der Inhalt eines an ein Speicherkonto gesendeten Protokolls könnte wie im folgenden Beispiel aussehen.

{
    "time": "2021-08-05T21:04:58.0466086Z",
    "location": "canadacentral",
    "category": "ConnectedClientList",
    "properties": {
        "tenant": "mycache", 
        "connectedClients": [
            {
                "ip": "192.123.43.36", 
                "count": 86
            },
            {
                "ip": "10.1.1.4",
                "privateLinkIpv6": "fd40:8913:31:6810:6c31:200:a01:104", 
                "count": 1
            }
        ],
        "roleInstance": "1"
    },
    "resourceId": "/SUBSCRIPTIONS/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c/RESOURCEGROUPS/AZURE-CACHE/PROVIDERS/MICROSOFT.CACHE/REDIS/MYCACHE", 
    "Level": 4,
    "operationName": "Microsoft.Cache/ClientList"
}

Ausführliche Informationen zum Erstellen einer Diagnoseeinstellung mithilfe des Azure-Portals, der Azure CLI oder von Azure PowerShell finden Sie unter Erstellen von Diagnoseeinstellungen zum Sammeln von Plattformprotokollen und Metriken in Azure.