Monitorowanie danych usługi Azure Cache for Redis przy użyciu ustawień diagnostycznych

Ustawienia diagnostyczne na platformie Azure umożliwiają zbieranie dzienników zasobów. Zasób platformy Azure emituje dzienniki zasobów i udostępnia bogate, częste dane dotyczące działania tego zasobu. Te dzienniki są przechwytywane na żądanie i są również określane jako "dzienniki płaszczyzny danych". Zobacz ustawienia diagnostyczne w usłudze Azure Monitor , aby zapoznać się z zalecanym omówieniem funkcji na platformie Azure. Zawartość tych dzienników różni się w zależności od typu zasobu. W usłudze Azure Cache for Redis dostępne są dwie opcje rejestrowania:

  • Metryki pamięci podręcznej (czyli "AllMetrics") używane do rejestrowania metryk z usługi Azure Monitor
  • dzienniki Połączenie ion rejestruje połączenia z pamięcią podręczną na potrzeby zabezpieczeń i diagnostyki.

Zakres dostępności

Warstwa Basic, Standard i Premium Enterprise and Enterprise Flash
Metryki pamięci podręcznej Tak Tak
Dzienniki Połączenie ion Tak Tak

Metryki pamięci podręcznej

Usługa Azure Cache for Redis emituje wiele metryk, takich jak ładowanie serwera i Połączenie ions na sekundę, które są przydatne do rejestrowania. Wybranie opcji AllMetrics umożliwia rejestrowanie tych i innych metryk pamięci podręcznej. Możesz skonfigurować czas przechowywania metryk. Zobacz tutaj, aby zapoznać się z przykładem eksportowania metryk pamięci podręcznej do konta magazynu.

Dzienniki Połączenie ion

Usługa Azure Cache for Redis używa ustawień diagnostycznych platformy Azure do rejestrowania informacji o połączeniach klientów z pamięcią podręczną. Rejestrowanie i analizowanie tego ustawienia diagnostycznego pomaga zrozumieć, kto łączy się z pamięciami podręcznymi i znacznikiem czasu tych połączeń. Dane dziennika mogą służyć do identyfikowania zakresu naruszenia zabezpieczeń i do celów inspekcji zabezpieczeń.

Różnice między warstwami usługi Azure Cache for Redis

Implementacja dzienników połączeń różni się nieco między warstwami:

  • Pamięci podręczne w warstwie Podstawowa, Standardowa i Premium sonduje połączenia klientów według adresu IP, w tym liczbę połączeń pochodzących z każdego unikatowego adresu IP. Te dzienniki nie są skumulowane. Reprezentują migawki do punktu w czasie wykonywane w 10-sekundowych odstępach czasu. Zdarzenia uwierzytelniania (zakończone powodzeniem i niepowodzeniem) i zdarzenia rozłączenia nie są rejestrowane w tych warstwach.
  • Pamięci podręczne w warstwie Flash w przedsiębiorstwie i przedsiębiorstwie korzystają z funkcji zdarzeń połączenia inspekcji wbudowanych w usługę Redis Enterprise. Zdarzenia inspekcji połączeń umożliwiają rejestrowanie każdego połączenia, rozłączenia i zdarzenia uwierzytelniania, w tym zdarzeń uwierzytelniania, które zakończyły się niepowodzeniem.

Dzienniki połączeń utworzone w warstwach wyglądają podobnie, ale mają pewne różnice. Dwa formaty są wyświetlane bardziej szczegółowo w dalszej części artykułu.

Ważne

Rejestrowanie połączenia w warstwach Podstawowa, Standardowa i Premium sonduje bieżące połączenia klienta w pamięci podręcznej. Te same adresy IP klienta pojawiają się ponownie. Rejestrowanie w warstwach Flash Enterprise i Enterprise koncentruje się na każdym zdarzeniu połączenia. Dzienniki występują tylko wtedy, gdy rzeczywiste zdarzenie wystąpiło po raz pierwszy.

Wymagania wstępne/ograniczenia rejestrowania Połączenie ion

Warstwy Podstawowa, Standardowa i Premium

  • Ponieważ dzienniki połączeń w tych warstwach składają się z migawek punkt-w czasie wykonywanych co 10 sekund, połączenia, które są ustanawiane i usuwane między 10-sekundowymi interwałami, nie są rejestrowane.
  • Zdarzenia uwierzytelniania nie są rejestrowane.
  • Rozpoczęcie przepływu wszystkich ustawień diagnostycznych do wybranego miejsca docelowego może potrwać do 90 minut .
  • Włączenie dzienników połączeń może spowodować niewielkie obniżenie wydajności wystąpienia pamięci podręcznej.
  • Tylko plan cen dzienników analizy jest obsługiwany podczas przesyłania strumieniowego dzienników do usługi Azure Log Analytics. Aby uzyskać więcej informacji, zobacz Cennik usługi Azure Monitor.

