Dela via


Övervaka Azure Managed Redis-data (förhandsversion) med hjälp av diagnostikinställningar

Diagnostikinställningar i Azure används för att samla in resursloggar. En Azure-resurs genererar resursloggar och innehåller omfattande, frekventa data om hur resursen fungerar. Dessa loggar registreras per begäran och kallas även "dataplansloggar". En rekommenderad översikt över funktionerna i Azure finns i Diagnostikinställningar i Azure Monitor . Innehållet i loggarna varierar beroende på resurstyp. I Azure Managed Redis (förhandsversion) finns det två alternativ att logga:

  • Cachemått (som är "AllMetrics") som används för att logga mått från Azure Monitor
  • Anslutningsloggar loggar anslutningar till cacheminnet i säkerhets- och diagnostiksyfte.

Cachemått

Azure Managed Redis (förhandsversion) genererar många mått , till exempel serverbelastning och anslutningar per sekund som är användbara att logga. Om du väljer alternativet AllMetrics kan dessa och andra cachemått loggas. Du kan konfigurera hur länge måtten ska behållas. Här finns ett exempel på hur du exporterar cachemått till ett lagringskonto.

Anslutningsloggar

Azure Managed Redis använder Azure-diagnostikinställningar för att logga information om klientanslutningar till din cache. Loggning och analys av den här diagnostikinställningen hjälper dig att förstå vem som ansluter till dina cacheminnen och tidsstämpeln för dessa anslutningar. Loggdata kan användas för att identifiera omfånget för ett säkerhetsintrång och för säkerhetsgranskning.

Azure Managed Redis använder funktionen för granskningsanslutningshändelser som är inbyggd i Redis Enterprise-stacken. Granskningsanslutningshändelser tillåter att alla anslutnings-, frånkopplings- och autentiseringshändelser loggas, inklusive misslyckade autentiseringshändelser.

Viktigt!

Loggning i Azure Managed Redis fokuserar på varje anslutningshändelse. Loggar inträffar bara när den faktiska händelsen inträffade för första gången.

Krav/begränsningar för anslutningsloggning

  • När du använder OSS-klusterprincip genereras loggar från varje datanod. När du använder Enterprise Cluster Policy genererar endast den nod som används som proxy loggar. Båda versionerna omfattar fortfarande alla anslutningar till cacheminnet. Detta är bara en arkitektonisk skillnad.
  • Dataförlust (dvs. att en anslutningshändelse saknas) är sällsynt, men möjligt. Dataförlust orsakas vanligtvis av nätverksproblem.
  • Frånkopplingsloggarna är ännu inte helt stabila och händelser kan missas.
  • Eftersom anslutningsloggar på Azure Managed Redis är händelsebaserade bör du vara försiktig med dina kvarhållningsprinciper. Om kvarhållning till exempel har angetts till 10 dagar och en anslutningshändelse inträffade för 15 dagar sedan, kan anslutningen fortfarande finnas, men loggen för anslutningen behålls inte.
  • Om du använder aktiv geo-replikering måste loggning konfigureras för varje cacheinstans i geo-replikeringsgruppen individuellt.
  • Alla diagnostikinställningar kan ta upp till 90 minuter att börja flöda till det valda målet.
  • Aktivering av anslutningsloggar kan orsaka en liten prestandaförsämring för Redis-instansen.

Kommentar

Det är alltid möjligt att använda KOMMANDONa INFO eller KLIENTLISTA för att kontrollera vem som är ansluten till en cacheinstans på begäran.

Viktigt!

När du väljer loggar kan du välja antingen de specifika kategori - eller kategorigrupperna, som är fördefinierade grupper av loggar i Azure-tjänster. När du använder Kategorigrupper kan du inte längre konfigurera kvarhållningsinställningarna. Om du behöver fastställa kvarhållningstiden för anslutningsloggarna väljer du objektet i avsnittet Kategorier i stället.

Loggmål

Du kan aktivera diagnostikinställningar för Azure Managed Redis-instanser och skicka resursloggar till följande mål:

  • Log Analytics-arbetsyta – behöver inte finnas i samma region som resursen som övervakas.
  • Lagringskonto – måste finnas i samma region som cacheminnet. Premium Storage-konton stöds dock inte som mål.
  • Händelsehubb – diagnostikinställningar kan inte komma åt händelsehubbresurser när virtuella nätverk är aktiverade. Aktivera inställningen Tillåt betrodda Microsoft-tjänster att kringgå den här brandväggen? i händelsehubbar för att ge åtkomst till dina händelsehubbresurser. Händelsehubben måste finnas i samma region som cacheminnet.
  • Partnerlösning – en lista över potentiella partnerloggningslösningar finns här

Mer information om diagnostikkrav finns i diagnostikinställningar.

Du debiteras normala datapriser för lagringskonto och händelsehubbanvändning när du skickar diagnostikloggar till något av destinationerna. Du debiteras under Azure Monitor, inte Azure Managed Redis. När du skickar loggar till Log Analytics debiteras du endast för Log Analytics-datainmatning.

Mer prisinformation finns i Prissättning för Azure Monitor.

Aktivera anslutningsloggning med hjälp av Azure Portal

  1. Logga in på Azure-portalen.

  2. Gå till ditt Azure Managed Redis-konto. Öppna fönstret Diagnostikinställningar – Granskning under avsnittet Övervakning till vänster. Välj sedan Lägg till diagnostikinställning. Skärmbild av diagnostikinställningar – Granskning har valts på resursmenyn.

  3. I fönstret Diagnostikinställning – granskning väljer du Anslutningshändelser från Kategorier.

    Mer information om de data som loggas finns under Innehållet i anslutningsloggarna.

  4. När du har valt Anslutningshändelser skickar du loggarna till önskat mål. Välj informationen i arbetsfönstret. Skärmbild som visar anslutningshändelser som kontrolleras i arbetsfönstret.

