Memantau data Azure Cache for Redis menggunakan pengaturan diagnostik

Pengaturan diagnostik di Azure digunakan untuk mengumpulkan log sumber daya. Sumber daya Azure memancarkan log sumber daya dan menyediakan data yang kaya dan sering tentang pengoperasian sumber daya tersebut. Log ini diambil per permintaan dan juga disebut sebagai "log sarana data". Lihat pengaturan diagnostik di Azure Monitor untuk gambaran umum fungsionalitas yang direkomendasikan di Azure. Isi log ini bervariasi menurut jenis sumber daya. Di Azure Cache for Redis, dua opsi tersedia untuk dicatat:

  • Metrik Cache (yaitu "AllMetrics") yang digunakan untuk mencatat metrik dari Azure Monitor
  • Koneksi ion Logs mencatat koneksi ke cache untuk tujuan keamanan dan diagnostik.

Cakupan ketersediaan

Tingkat Dasar, Standar, dan Premium Enterprise dan Enterprise Flash
Metrik Cache Ya Ya
Log Koneksi ion Ya Ya

Metrik Cache

Azure Cache for Redis memancarkan banyak metrik seperti Beban Server dan Koneksi ion per Detik yang berguna untuk dicatat. Memilih opsi AllMetrics memungkinkan metrik ini dan cache lainnya dicatat. Anda dapat mengonfigurasi berapa lama metrik dipertahankan. Lihat di sini untuk contoh mengekspor metrik cache ke akun penyimpanan.

Log Koneksi ion

Azure Cache for Redis menggunakan pengaturan diagnostik Azure untuk mencatat informasi tentang koneksi klien ke cache Anda. Mencatat lalu menganalisis pengaturan diagnostik ini membantu Anda memahami siapa yang terhubung ke cache Anda dan memberi tanda waktu koneksi tersebut. Data log dapat digunakan untuk mengidentifikasi cakupan pelanggaran keamanan dan untuk tujuan audit keamanan.

Perbedaan Antara Tingkat Azure Cache for Redis

Implementasi log koneksi sedikit berbeda antara tingkatan:

  • Cache tingkat Dasar, Standar, dan Premium melakukan polling koneksi klien berdasarkan alamat IP, termasuk jumlah koneksi yang berasal dari setiap alamat IP unik. Log ini tidak kumulatif. Log mewakili rekam jepret point-in-time yang diambil dalam interval 10 detik. Peristiwa autentikasi (berhasil dan gagal) dan peristiwa pemutusan tidak dicatat di tingkat ini.
  • Cache Enterprise dan Enterprise Flash-tier menggunakan fungsionalitas peristiwa koneksi audit bawaan Redis Enterprise. Peristiwa koneksi audit memungkinkan setiap peristiwa koneksi, pemutusan, dan autentikasi dicatat, termasuk peristiwa autentikasi yang gagal.

Log koneksi yang dihasilkan terlihat mirip di antara tingkatan, tetapi memiliki beberapa perbedaan. Dua format ditampilkan secara lebih rinci nanti di artikel.

Penting

Pengelogan koneksi di tingkat Dasar, Standar, dan Premium melakukan polling koneksi klien saat ini di cache. Alamat IP klien yang sama muncul berulang kali. Pengelogan di tingkat Enterprise dan Enterprise Flash difokuskan pada setiap peristiwa koneksi. Log hanya terjadi ketika peristiwa aktual terjadi untuk pertama kalinya.

Prasyarat/Batasan Pengelogan Koneksi ion

Tingkat Dasar, Standar, dan Premium

  • Karena log koneksi di tingkat ini terdiri dari rekam jepret titik waktu yang diambil setiap 10 detik, koneksi yang dibuat dan dihapus dalam interval antara 10 detik tidak dicatat.
  • Peristiwa autentikasi tidak dicatat.
  • Semua pengaturan diagnostik mungkin memerlukan waktu hingga 90 menit untuk mulai mengalir ke tujuan yang Anda pilih.
  • Mengaktifkan log koneksi dapat menyebabkan penurunan performa kecil ke instans cache.
  • Hanya paket harga Log Analitik yang didukung saat streaming log ke Azure Log Analytics. Untuk informasi selengkapnya, lihat Harga Azure Monitor.

