Tanılama ayarlarını kullanarak Redis için Azure Cache verilerini izleme

Kaynak günlüklerini toplamak için Azure'daki tanılama ayarları kullanılır. Azure kaynağı kaynak günlüklerini yayar ve bu kaynağın işleyişi hakkında zengin ve sık kullanılan veriler sağlar. Bu günlükler istek başına yakalanır ve "veri düzlemi günlükleri" olarak da adlandırılır. Azure'daki işlevlere yönelik önerilen genel bakış için bkz . Azure İzleyici'deki tanılama ayarları. Bu günlüklerin içeriği, kaynak türüne göre değişir. Redis için Azure Cache'da günlüğe kaydetmek için iki seçenek vardır:

Kullanılabilirlik kapsamı

Katman Temel, Standart ve Premium Kurumsal ve Kurumsal Flash
Önbellek Ölçümleri Evet Evet
Bağlan Ion Günlükleri Evet Evet

Önbellek Ölçümleri

Redis için Azure Cache, Sunucu Yükü ve Saniye başına Bağlan ions gibi günlüğe kaydetmeye yardımcı olan birçok ölçüm yayar. AllMetrics seçeneğinin belirtilmesi, bunların ve diğer önbellek ölçümlerinin günlüğe kaydedilmesini sağlar. Ölçümlerin ne kadar süreyle tutulabileceğini yapılandırabilirsiniz. Önbellek ölçümlerini depolama hesabına aktarma örneği için buraya bakın.

Bağlan Ion Günlükleri

Redis için Azure Cache, önbelleğinize yönelik istemci bağlantılarıyla ilgili bilgileri günlüğe kaydetmek için Azure tanılama ayarlarını kullanır. Bu tanılama ayarını günlüğe kaydetme ve analiz etme, önbelleklerinize kimin bağlanıyor olduğunu ve bu bağlantıların zaman damgasını anlamanıza yardımcı olur. Günlük verileri, güvenlik ihlalinin kapsamını belirlemek ve güvenlik denetimi amacıyla kullanılabilir.

Redis için Azure Cache Katmanları Arasındaki Farklar

Bağlantı günlüklerinin uygulanması katmanlar arasında biraz farklıdır:

  • Temel, Standart ve Premium katman, her benzersiz IP adresinden kaynaklanan bağlantı sayısı da dahil olmak üzere istemci bağlantılarını IP adresine göre önbelleğe alır. Bu günlükler kümülatif değildir. 10 saniyelik aralıklarla alınan belirli bir noktaya anlık görüntüleri temsil eder. Kimlik doğrulama olayları (başarılı ve başarısız) ve bağlantı kesme olayları bu katmanlarda günlüğe kaydedilmez.
  • Kurumsal ve Kurumsal Flash katmanlı önbellekler , Redis Enterprise'da yerleşik olarak bulunan bağlantı olaylarını denetleme işlevini kullanır. Bağlantı olaylarını denetleme, başarısız kimlik doğrulama olayları dahil olmak üzere her bağlantı, bağlantı kesilmesi ve kimlik doğrulama olayının günlüğe kaydedilmesine izin verir.

Oluşturulan bağlantı günlükleri katmanlar arasında benzer görünse de bazı farklılıklar vardır. bu iki biçim makalenin ilerleyen bölümlerinde daha ayrıntılı olarak gösterilmiştir.

Önemli

Temel, Standart ve Premium katmanlarında bağlantı günlüğü önbellekteki geçerli istemci bağlantılarını yoklar . Aynı istemci IP adresleri tekrar tekrar görüntülenir. Kurumsal ve Kurumsal Flash katmanlarında oturum açmak her bağlantı olayına odaklanır. Günlükler yalnızca gerçek olay ilk kez gerçekleştiğinde gerçekleşir.

Bağlan Günlüğü Önkoşulları/Sınırlamaları

