Azure Cache voor Redis-gegevens bewaken met behulp van diagnostische instellingen

Diagnostische instellingen in Azure worden gebruikt om resourcelogboeken te verzamelen. Een Azure-resource verzendt resourcelogboeken en biedt uitgebreide, frequente gegevens over de werking van die resource. Deze logboeken worden vastgelegd per aanvraag en worden ook wel 'gegevensvlaklogboeken' genoemd. Zie diagnostische instellingen in Azure Monitor voor een aanbevolen overzicht van de functionaliteit in Azure. De inhoud van deze logboeken verschilt per resourcetype. In Azure Cache voor Redis zijn er twee opties beschikbaar om te registreren:

Bereik van beschikbaarheid

Laag Basic, Standard en Premium Enterprise en Enterprise Flash
Metrische gegevens van cache Ja Ja
logboeken voor Verbinding maken ion Ja Ja

Metrische gegevens van cache

Azure Cache voor Redis verzendt veel metrische gegevens, zoals serverbelasting en Verbinding maken ions per seconde die handig zijn om te registreren. Als u de optie AllMetrics selecteert , kunnen deze en andere metrische gegevens van de cache worden vastgelegd. U kunt configureren hoe lang de metrische gegevens worden bewaard. Zie hier voor een voorbeeld van het exporteren van metrische cachegegevens naar een opslagaccount.

logboeken voor Verbinding maken ion

Azure Cache voor Redis maakt gebruik van diagnostische azure-instellingen voor het vastleggen van gegevens over clientverbindingen met uw cache. Door deze diagnostische instelling te registreren en te analyseren, krijgt u inzicht in wie verbinding maakt met uw caches en de tijdstempel van deze verbindingen. De logboekgegevens kunnen worden gebruikt om het bereik van een beveiligingsschending en voor beveiligingscontroledoeleinden te identificeren.

Verschillen tussen Azure Cache voor Redis lagen

De implementatie van verbindingslogboeken verschilt enigszins tussen lagen:

  • Basic-, Standard- en Premium-laag caches peilt clientverbindingen op IP-adres, inclusief het aantal verbindingen dat afkomstig is van elk uniek IP-adres. Deze logboeken zijn niet cumulatief. Ze vertegenwoordigen momentopnamen die met intervallen van 10 seconden zijn gemaakt. Verificatiegebeurtenissen (geslaagd en mislukt) en verbroken verbindingen worden niet vastgelegd in deze lagen.
  • Enterprise- en Enterprise Flash-tier-caches maken gebruik van de functionaliteit voor auditverbindingsgebeurtenissen die zijn ingebouwd in Redis Enterprise. Bij controle van verbindingsgebeurtenissen kan elke verbinding, verbroken verbinding en verificatiegebeurtenis worden vastgelegd, inclusief mislukte verificatiegebeurtenissen.

De verbindingslogboeken die worden geproduceerd, zien er ongeveer hetzelfde uit als in de lagen, maar er zijn enkele verschillen. De twee indelingen worden verderop in het artikel uitgebreider weergegeven.

Belangrijk

De verbindingslogboekregistratie in de lagen Basic, Standard en Premium peilt de huidige clientverbindingen in de cache. Dezelfde CLIENT-IP-adressen worden steeds opnieuw weergegeven. Logboekregistratie in de Enterprise- en Enterprise Flash-lagen is gericht op elke verbindings gebeurtenis. Logboeken vinden alleen plaats wanneer de werkelijke gebeurtenis voor het eerst heeft plaatsgevonden.

Vereisten/beperkingen van logboekregistratie van Verbinding maken

Basic-, Standard- en Premium-lagen

  • Omdat verbindingslogboeken in deze lagen bestaan uit momentopnamen van een bepaald tijdstip die elke 10 seconden worden gemaakt, worden verbindingen die tussen 10 seconden zijn gemaakt en verwijderd, niet vastgelegd.
  • Verificatiegebeurtenissen worden niet geregistreerd.
  • Het kan tot 90 minuten duren voordat alle diagnostische instellingen naar de geselecteerde bestemming worden gestroomd.
  • Het inschakelen van verbindingslogboeken kan leiden tot een kleine prestatievermindering van het cache-exemplaar.
  • Alleen het prijsplan voor Analytics-logboeken wordt ondersteund bij het streamen van logboeken naar Azure Log Analytics. Zie prijzen voor Azure Monitor voor meer informatie.