Tingkatan Enterprise dan Enterprise Flash

  • Saat Anda menggunakan Kebijakan Kluster OSS, log dipancarkan dari setiap simpul data. Saat Anda menggunakan Kebijakan Kluster Perusahaan, hanya simpul yang digunakan sebagai proksi yang memancarkan log. Kedua versi masih mencakup semua koneksi ke cache. Ini hanyalah perbedaan arsitektur.
  • Kehilangan data (yaitu, kehilangan peristiwa koneksi) jarang terjadi, tetapi mungkin. Kehilangan data biasanya disebabkan oleh masalah jaringan.
  • Log pemutusan belum sepenuhnya stabil dan peristiwa mungkin terlewatkan.
  • Karena log koneksi di tingkat Perusahaan berbasis peristiwa, berhati-hatilah terhadap kebijakan retensi Anda. Misalnya, jika retensi diatur ke 10 hari, dan peristiwa koneksi terjadi 15 hari yang lalu, koneksi tersebut mungkin masih ada, tetapi log untuk koneksi tersebut tidak dipertahankan.
  • Jika menggunakan replikasi geografis aktif, pengelogan harus dikonfigurasi untuk setiap instans cache dalam grup replikasi geografis satu per satu.
  • Semua pengaturan diagnostik mungkin memerlukan waktu hingga 90 menit untuk mulai mengalir ke tujuan yang Anda pilih.
  • Mengaktifkan log koneksi dapat menyebabkan penurunan performa kecil ke instans cache.

Catatan

Selalu dimungkinkan untuk menggunakan perintah INFO atau CLIENT LIST untuk memeriksa siapa yang terhubung ke instans cache sesuai permintaan.

Penting

Saat memilih log, Anda dapat memilih grup Kategori atau Kategori tertentu, yang merupakan pengelompokan log yang telah ditentukan sebelumnya di seluruh layanan Azure. Saat menggunakan grup Kategori, Anda tidak dapat lagi mengonfigurasi pengaturan retensi. Jika Anda perlu menentukan durasi retensi untuk log koneksi Anda, pilih item di bagian Kategori sebagai gantinya.

Tujuan Log

Anda dapat mengaktifkan pengaturan diagnostik untuk instans Azure Cache for Redis dan mengirim log sumber daya ke tujuan berikut:

  • Ruang kerja Log Analytics - tidak perlu berada di wilayah yang sama dengan sumber daya yang dipantau.
  • Akun penyimpanan - harus berada di wilayah yang sama dengan cache. Namun, akun penyimpanan premium tidak didukung sebagai tujuan.
  • Hub kejadian - pengaturan diagnostik tidak dapat mengakses sumber daya hub kejadian saat jaringan virtual diaktifkan. Aktifkan pengaturan Izinkan layanan Microsoft tepercaya untuk melewati firewall ini? di hub kejadian untuk memberikan akses ke sumber daya hub kejadian. Hub kejadian harus berada di wilayah yang sama dengan cache.
  • Solusi Mitra - daftar solusi pengelogan mitra potensial dapat ditemukan di sini

Untuk informasi selengkapnya tentang persyaratan diagnostik, lihat pengaturan diagnostik.

Anda dikenakan tarif data normal untuk akun penyimpanan dan penggunaan hub peristiwa saat mengirim log diagnostik ke salah satu tujuan. Anda ditagih di bawah Azure Monitor, bukan Azure Cache for Redis. Saat mengirim log ke Log Analytics, Anda hanya dikenakan biaya untuk penyerapan data Log Analytics.

Untuk informasi harga, lihat Harga Azure Monitor.