Aktivera anslutningsloggning med hjälp av REST-API:et

Använd Rest-API:et för Azure Monitor för att skapa en diagnostikinställning via den interaktiva konsolen. Mer information finns i Skapa eller uppdatera.

Förfrågan

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

Sidhuvuden

Parametrar/rubriker Värde/beskrivning
name Namnet på diagnostikinställningen.
resourceUri subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/RedisEnterprise/{CACHE_NAME}/databases/default
api-version 2017-05-01-preview
Content-Type application/json

Brödtext

{ 
    "properties": {
      "storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/myteststorage",
      "eventHubAuthorizationRuleID": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule", 
      "eventHubName": "myeventhub",
      "marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/mydatadog",
      "workspaceId": "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
      "logs": [
        {
          "category": "ConnectionEvents",
          "enabled": true,
          "retentionPolicy": {
            "enabled": false,
            "days": 0
          }
        }
      ]
    }
}

Aktivera anslutningsloggning med Azure CLI

az monitor diagnostic-settings create Använd kommandot för att skapa en diagnostikinställning med Azure CLI. Mer information om kommando- och parameterbeskrivningar finns i Skapa diagnostikinställningar för att skicka plattformsloggar och mått till olika mål. Det här exemplet visar hur du använder Azure CLI för att strömma data till fyra olika slutpunkter:

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

Innehållet i anslutningsloggarna

Dessa fält och egenskaper visas i loggkategorin ConnectionEvents . I Azure Monitor samlas loggar in i REDConnectionEvents tabellen under resursproviderns namn MICROSOFT.CACHE.

Azure Storage-fält eller -egenskap Azure Monitor-loggegenskap beskrivning
time TimeGenerated Tidsstämpeln (UTC) när händelseloggen registrerades.
location Location Platsen (regionen) som Azure Managed Redis-instansen användes i.
category saknas Tillgängliga loggkategorier: ConnectionEvents.
resourceId _ResourceId Den Azure Managed Redis-resurs som loggar är aktiverade för.
operationName OperationName Redis-åtgärden som är associerad med loggposten.
properties saknas Innehållet i det här fältet beskrivs i raderna som följer.
eventEpochTime EventEpochTime UNIX-tidsstämpeln (antal sekunder sedan den 1 januari 1970) när händelsen inträffade i UTC. Tidsstämpeln kan konverteras till datetime-format med hjälp av funktion unixtime_seconds_todatetime i Log Analytics-arbetsytan.
clientIP ClientIP Redis-klientens IP-adress. Om du använder Azure Storage är IP-adressen IPv4- eller IPv6-format för privat länk baserat på cachetyp. Om du använder Log Analytics är resultatet alltid i IPv4 eftersom ett separat IPv6-fält tillhandahålls.
saknas PrivateLinkIPv6 IPv6-adressen för Redis-klientens privata länk (endast genereras om du använder både Private Link och log analytics).
id ConnectionId Unikt anslutnings-ID som tilldelats av Redis.
eventType EventType Typ av anslutningshändelse (new_conn, autentisering eller close_conn).
eventStatus EventStatus Resultat av en autentiseringsbegäran som statuskod (gäller endast för autentiseringshändelse).

Kommentar

Om privat länk används loggas endast en IPv6-adress (såvida du inte strömmar data till log analytics). Du kan konvertera IPv6-adressen till motsvarande IPv4-adress genom att titta på de senaste fyra byteen med data i IPv6-adressen. I den privata länken till exempel IPv6-adressen "fd40:8913:31:6810:6c31:200:a01:104" är de sista fyra byteen i hexadecimala "0a", "01", "01" och "04". (Observera att inledande nollor utelämnas efter varje kolon.) Dessa motsvarar "10", "1", "1" och "4" i decimaltal, vilket ger oss IPv4-adressen "10.1.1.4".

Exempel på lagringskontologg

Om du skickar loggarna till ett lagringskonto ser en logg för en anslutningshändelse ut så här:

    {
        "time": "2023-01-24T10:00:02.3680050Z",
        "resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
        "category": "ConnectionEvents",
        "location": "westus",
        "operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
        "properties": {
            "eventEpochTime": 1674554402,
            "id": 6185063009002,
            "clientIP": "20.228.16.39",
            "eventType": "new_conn"
        }
    }

Loggen för en autentiseringshändelse ser ut så här:

 {
        "time": "2023-01-24T10:00:02.3680050Z",
        "resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
        "category": "ConnectionEvents",
        "location": "westus",
        "operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
        "properties": {
            "eventEpochTime": 1674554402,
            "id": 6185063009002,
            "clientIP": "20.228.16.39",
            "eventType": "auth",
            "eventStatus": 8
        }
    }

Loggen för en frånkopplingshändelse ser ut så här:

    {
        "time": "2023-01-24T10:00:03.3680050Z",
        "resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
        "category": "ConnectionEvents",
        "location": "westus",
        "operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
        "properties": {
            "eventEpochTime": 1674554402,
            "id": 6185063009002,
            "clientIP": "20.228.16.39",
            "eventType": "close_conn"
        }
    }

Nästa steg

Detaljerad information om hur du skapar en diagnostikinställning med hjälp av Azure Portal, CLI eller PowerShell finns i artikeln skapa diagnostikinställning för att samla in plattformsloggar och mått i Azure.