Enterprise- en Enterprise Flash-lagen

  • Wanneer u OSS-clusterbeleid gebruikt, worden logboeken verzonden vanuit elk gegevensknooppunt. Wanneer u Enterprise Cluster Policy gebruikt, worden alleen het knooppunt dat wordt gebruikt als proxy logboeken verzonden. Beide versies hebben nog steeds betrekking op alle verbindingen met de cache. Dit is slechts een architectonisch verschil.
  • Gegevensverlies (dat wil gezegd, ontbrekende verbindings gebeurtenis) is zeldzaam, maar mogelijk. Gegevensverlies wordt meestal veroorzaakt door netwerkproblemen.
  • Verbroken logboeken zijn nog niet volledig stabiel en gebeurtenissen kunnen worden gemist.
  • Omdat verbindingslogboeken op de Enterprise-lagen gebeurtenissen zijn gebaseerd, moet u voorzichtig zijn met uw bewaarbeleid. Als retentie bijvoorbeeld is ingesteld op 10 dagen en er 15 dagen geleden een verbindingsgebeurtenis is opgetreden, bestaat die verbinding mogelijk nog steeds, maar blijft het logboek voor die verbinding niet behouden.
  • Als u actieve geo-replicatie gebruikt, moet logboekregistratie worden geconfigureerd voor elk cache-exemplaar in de geo-replicatiegroep afzonderlijk.
  • Het kan tot 90 minuten duren voordat alle diagnostische instellingen naar de geselecteerde bestemming worden gestroomd.
  • Het inschakelen van verbindingslogboeken kan leiden tot een kleine prestatievermindering van het cache-exemplaar.

Notitie

Het is altijd mogelijk om de OPDRACHTEN INFO of CLIENT LIST te gebruiken om te controleren wie is verbonden met een cache-exemplaar op aanvraag.

Belangrijk

Wanneer u logboeken selecteert, kunt u de specifieke categorie - of categoriegroepen kiezen. Dit zijn vooraf gedefinieerde groeperingen van logboeken in Azure-services. Wanneer u categoriegroepen gebruikt, kunt u de bewaarinstellingen niet meer configureren. Als u de bewaarduur voor uw verbindingslogboeken wilt bepalen, selecteert u in plaats daarvan het item in de sectie Categorieën .

Logboekbestemmingen

U kunt diagnostische instellingen voor Azure Cache voor Redis exemplaren inschakelen en resourcelogboeken verzenden naar de volgende bestemmingen:

  • Log Analytics-werkruimte : hoeft zich niet in dezelfde regio te bevinden als de resource die wordt bewaakt.
  • Opslagaccount : moet zich in dezelfde regio bevinden als de cache. Premium-opslagaccounts worden echter niet ondersteund als bestemming.
  • Event Hub: diagnostische instellingen hebben geen toegang tot Event Hub-resources wanneer virtuele netwerken zijn ingeschakeld. Schakel de instelling Vertrouwde Microsoft-services toestaan om deze firewall te omzeilen? instelling in Event Hubs om toegang te verlenen tot uw Event Hub-resources. De Event Hub moet zich in dezelfde regio bevinden als de cache.
  • Partneroplossing : hier vindt u een lijst met mogelijke oplossingen voor partnerlogboekregistratie

Zie diagnostische instellingen voor meer informatie over diagnostische vereisten.

Er worden normale gegevenstarieven in rekening gebracht voor opslagaccount- en Event Hub-gebruik wanneer u diagnostische logboeken naar een van beide bestemmingen verzendt. U wordt gefactureerd onder Azure Monitor niet Azure Cache voor Redis. Wanneer u logboeken naar Log Analytics verzendt, worden er alleen kosten in rekening gebracht voor opname van Log Analytics-gegevens.

Voor meer prijsinformatie, prijzen van Azure Monitor.

Logboekregistratie van verbindingen inschakelen met behulp van Azure Portal

  1. Meld u aan bij de Azure-portal.

  2. Navigeer naar uw Azure Cache voor Redis-account. Open het deelvenster Diagnostische instellingen onder de sectie Bewaking aan de linkerkant. Selecteer vervolgens Diagnostische instelling toevoegen.

    Select diagnostics

  3. Selecteer in het deelvenster Diagnostische instellingen Verbinding maken edClientList in Categorieën.

    Zie de onderstaande inhoud van de Verbinding maken ionlogboeken voor meer informatie over de vastgelegde gegevens.

  4. Nadat u Verbinding maken edClientList hebt geselecteerd, verzendt u uw logboeken naar uw favoriete bestemming. Selecteer de informatie in het werkvenster.

    Select enable resource-specific

Logboekregistratie van verbindingen inschakelen met behulp van de REST API

