Condividi tramite


Monitorare i dati di Redis gestiti di Azure usando le impostazioni di diagnostica

Le impostazioni di diagnostica in Azure vengono usate per raccogliere i log delle risorse. Una risorsa di Azure genera log della risorsa e fornisce dati completi e frequenti sul funzionamento di tale risorsa. Questi log vengono acquisiti per richiesta e vengono definiti anche log del piano dati. Per una panoramica consigliata delle funzionalità in Azure, vedere Impostazioni di diagnostica in Monitoraggio di Azure. Il contenuto di questi log varia in base al tipo di risorsa. In Azure Managed Redis sono disponibili due opzioni per la registrazione:

Metrica della cache

Managed Redis di Azure rilascia molte metriche come Carico del server e Connessioni al secondo utili da registrare. Se si seleziona l'opzione AllMetrics, è possibile registrare queste e altre metriche della cache. È possibile configurare il tempo di mantenimento delle metriche. Vedere qui per un esempio di esportazione delle metriche della cache in un account di archiviazione.

Log connessioni

Managed Redis di Azure usa le impostazioni di diagnostica di Azure per registrare le informazioni sulle connessioni client alla cache. La registrazione e l'analisi di questa impostazione di diagnostica consentono di comprendere chi si connette alle cache e il timestamp di tali connessioni. I dati di log possono essere usati per identificare l'ambito di una violazione della sicurezza e ai fini del controllo della sicurezza.

Managed Redis di Azure usa la funzionalità Controlla eventi di connessione integrata nello stack Enterprise di Redis. Il controllo degli eventi di connessione consente la registrazione di ogni connessione, disconnessione ed evento di autenticazione, inclusi gli eventi di autenticazione non riusciti.

Importante

La registrazione in Managed Redis di Azure riguarda ogni evento di connessione. I log si verificano solo quando si è verificato l'evento effettivo per la prima volta.

Prerequisiti/limitazioni della registrazione delle connessioni

  • Quando si usano i Criteri del cluster software open source, i log vengono generati da ogni nodo dati. Quando si usano Criteri del cluster Enterprise, solo il nodo usato come proxy genera log. Entrambe le versioni coprono comunque tutte le connessioni alla cache. Questa è solo una differenza architetturale.
  • La perdita di dati (ovvero la perdita di un evento di connessione) è rara, ma possibile. La perdita di dati è in genere causata da problemi di rete.
  • I log di disconnessione non sono ancora completamente stabili e gli eventi possono essere persi.
  • Poiché i log di connessione in Managed Redis di Azure sono basati su eventi, prestare attenzione ai criteri di conservazione. Ad esempio, se la conservazione è impostata su 10 giorni e un evento di connessione si è verificato 15 giorni fa, tale connessione potrebbe ancora esistere, ma il log per tale connessione non viene mantenuto.
  • Se si usa la replica geografica attiva, la registrazione deve essere configurata singolarmente per ogni istanza della cache nel gruppo di replica geografica.
  • Tutte le impostazioni di diagnostica possono richiedere fino a 90 minuti per iniziare a passare alla destinazione selezionata.
  • L'abilitazione dei log di connessione potrebbe causare una lieve riduzione delle prestazioni dell'istanza di Redis.

Annotazioni

È sempre possibile usare i comandi INFO o CLIENT LIST per verificare chi è connesso a un'istanza della cache su richiesta.

Importante

Quando si selezionano i log, è possibile scegliere i gruppi di categorie o categorie specifici, che sono raggruppamenti predefiniti dei log nei servizi di Azure. Quando si usano Gruppi di categorie, non è più possibile configurare le impostazioni di conservazione. Se è necessario determinare la durata di conservazione per i log di connessione, allora selezionare l'elemento nella sezione Categorie.

Destinazioni dei log

È possibile attivare le impostazioni di diagnostica per le istanze di Managed Redis di Azure e inviare i log delle risorse alle destinazioni seguenti:

  • Area di lavoro Log Analytics: non deve trovarsi nella stessa area della risorsa monitorata.
  • Account di archiviazione: deve trovarsi nella stessa area della cache. Gli account di archiviazione Premium non sono tuttavia supportati come destinazione.
  • Hub eventi: le impostazioni di diagnostica non possono accedere alle risorse dell'hub eventi quando sono abilitate le reti virtuali. Abilitare l'impostazione Consentire ai servizi Microsoft attendibili di ignorare questo firewall? negli hub eventi per concedere l'accesso alle risorse dell'hub eventi. L'hub eventi deve trovarsi nella stessa area della cache.
  • Soluzione partner: un elenco delle potenziali soluzioni di registrazione dei partner è disponibile qui

Per altre informazioni sui requisiti di diagnostica, vedere Impostazioni di diagnostica.

Vengono addebitate le normali tariffe dei dati per l'utilizzo dell'account di archiviazione e dell'hub eventi quando si inviano i log di diagnostica a una delle destinazioni. La fatturazione viene effettuata in Monitoraggio di Azure, non in Managed Redis di Azure. Quando si inviano log a Log Analytics, vengono addebitati solo i costi per l'inserimento dei dati di Log Analytics.