Temel, Standart ve Premium katmanlar

  • Bu katmanlardaki bağlantı günlükleri her 10 saniyede bir alınan belirli bir noktaya anlık görüntüden oluştuğundan, 10 saniyelik aralıklar arasında kurulan ve kaldırılan bağlantılar günlüğe kaydedilmez.
  • Kimlik doğrulama olayları günlüğe kaydedilmez.
  • Tüm tanılama ayarlarının seçili hedefinize akmaya başlaması 90 dakika kadar sürebilir.
  • Bağlantı günlüklerinin etkinleştirilmesi önbellek örneğinde küçük bir performans düşüşüne neden olabilir.
  • Azure Log Analytics'e günlük akışı yapılırken yalnızca Analiz Günlükleri fiyatlandırma planı desteklenir. Daha fazla bilgi için bkz . Azure İzleyici fiyatlandırması.

Kurumsal ve Kurumsal Flash katmanları

  • OSS Küme İlkesi'ni kullandığınızda, günlükler her veri düğümünden yayılır. Kurumsal Küme İlkesi'ni kullandığınızda, yalnızca ara sunucu olarak kullanılan düğüm günlükleri yayar. Her iki sürüm de önbelleğe yönelik tüm bağlantıları kapsar. Bu sadece mimari bir farktır.
  • Veri kaybı (yani bağlantı olayının eksik olması) nadirdir ancak mümkündür. Veri kaybına genellikle ağ sorunları neden olur.
  • Bağlantı kesme günlükleri henüz tam olarak kararlı değildir ve olaylar kaçırılabilir.
  • Kurumsal katmanlardaki bağlantı günlükleri olay tabanlı olduğundan bekletme ilkelerinize dikkat edin. Örneğin, bekletme 10 gün olarak ayarlandıysa ve 15 gün önce bir bağlantı olayı oluştuysa, bu bağlantı hala mevcut olabilir, ancak bu bağlantının günlüğü tutulmaz.
  • Etkin coğrafi çoğaltma kullanılıyorsa , coğrafi çoğaltma grubundaki her önbellek örneği için günlük ayrı ayrı yapılandırılmalıdır.
  • Tüm tanılama ayarlarının seçili hedefinize akmaya başlaması 90 dakika kadar sürebilir.
  • Bağlantı günlüklerinin etkinleştirilmesi önbellek örneğinde küçük bir performans düşüşüne neden olabilir.

Dekont

bir önbellek örneğine isteğe bağlı kimlerin bağlı olduğunu denetlemek için BİlGİ veya İsteMCİ LİSTESİ komutlarını kullanmak her zaman mümkündür.

Önemli

Günlükleri seçerken, Azure hizmetlerinde günlüklerin önceden tanımlanmış gruplandırmaları olan belirli Kategori veya Kategori gruplarını seçebilirsiniz. Kategori gruplarını kullandığınızda, artık bekletme ayarlarını yapılandırasınız. Bağlantı günlükleriniz için bekletme süresini belirlemeniz gerekiyorsa, bunun yerine Kategoriler bölümünde öğeyi seçin.

Günlük Hedefleri

Redis için Azure Cache örnekleri için tanılama ayarlarını açabilir ve kaynak günlüklerini aşağıdaki hedeflere gönderebilirsiniz:

  • Log Analytics çalışma alanı - izlenen kaynakla aynı bölgede olması gerekmez.
  • Depolama hesabı - önbellekle aynı bölgede olmalıdır. Ancak Premium depolama hesapları hedef olarak desteklenmez .
  • Olay hub'ı - sanal ağlar etkinleştirildiğinde tanılama ayarları olay hub'ı kaynaklarına erişemez. Olay hub'larında güvenilen Microsoft hizmetleri bu güvenlik duvarını atlamasına izin ver? ayarını etkinleştirerek olay hub'larınıza erişim izni verin. Olay hub'ı önbellekle aynı bölgede olmalıdır.
  • İş Ortağı Çözümü - olası iş ortağı günlüğü çözümlerinin listesi burada bulunabilir

Tanılama gereksinimleri hakkında daha fazla bilgi için bkz . tanılama ayarları.

Tanılama günlüklerini her iki hedefe de gönderdiğinizde depolama hesabı ve olay hub'ı kullanımı için normal veri ücretleri alınır. Redis için Azure Cache değil Azure İzleyici kapsamında faturalandırılırsınız. Günlükleri Log Analytics'e gönderirken yalnızca Log Analytics veri alımı için ücretlendirilirsiniz.

Daha fazla fiyatlandırma bilgisi için Azure İzleyici fiyatlandırması.