Warstwy Flash dla przedsiębiorstw i przedsiębiorstw

  • W przypadku korzystania z zasad klastra systemu operacyjnego dzienniki są emitowane z każdego węzła danych. W przypadku korzystania z zasad klastra przedsiębiorstwa tylko węzeł używany jako serwer proxy emituje dzienniki. Obie wersje nadal obejmują wszystkie połączenia z pamięcią podręczną. Jest to tylko różnica architektoniczna.
  • Utrata danych (czyli brak zdarzenia połączenia) jest rzadka, ale możliwa. Utrata danych jest zwykle spowodowana problemami z siecią.
  • Dzienniki rozłączania nie są jeszcze w pełni stabilne, a zdarzenia mogą zostać pominięte.
  • Ponieważ dzienniki połączeń w warstwach Enterprise są oparte na zdarzeniach, należy zachować ostrożność w zasadach przechowywania. Jeśli na przykład okres przechowywania jest ustawiony na 10 dni, a zdarzenie połączenia miało miejsce 15 dni temu, połączenie to może nadal istnieć, ale dziennik dla tego połączenia nie jest zachowywany.
  • W przypadku korzystania z aktywnej replikacji geograficznej rejestrowanie musi być skonfigurowane dla każdego wystąpienia pamięci podręcznej w grupie replikacji geograficznej osobno.
  • Rozpoczęcie przepływu wszystkich ustawień diagnostycznych do wybranego miejsca docelowego może potrwać do 90 minut .
  • Włączenie dzienników połączeń może spowodować niewielkie obniżenie wydajności wystąpienia pamięci podręcznej.

Uwaga

Zawsze można użyć poleceń INFO lub CLIENT LIST , aby sprawdzić, kto jest połączony z wystąpieniem pamięci podręcznej na żądanie.

Ważne

Podczas wybierania dzienników można wybrać określoną kategorię lub grupy kategorii, które są wstępnie zdefiniowanymi grupami dzienników w usługach platformy Azure. W przypadku korzystania z grup kategorii nie można już skonfigurować ustawień przechowywania. Jeśli musisz określić czas przechowywania dzienników połączeń, wybierz element w sekcji Kategorie .

Miejsca docelowe dziennika

Możesz włączyć ustawienia diagnostyczne wystąpień usługi Azure Cache for Redis i wysłać dzienniki zasobów do następujących miejsc docelowych:

  • Obszar roboczy usługi Log Analytics — nie musi znajdować się w tym samym regionie co monitorowany zasób.
  • Konto magazynu — musi znajdować się w tym samym regionie co pamięć podręczna. Konta usługi Premium Storage nie są jednak obsługiwane jako miejsce docelowe.
  • Centrum zdarzeń — ustawienia diagnostyczne nie mogą uzyskiwać dostępu do zasobów centrum zdarzeń po włączeniu sieci wirtualnych. Włącz ustawienie Zezwalaj na zaufane usługi firmy Microsoft obejście tej zapory? w centrach zdarzeń w celu udzielenia dostępu do zasobów centrum zdarzeń. Centrum zdarzeń musi znajdować się w tym samym regionie co pamięć podręczna.
  • Rozwiązanie partnerskie — listę potencjalnych rozwiązań do rejestrowania partnerów można znaleźć tutaj

Aby uzyskać więcej informacji na temat wymagań diagnostycznych, zobacz ustawienia diagnostyczne.

Podczas wysyłania dzienników diagnostycznych do dowolnego miejsca docelowego są naliczane normalne stawki danych za użycie konta magazynu i centrum zdarzeń. Opłaty są naliczane w usłudze Azure Monitor, a nie w usłudze Azure Cache for Redis. Podczas wysyłania dzienników do usługi Log Analytics opłaty są naliczane tylko za pozyskiwanie danych usługi Log Analytics.

Aby uzyskać więcej informacji o cenach, cennik usługi Azure Monitor.