Aktifkan pengelogan koneksi menggunakan portal Azure

  1. Masuk ke portal Azure.

  2. Menavigasikan ke akun Azure Cache for Redis. Buka panel Pengaturan diagnostik di bawah bagian Pemantauan di sisi kiri. Kemudian pilih Tambahkan pengaturan diagnostik.

    Select diagnostics

  3. Di panel Pengaturan diagnostik, pilih Koneksi edClientList dari Kategori.

    Untuk detail selengkapnya tentang data yang dicatat, lihat di bawah Konten Log Koneksi ion.

  4. Setelah Anda memilih Koneksi edClientList, kirim log Anda ke tujuan pilihan Anda. Pilih informasi di panel kerja.

    Select enable resource-specific

Mengaktifkan pengelogan koneksi menggunakan REST API

Gunakan Azure Monitor REST API untuk membuat pengaturan diagnostik melalui konsol interaktif. Untuk informasi selengkapnya, lihat Membuat atau memperbarui.

Permintaan

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

Header

Parameter/Header Nilai/Deskripsi
name Nama pengaturan diagnostik Anda.
resourceUri subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/Redis/{CACHE_NAME}
api-version 2017-05-01-preview
Content-Type application/json

Isi

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

Mengaktifkan Koneksi ion Logging menggunakan Azure CLI

az monitor diagnostic-settings create Gunakan perintah untuk membuat pengaturan diagnostik dengan Azure CLI. Untuk informasi selengkapnya tentang deskripsi perintah dan parameter, lihat Membuat pengaturan diagnostik untuk mengirim log dan metrik platform ke tujuan yang berbeda. Contoh ini menunjukkan cara menggunakan Azure CLI untuk mengalirkan data ke empat titik akhir yang berbeda:

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

Konten Log Koneksi ion

Bidang dan properti ini muncul dalam kategori log ConnectedClientList. Di Azure Monitor, log dikumpulkan dalam tabel ACRConnectedClientList di bawah nama penyedia sumber daya MICROSOFT.CACHE.

Bidang atau properti Penyimpanan Azure Solusi log Azure Monitor Deskripsi
time TimeGenerated Tanda waktu dalam UTC pada saat log dihasilkan.
location Location Lokasi (wilayah) tempat instans Azure Cache for Redis diakses.
category n/a Kategori log yang tersedia: ConnectedClientList.
resourceId _ResourceId Sumber daya Azure Cache for Redis tempat log diaktifkan.
operationName OperationName Operasi Redis yang dikaitkan dengan catatan log.
properties n/a Konten bidang ini dijelaskan dalam baris berikut.
tenant CacheName Nama instans Azure Cache for Redis.
roleInstance RoleInstance Instans peran yang mencatat daftar klien.
connectedClients.ip ClientIp Alamat IP klien Redis.
connectedClients.privateLinkIpv6 PrivateLinkIpv6 Alamat IPv6 tautan privat klien Redis (jika ada).
connectedClients.count ClientCount Jumlah koneksi klien Redis dari alamat IP yang dikaitkan.

Sampel log akun penyimpanan

Jika Anda mengirim log ke akun penyimpanan, konten log akan terlihat seperti ini.

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

Kueri Log Analytics

Catatan

Untuk tutorial tentang cara menggunakan Azure Log Analytics, lihat Gambaran Umum Analitik Log di Azure Monitor. Ingatlah bahwa mungkin perlu waktu hingga 90 menit sebelum log muncul di Log Analtyics.

Berikut adalah beberapa kueri dasar untuk digunakan sebagai model.

  • Koneksi klien Azure Cache for Redis per jam dalam rentang alamat IP yang ditentukan:
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)
  • Alamat IP klien Redis unik yang telah terhubung ke cache:
ACRConnectedClientList
| summarize count() by ClientIp

Langkah berikutnya

Untuk mengetahui informasi mendetail tentang cara membuat pengaturan diagnostik dengan menggunakan portal Microsoft Azure, CLI, atau PowerShell, lihat artikel membuat pengaturan diagnostik untuk mengumpulkan log dan metrik platform di Azure.