Gebruik de Azure Monitor REST API voor het maken van een diagnostische instelling via de interactieve console. Zie Maken of bijwerken voor meer informatie.

Aanvragen

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

Headers

Parameters/headers Waarde/beschrijving
name De naam van uw diagnostische instelling.
resourceUri subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/Redis/{CACHE_NAME}
api-version 2017-05-01-preview
Content-Type application/json

Tekst

{
    "properties": {
      "storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1",
      "eventHubAuthorizationRuleId": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule",
      "eventHubName": "myeventhub",
      "workspaceId": "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
      "logs": [
        {
          "category": "ConnectedClientList",
          "enabled": true,
          "retentionPolicy": {
            "enabled": false,
            "days": 0
          }
        }
      ]
    }
}

Logboekregistratie van Verbinding maken inschakelen met behulp van Azure CLI

Gebruik de az monitor diagnostic-settings create opdracht om een diagnostische instelling te maken met de Azure CLI. Zie Diagnostische instellingen maken om platformlogboeken en metrische gegevens naar verschillende bestemmingen te verzenden voor meer informatie over opdracht- en parameterbeschrijvingen. In dit voorbeeld ziet u hoe u de Azure CLI gebruikt om gegevens naar vier verschillende eindpunten te streamen:

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}/proviers/Microsoft.Datadog/monitors/mydatadog

Inhoud van de Verbinding maken ionlogboeken

Deze velden en eigenschappen worden weergegeven in de ConnectedClientList logboekcategorie. In Azure Monitor worden logboeken verzameld in de ACRConnectedClientList tabel onder de naam van de resourceprovider.MICROSOFT.CACHE

Azure Storage-veld of -eigenschap Eigenschap Azure Monitor-logboeken Beschrijving
time TimeGenerated De tijdstempel van het tijdstip waarop het logboek is gegenereerd in UTC.
location Location De locatie (regio) waarin het Azure Cache voor Redis exemplaar is geopend.
category N.v.t. Beschikbare logboekcategorieën: ConnectedClientList.
resourceId _ResourceId De Azure Cache voor Redis-resource waarvoor logboeken zijn ingeschakeld.
operationName OperationName De Redis-bewerking die is gekoppeld aan de logboekrecord.
properties N.v.t. De inhoud van dit veld wordt beschreven in de volgende rijen.
tenant CacheName De naam van het Azure Cache voor Redis-exemplaar.
roleInstance RoleInstance Het rolexemplaren dat de clientlijst heeft geregistreerd.
connectedClients.ip ClientIp Het IP-adres van de Redis-client.
connectedClients.privateLinkIpv6 PrivateLinkIpv6 Het IPv6-adres van de Redis-client private link (indien van toepassing).
connectedClients.count ClientCount Het aantal Redis-clientverbindingen van het bijbehorende IP-adres.

Voorbeeldlogboek van opslagaccount

Als u uw logboeken naar een opslagaccount verzendt, ziet de inhoud van de logboeken er als volgt uit.

{
    "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/E6761CE7-A7BC-442E-BBAE-950A121933B5/RESOURCEGROUPS/AZURE-CACHE/PROVIDERS/MICROSOFT.CACHE/REDIS/MYCACHE", 
    "Level": 4,
    "operationName": "Microsoft.Cache/ClientList"
}

Log Analytics-query's

Notitie

Zie Overzicht van Log Analytics in Azure Monitor voor een zelfstudie over het gebruik van Azure Log Analytics. Houd er rekening mee dat het maximaal 90 minuten kan duren voordat logboeken worden weergegeven in Logboek analtyics.

Hier volgen enkele basisquery's die u als modellen kunt gebruiken.

  • Azure Cache voor Redis clientverbindingen per uur binnen het opgegeven IP-adresbereik:
let IpRange = "10.1.1.0/24";
ACRConnectedClientList
// For particular datetime filtering, add '| where TimeGenerated between (StartTime .. EndTime)'
| where ipv4_is_in_range(ClientIp, IpRange)
| summarize ConnectionCount = sum(ClientCount) by TimeRange = bin(TimeGenerated, 1h)
  • Unieke IP-adressen van Redis-clients die zijn verbonden met de cache:
ACRConnectedClientList
| summarize count() by ClientIp

Volgende stappen

Zie het artikel Over het verzamelen van platformlogboeken en metrische gegevens in het Artikel over het maken van diagnostische gegevens in Azure Portal, CLI of PowerShell voor gedetailleerde informatie over het maken van een diagnostische instelling.