Włączanie rejestrowania połączeń przy użyciu witryny Azure Portal

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do konta usługi Azure Cache for Redis. Otwórz okienko Ustawienia diagnostyczne w sekcji Monitorowanie po lewej stronie. Następnie wybierz pozycję Dodaj ustawienie diagnostyczne.

    Select diagnostics

  3. W okienku Ustawienia diagnostyczne wybierz pozycję Połączenie edClientList z kategorii.

    Aby uzyskać więcej informacji na temat zarejestrowanych danych, zobacz poniżej zawartość dzienników Połączenie ion.

  4. Po wybraniu pozycji Połączenie edClientList wyślij dzienniki do preferowanego miejsca docelowego. Wybierz informacje w okienku roboczym.

    Select enable resource-specific

Włączanie rejestrowania połączeń przy użyciu interfejsu API REST

Użyj interfejsu API REST usługi Azure Monitor do utworzenia ustawienia diagnostycznego za pośrednictwem konsoli interaktywnej. Aby uzyskać więcej informacji, zobacz Tworzenie lub aktualizowanie.

Zażądaj

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

Nagłówki

Parametry/nagłówki Wartość/opis
name Nazwa ustawienia diagnostycznego.
resourceUri subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/Redis/{CACHE_NAME}
api-version 2017-05-01-preview
Content-Type application/json

Treść

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

Włączanie rejestrowania Połączenie ion przy użyciu interfejsu wiersza polecenia platformy Azure

Użyj polecenia , az monitor diagnostic-settings create aby utworzyć ustawienie diagnostyczne za pomocą interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji na temat opisów poleceń i parametrów, zobacz Create diagnostic settings to send platform logs and metrics to different destinations (Tworzenie ustawień diagnostycznych w celu wysyłania dzienników i metryk platformy do różnych miejsc docelowych). W tym przykładzie pokazano, jak za pomocą interfejsu wiersza polecenia platformy Azure przesyłać strumieniowo dane do czterech różnych punktów końcowych:

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

Zawartość dzienników Połączenie ion

Te pola i właściwości są wyświetlane w ConnectedClientList kategorii dziennika. W usłudze Azure Monitor dzienniki są zbierane w ACRConnectedClientList tabeli pod nazwą MICROSOFT.CACHEdostawcy zasobów .

Pole lub właściwość usługi Azure Storage Właściwość Dzienniki usługi Azure Monitor opis
time TimeGenerated Sygnatura czasowa generowania dziennika w formacie UTC.
location Location Lokalizacja (region) wystąpienia usługi Azure Cache for Redis była dostępna.
category nie dotyczy Dostępne kategorie dzienników: ConnectedClientList.
resourceId _ResourceId Zasób usługi Azure Cache for Redis, dla którego włączono dzienniki.
operationName OperationName Operacja redis skojarzona z rekordem dziennika.
properties nie dotyczy Zawartość tego pola jest opisana w kolejnych wierszach.
tenant CacheName Nazwa wystąpienia usługi Azure Cache for Redis.
roleInstance RoleInstance Wystąpienie roli, które zarejestrowało listę klientów.
connectedClients.ip ClientIp Adres IP klienta redis.
connectedClients.privateLinkIpv6 PrivateLinkIpv6 Adres IPv6 klienta Redis (jeśli ma to zastosowanie).
connectedClients.count ClientCount Liczba połączeń klienta usługi Redis ze skojarzonego adresu IP.

Przykładowy dziennik konta magazynu

Jeśli wyślesz dzienniki do konta magazynu, zawartość dzienników będzie wyglądać następująco.

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

Zapytania usługi Log Analytics

Uwaga

Aby zapoznać się z samouczkiem dotyczącym korzystania z usługi Azure Log Analytics, zobacz Omówienie usługi Log Analytics w usłudze Azure Monitor. Pamiętaj, że wyświetlenie dzienników w usłudze Log Analtyics może potrwać do 90 minut.

Poniżej przedstawiono kilka podstawowych zapytań, które mają być używane jako modele.

  • Połączenia klienta usługi Azure Cache for Redis na godzinę w określonym zakresie adresów IP:
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)
  • Unikatowe adresy IP klienta redis połączone z pamięcią podręczną:
ACRConnectedClientList
| summarize count() by ClientIp

Następne kroki

Aby uzyskać szczegółowe informacje na temat tworzenia ustawienia diagnostycznego przy użyciu witryny Azure Portal, interfejsu wiersza polecenia lub programu PowerShell, zobacz tworzenie ustawienia diagnostycznego w celu zbierania dzienników platformy i metryk na platformie Azure .