Per altre informazioni sui prezzi, vedere Prezzi di Monitoraggio di Azure.

Abilitare la registrazione delle connessioni tramite il portale di Azure

  1. Accedi al portale di Azure.

  2. Passare all'account Redis gestito di Azure. Aprire il riquadro Impostazioni di diagnostica - Controllo nella sezione Monitoraggio a sinistra. Selezionare quindi Aggiungi impostazione di diagnostica. Screenshot delle impostazioni di diagnostica - Controllo selezionato nel menu Risorsa.

  3. Nel riquadro Impostazioni di diagnostica - Controllo selezionare Eventi di connessione da Categorie.

    Per altri dettagli sui dati registrati, vedere il contenuto dei log di connessione.

  4. Dopo aver selezionato Eventi di connessione, inviare i log alla destinazione preferita. Selezionare le informazioni nel riquadro di lavoro. Screenshot che mostra Eventi di connessione selezionato nel riquadro di lavoro.

Abilitare la registrazione delle connessioni usando l'API REST

Usare l'API REST di Monitoraggio di Azure per creare un'impostazione di diagnostica tramite la console interattiva. Per altre informazioni, vedere Creare o aggiornare.

Richiesta

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

Intestazioni

Parametri/Intestazioni Valore/Descrizione
name Nome dell'impostazione di diagnostica.
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

Corpo

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

Abilitare la registrazione delle connessioni tramite l'interfaccia della riga di comando di Azure

Usare il comando az monitor diagnostic-settings create per creare un'impostazione di diagnostica con l'interfaccia della riga di comando di Azure. Per altre informazioni sulle descrizioni dei comandi e dei parametri, vedere Creare impostazioni di diagnostica per inviare i log e le metriche della piattaforma a destinazioni diverse. Questo esempio illustra come usare l'interfaccia della riga di comando di Azure per trasmettere i dati a quattro endpoint diversi:

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

Contenuto dei log di connessione

Questi campi e queste proprietà vengono visualizzate nella categoria di log ConnectionEvents. In Monitoraggio di Azure i log vengono raccolti nella tabella REDConnectionEvents sotto il nome del provider di risorse MICROSOFT.CACHE.

Proprietà o campo di Archiviazione di Azure Proprietà dei log di Monitoraggio di Azure Descrizione
time TimeGenerated Timestamp (UTC) relativo alla data e all'ora in cui è stato acquisito il registro eventi.
___location Location Percorso (area) in cui è stato effettuato l'accesso all'istanza di Managed Redis di Azure.
category non disponibile Categorie di log disponibili: ConnectionEvents.
resourceId _ResourceId La risorsa di Managed Redis di Azure per cui sono abilitati i log.
operationName OperationName Operazione Redis associata al record del log.
properties non disponibile Il contenuto di questo campo è descritto nelle righe seguenti.
eventEpochTime EventEpochTime Timestamp UNIX (numero di secondi dal 1° gennaio 1970) relativo alla data e all'ora in cui si è verificato l'evento in UTC. Il timestamp può essere convertito in formato Data/ora usando la funzione unixtime_seconds_todatetime nell'area di lavoro Log Analytics.
clientIP ClientIP Indirizzo IP del client Redis. Se si usa l'archiviazione di Azure, l'indirizzo IP è il formato IPv4 o IPv6 del collegamento privato in base al tipo di cache. Se si usa Log Analytics, il risultato è sempre in IPv4, poiché viene fornito un campo IPv6 separato.
non disponibile PrivateLinkIPv6 Indirizzo IPv6 del collegamento privato del client Redis (generato solo se si usano sia collegamento privato che Log Analytics).
id ConnectionId ID di connessione univoco assegnato da Redis.
eventType EventType Tipo di evento di connessione (new_conn, auth o close_conn).
eventStatus EventStatus Risultati di una richiesta di autenticazione come codice di stato (applicabile solo per l'evento di autenticazione).

Annotazioni

Se si usa un collegamento privato, viene registrato solo un indirizzo IPv6 (a meno che non si esegua lo streaming dei dati in Log Analytics). È possibile convertire l'indirizzo IPv6 nell'indirizzo IPv4 equivalente guardando gli ultimi quattro byte di dati nell'indirizzo IPv6. Ad esempio, nell'indirizzo fd40:8913:31:6810:6c31:200:a01:104 IPv6 del collegamento privato gli ultimi quattro byte in formato esadecimale sono 0a, 0101, e 04. Gli zeri iniziali vengono omessi dopo ogni due punti. Questi byte corrispondono a 10, 1, 1e 4 in decimale, fornendo l'indirizzo 10.1.1.4IPv4 .

Log dell'account di archiviazione di esempio

Se si inviano i log a un account di archiviazione, un log per un evento di connessione è simile al seguente:

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

Il log per un evento di autenticazione è simile al seguente:

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

Il log per un evento di disconnessione è simile al seguente:

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

Passaggi successivi

Per informazioni dettagliate su come creare un'impostazione di diagnostica usando il portale di Azure, l'interfaccia della riga di comando o PowerShell, vedere Creare un'impostazione di diagnostica per raccogliere i log e le metriche della piattaforma in Azure .