Azure portalını kullanarak bağlantı günlüğünü etkinleştirme

  1. Azure Portal oturum açın.

  2. Redis için Azure Cache hesabınıza gidin. Soldaki İzleme bölümünün altındaki Tanılama ayarları bölmesini açın. Ardından Tanılama ayarı ekle'yi seçin.

    Select diagnostics

  3. Tanılama ayarları bölmesinde Kategoriler'den Bağlan edClientList öğesini seçin.

    Günlüğe kaydedilen veriler hakkında daha fazla ayrıntı için Bağlan ion Günlükleri'nin içeriği bölümüne bakın.

  4. Bağlan edClientList'i seçtikten sonra günlüklerinizi tercih ettiğiniz hedefe gönderin. Çalışma bölmesindeki bilgileri seçin.

    Select enable resource-specific

REST API kullanarak bağlantı günlüğünü etkinleştirme

Etkileşimli konsol aracılığıyla tanılama ayarı oluşturmak için Azure İzleyici REST API'sini kullanın. Daha fazla bilgi için bkz . Oluşturma veya güncelleştirme.

İste

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

Üst Bilgiler

Parametreler/Üst Bilgiler Değer/Açıklama
name Tanılama ayarınızın adı.
resourceUri subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/Redis/{CACHE_NAME}
api-version 2017-05-01-önizleme
Content-Type application/json

Gövde

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

Azure CLI kullanarak Bağlan günlük kaydını etkinleştirme

Komutunu kullanarak az monitor diagnostic-settings create Azure CLI ile bir tanılama ayarı oluşturun. Komut ve parametre açıklamaları hakkında daha fazla bilgi için bkz . Farklı hedeflere platform günlüklerini ve ölçümlerini göndermek için tanılama ayarları oluşturma. Bu örnekte, Azure CLI'yi kullanarak dört farklı uç noktaya veri akışı yapmayı gösterir:

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

Bağlan Ion Günlüklerinin İçeriği

Bu alanlar ve özellikler günlük kategorisinde görünür ConnectedClientList . Azure İzleyici'de ACRConnectedClientList günlükler tablosunda kaynak sağlayıcısı adı MICROSOFT.CACHEaltında toplanır.

Azure Depolama alanı veya özelliği Azure İzleyici Günlükleri özelliği Açıklama
time TimeGenerated Günlüğün UTC'de oluşturulduğu zaman damgası.
location Location Redis için Azure Cache örneğinin erişildiği konum (bölge).
category yok Kullanılabilir günlük kategorileri: ConnectedClientList.
resourceId _ResourceId Günlüklerin etkinleştirildiği Redis için Azure Cache kaynağı.
operationName OperationName Günlük kaydıyla ilişkili Redis işlemi.
properties yok Bu alanın içeriği, izleyen satırlarda açıklanmıştır.
tenant CacheName Redis için Azure Cache örneğinin adı.
roleInstance RoleInstance İstemci listesini günlüğe kaydeden rol örneği.
connectedClients.ip ClientIp Redis istemcisi IP adresi.
connectedClients.privateLinkIpv6 PrivateLinkIpv6 Redis istemcisi özel bağlantı IPv6 adresi (varsa).
connectedClients.count ClientCount İlişkili IP adresinden Redis istemci bağlantılarının sayısı.

Örnek depolama hesabı günlüğü

Günlüklerinizi bir depolama hesabına gönderirseniz, günlüklerin içeriği şöyle görünür.

{
    "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 Sorguları

Dekont

Azure Log Analytics'i kullanma hakkında bir öğretici için bkz . Azure İzleyici'de Log Analytics'e genel bakış. Günlüklerin Log Analtyics'te gösterilmesinin 90 dakika kadar sürebileceğini unutmayın.

Burada model olarak kullanılacak bazı temel sorgular yer alır.

  • Belirtilen IP adresi aralığında saat başına istemci bağlantılarını Redis için Azure Cache:
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)
  • Önbelleğe bağlı benzersiz Redis istemcisi IP adresleri:
ACRConnectedClientList
| summarize count() by ClientIp

Sonraki adımlar

Azure portalı, CLI veya PowerShell kullanarak tanılama ayarı oluşturma hakkında ayrıntılı bilgi için Azure'da platform günlüklerini ve ölçümlerini toplamak için tanılama ayarı oluşturma makalesine bakın.