Memantau penyimpanan Azure Table

Jika Anda memiliki aplikasi penting dan proses bisnis yang mengandalkan sumber daya Azure, sebaiknya Anda memantau sumber daya tersebut untuk mengetahui ketersediaan, performa, dan operasinya. Artikel ini menjelaskan data pemantauan yang dihasilkan oleh penyimpanan Azure Table dan cara menggunakan fitur Azure Monitor untuk menganalisis pemberitahuan tentang data ini.

Memantau gambaran umum

Halaman Gambaran Umum di portal Microsoft Azure untuk setiap sumber daya penyimpanan Table menyertakan tampilan singkat penggunaan sumber daya, seperti permintaan dan penagihan per jam. Informasi ini berguna, namun hanya data pemantauan dalam jumlah kecil yang tersedia. Beberapa data ini dikumpulkan secara otomatis dan tersedia untuk analisis segera setelah Anda membuat sumber daya. Anda dapat mengaktifkan jenis pengumpulan data tambahan dengan beberapa konfigurasi.

Apa itu Azure Monitor?

Penyimpanan Azure Table membuat data pemantauan dengan menggunakan Azure Monitor, yang merupakan layanan pemantauan tumpukan penuh di Azure. Azure Monitor menyediakan serangkaian fitur lengkap untuk memantau sumber daya Azure dan sumber daya Anda di cloud dan lokal lainnya.

Mulai dengan artikel Memantau sumber daya Azure dengan Azure Monitor yang menjelaskan hal berikut:

  • Apa itu Azure Monitor?
  • Biaya terkait dengan pemantauan
  • Memantau data yang dikumpulkan di Azure
  • Mengonfigurasi pengumpulan data
  • Alat standar di Azure untuk menganalisis dan memberi tahu tentang data pemantauan

Bagian berikut dibuat pada artikel ini dengan menjelaskan data tertentu yang dikumpulkan dari Azure Storage. Contoh menunjukkan cara mengonfigurasi pengumpulan data dan menganalisis data ini dengan alat Azure.

Data pemantauan

Penyimpanan Azure Table mengumpulkan jenis data pemantauan yang sama dengan sumber daya Azure lainnya, yang dijelaskan dalam Data pemantauan dari sumber daya Azure.

Lihat Referensi data pemantauan penyimpanan Azure Table untuk mengetahui informasi mendetail tentang metrik dan metrik log yang dibuat oleh penyimpanan Azure Table.

Metrik dan log di Azure Monitor hanya mendukung akun penyimpanan Azure Resource Manager. Azure Monitor tidak mendukung akun penyimpanan klasik. Jika ingin menggunakan metrik atau log di akun penyimpanan klasik, Anda perlu melakukan migrasi ke akun penyimpanan Azure Resource Manager. Lihat Migrasi ke Azure Resource Manager.

Anda dapat terus menggunakan metrik dan log klasik jika menginginkannya. Bahkan, metrik dan log klasik tersedia secara paralel dengan metrik dan log di Azure Monitor. Dukungan tetap diberlakukan hingga Azure Storage mengakhiri layanan pada metrik dan log lama.

Pengumpulan dan perutean

Metrik platform dan Log aktivitas dikumpulkan secara otomatis, tetapi dapat dirutekan ke lokasi lain dengan menggunakan pengaturan diagnostik.

Untuk mengumpulkan log sumber daya, Anda harus membuat pengaturan diagnostik. Saat Anda membuat pengaturan, pilih tabel sebagai jenis penyimpanan yang ingin Anda aktifkan lognya. Kemudian, tentukan salah satu kategori operasi berikut yang lognya ingin dikumpulkan.

Kategori Deskripsi
StorageRead Operasi Baca pada objek.
StorageWrite Operasi Tulis pada objek.
StorageDelete Operasi Hapus pada objek.

Membuat pengaturan diagnostik

Bagian ini menunjukkan cara membuat pengaturan diagnostik dengan menggunakan portal Azure, PowerShell, dan Azure CLI. Bagian ini menyediakan langkah-langkah khusus untuk Azure Storage. Untuk panduan umum tentang cara membuat pengaturan diagnostik, lihat Membuat pengaturan diagnostik untuk mengumpulkan log dan metrik platform di Azure.

Tip

Anda juga dapat membuat pengaturan diagnostik dengan menggunakan templat Azure Resource Manager atau dengan menggunakan definisi kebijakan. Definisi kebijakan dapat memastikan bahwa pengaturan diagnostik dibuat untuk setiap akun yang dibuat atau diperbarui.

Bagian ini tidak menjelaskan templat atau definisi kebijakan.

  1. Masuk ke portal Azure.

  2. Buka akun penyimpanan Anda.

  3. Di bagian Memantau, klik Pengaturan diagnostik.

    portal - Log diagnostik

  4. Pilih tabel sebagai jenis penyimpanan yang ingin Anda aktifkan lognya.

  5. Pilih Tambahkan pengaturan diagnostik.

    Halaman Pengaturan diagnostik muncul.

    Halaman log sumber daya

  6. Di bidang Nama pada halaman, masukkan nama untuk pengaturan log sumber daya ini. Kemudian, pilih operasi yang ingin dicatat di log (operasi baca, tulis, hapus), dan tempat yang diinginkan agar log dikirim.

Mengarsipkan log ke akun penyimpanan

Jika Anda memilih untuk mengarsipkan log ke akun penyimpanan, Anda akan membayar volume log yang dikirim ke akun penyimpanan. Untuk harga tertentu, lihat bagian Log Platform di halaman Harga Azure Monitor. Anda tidak dapat mengirim log ke akun penyimpanan yang sama dengan yang Anda pantau dengan pengaturan ini. Ini akan menyebabkan log rekursif yang mana entri log menjelaskan penulisan entri log lain. Anda harus membuat akun atau menggunakan akun lain yang sudah ada untuk menyimpan informasi log.

  1. Pilih kotak centang Arsipkan ke akun penyimpanan, lalu klik tombol Konfigurasikan.

  2. Di menu drop-down Akun penyimpanan, pilih akun penyimpanan tempat mengarsipkan log Anda, klik tombol OK, lalu klik tombol Simpan.

    Penting

    Anda tidak dapat menetapkan kebijakan penyimpanan. Namun, Anda dapat mengelola kebijakan penyimpanan kontainer log dengan menetapkan kebijakan manajemen siklus hidup. Untuk mempelajari caranya, lihat Mengoptimalkan biaya dengan mengotomatiskan tingkat akses Azure Blob Storage.

    Catatan

    Sebelum Anda memilih akun penyimpanan sebagai tujuan ekspor, lihat Mengarsipkan log sumber daya Azure untuk memahami prasyarat di akun penyimpanan.

Streaming log ke Azure Event Hubs

Jika Anda memilih untuk melakukan streaming log ke hub peristiwa, Anda akan membayar volume log yang dikirim ke hub peristiwa. Untuk harga tertentu, lihat bagian Log Platform di halaman Harga Azure Monitor. Anda akan memerlukan akses ke pusat aktivitas yang ada, atau harus membuatnya sebelum menyelesaikan langkah ini.

  1. Pilih kotak centang Streaming ke hub perstiwa, lalu klik tombol Konfigurasikan.

  2. Di panel Pilih hub peristiwa, pilih namespace, nama, dan nama kebijakan hub peristiwa tempat Anda ingin melakukan streaming log Anda.

  3. Klik tombol OK, lalu klik tombol Simpan.

Mengirim log ke Azure Log Analytics

  1. Pilih kotak centang Kirim ke Analitik Log, pilih ruang kerja analitik log, lalu klik tombol Simpan. Anda akan memerlukan akses ke ruang kerja analitik log yang ada, atau harus membuatnya sebelum menyelesaikan langkah ini.

Penting

Anda tidak dapat menetapkan kebijakan penyimpanan. Namun, Anda dapat mengelola periode retensi data Log Analytics di tingkat ruang kerja atau bahkan menentukan pengaturan retensi yang berbeda berdasarkan jenis data. Untuk mempelajari caranya, lihat Mengubah periode retensi data.

Mengirimkan ke solusi mitra

Anda juga dapat mengirim metrik dan log platform ke mitra Azure Monitor tertentu. Anda harus terlebih dahulu menginstal integrasi mitra ke dalam langganan Anda. Opsi konfigurasi akan bervariasi sesuai mitra. Periksa dokumentasi integrasi mitra Azure Monitor untuk lebih jelasnya.

Menganalisis metrik

Untuk daftar semua metrik dukungan Azure Monitor, yang menyertakan penyimpanan Azure Table, lihat Metrik yang didukung Azure Monitor.

Anda dapat menganalisis metrik untuk Azure Storage dengan metrik dari layanan Azure lainnya menggunakan Metrics Explorer. Buka Metrics Explorer dengan memilih Metrik dari menu Azure Monitor. Untuk mengetahui detail tentang alat ini, lihat Mulai menggunakan Azure Metrics Explorer.

Contoh ini menunjukkan cara melihat Transaksi di tingkat akun.

Cuplikan layar saat mengakses metrik di portal Azure

Untuk metrik yang mendukung dimensi, Anda dapat memfilter metrik dengan nilai dimensi yang dikehendaki. Contoh ini menunjukkan cara melihat Transaksi di tingkat akun pada operasi tertentu dengan memilih nilai untuk dimensi Nama API.

Cuplikan layar saat mengakses metrik dengan dimensi di portal Azure

Untuk daftar lengkap dimensi yang didukung Azure Storage, lihat Dimensi metrik.

Metrik untuk penyimpanan Azure Table ada di ruang nama ini:

  • Microsoft.Storage/storageAccounts
  • Microsoft.Storage/storageAccounts/tableServices

Menganalisis metrik dengan menggunakan kode

Azure Monitor menyediakan .NET SDK untuk membaca definisi dan nilai metrik. Contoh kode menunjukkan cara menggunakan SDK dengan parameter yang berbeda. Anda perlu menggunakan 0.18.0-preview atau versi yang lebih baru untuk metrik penyimpanan.

Dalam contoh ini, ganti placeholder <resource-ID> dengan ID sumber daya dari seluruh akun penyimpanan atau layanan penyimpanan Table. Anda dapat menemukan ID sumber daya ini di halaman Properti akun penyimpanan Anda di portal Microsoft Azure.

Ganti variabel <subscription-ID> dengan ID langganan Anda. Untuk panduan tentang cara memperoleh nilai untuk <tenant-ID>, <application-ID>, dan <AccessKey>, lihat Menggunakan portal untuk membuat aplikasi Azure AD dan perwakilan layanan yang dapat mengakses sumber daya.

Mencantumkan definisi metrik tingkt akun

Contoh berikut menunjukkan cara mencantumkan definisi metrik pada tingkat akun:

    public static async Task ListStorageMetricDefinition()
    {
        var resourceId = "<resource-ID>";
        var subscriptionId = "<subscription-ID>";
        var tenantId = "<tenant-ID>";
        var applicationId = "<application-ID>";
        var accessKey = "<AccessKey>";


        MonitorManagementClient readOnlyClient = AuthenticateWithReadOnlyClient(tenantId, applicationId, accessKey, subscriptionId).Result;
        IEnumerable<MetricDefinition> metricDefinitions = await readOnlyClient.MetricDefinitions.ListAsync(resourceUri: resourceId, cancellationToken: new CancellationToken());

        foreach (var metricDefinition in metricDefinitions)
        {
            // Enumrate metric definition:
            //    Id
            //    ResourceId
            //    Name
            //    Unit
            //    MetricAvailabilities
            //    PrimaryAggregationType
            //    Dimensions
            //    IsDimensionRequired
        }
    }

Membaca nilai metrik tingkat akun

Contoh berikut menunjukkan cara membaca data UsedCapacity pada tingkat akun:

    public static async Task ReadStorageMetricValue()
    {
        var resourceId = "<resource-ID>";
        var subscriptionId = "<subscription-ID>";
        var tenantId = "<tenant-ID>";
        var applicationId = "<application-ID>";
        var accessKey = "<AccessKey>";

        MonitorClient readOnlyClient = AuthenticateWithReadOnlyClient(tenantId, applicationId, accessKey, subscriptionId).Result;

        Microsoft.Azure.Management.Monitor.Models.Response Response;

        string startDate = DateTime.Now.AddHours(-3).ToUniversalTime().ToString("o");
        string endDate = DateTime.Now.ToUniversalTime().ToString("o");
        string timeSpan = startDate + "/" + endDate;

        Response = await readOnlyClient.Metrics.ListAsync(
            resourceUri: resourceId,
            timespan: timeSpan,
            interval: System.TimeSpan.FromHours(1),
            metricnames: "UsedCapacity",

            aggregation: "Average",
            resultType: ResultType.Data,
            cancellationToken: CancellationToken.None);

        foreach (var metric in Response.Value)
        {
            // Enumrate metric value
            //    Id
            //    Name
            //    Type
            //    Unit
            //    Timeseries
            //        - Data
            //        - Metadatavalues
        }
    }

Membaca nilai metrik multi-dimensi

Untuk metrik multi-dimensi, Anda perlu menentukan filter metadata jika Anda ingin membaca data metrik pada nilai dimensi tertentu.

Contoh berikut menunjukkan cara membaca data metrik pada multi-dimensi pendukung metrik:

    public static async Task ReadStorageMetricValueTest()
    {
        // Resource ID for table storage
        var resourceId = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}/tableServices/default";
        var subscriptionId = "<subscription-ID}";
        // How to identify Tenant ID, Application ID and Access Key: https://azure.microsoft.com/documentation/articles/resource-group-create-service-principal-portal/
        var tenantId = "<tenant-ID>";
        var applicationId = "<application-ID>";
        var accessKey = "<AccessKey>";

        MonitorManagementClient readOnlyClient = AuthenticateWithReadOnlyClient(tenantId, applicationId, accessKey, subscriptionId).Result;

        Microsoft.Azure.Management.Monitor.Models.Response Response;

        string startDate = DateTime.Now.AddHours(-3).ToUniversalTime().ToString("o");
        string endDate = DateTime.Now.ToUniversalTime().ToString("o");
        string timeSpan = startDate + "/" + endDate;
        // It's applicable to define meta data filter when a metric support dimension
        // More conditions can be added with the 'or' and 'and' operators, example: BlobType eq 'BlockBlob' or BlobType eq 'PageBlob'
        ODataQuery<MetadataValue> odataFilterMetrics = new ODataQuery<MetadataValue>(
            string.Format("BlobType eq '{0}'", "BlockBlob"));

        Response = readOnlyClient.Metrics.List(
                        resourceUri: resourceId,
                        timespan: timeSpan,
                        interval: System.TimeSpan.FromHours(1),
                        metricnames: "BlobCapacity",
                        odataQuery: odataFilterMetrics,
                        aggregation: "Average",
                        resultType: ResultType.Data);

        foreach (var metric in Response.Value)
        {
            //Enumrate metric value
            //    Id
            //    Name
            //    Type
            //    Unit
            //    Timeseries
            //        - Data
            //        - Metadatavalues
        }
    }

Menganalisis log

Anda dapat mengakses log sumber daya baik sebagai blob di akun penyimpanan, sebagai data peristiwa, atau melalui kueri Analitik Log.

Untuk referensi mendetail bidang yang muncul di log ini, lihat Referensi data pemantauan penyimpanan Azure Table.

Entri log dibuat hanya jika ada permintaan yang dibuat terhadap titik akhir layanan. Misalnya, jika akun penyimpanan memiliki aktivitas di titik akhir tabelnya tetapi tidak di titik akhir blob atau antreannya, hanya log yang berkaitan dengan layanan tabel yang dibuat. Log Azure Storage berisi informasi mendetail tentang permintaan ke layanan penyimpanan yang berhasil dan gagal. Informasi ini dapat digunakan untuk memantau setiap permintaan dan mendiagnosis masalah dengan layanan penyimpanan. Permintaan dicatat di log dengan upaya terbaik.

Pengelogan permintaan yang diautentikasi

Jenis permintaan yang diautentikasi berikut ini dicatat:

  • Permintaan berhasil
  • Permintaan yang gagal, termasuk waktu habis, pembatasan, jaringan, otorisasi, dan kesalahan lainnya
  • Permintaan yang menggunakan tanda tangan akses bersama (SAS) atau OAuth, termasuk permintaan yang gagal dan berhasil
  • Permintaan ke data analitik (data log klasik di kontainer $logs dan data metrik class pada tabel $metric)

Permintaan yang dibuat oleh layanan penyimpanan Table itu sendiri, seperti pembuatan atau penghapusan log, tidak dicatat. Untuk daftar lengkap data yang dicatat, lihat Operasi penyimpanan yang dicatat dan pesan status dan format log Penyimpanan.

Mencatat permintaan anonim di log

Jenis permintaan anonim berikut ini dicatat di log:

  • Permintaan berhasil
  • Kesalahan server
  • Kesalahan waktu habis untuk klien dan server
  • Permintaan GET gagal dengan kode kesalahan 304 (Tidak Diubah)

Semua permintaan anonim lainnya yang gagal tidak dicatat. Untuk daftar lengkap data yang dicatat, lihat Operasi penyimpanan yang dicatat dan pesan status dan format log Penyimpanan.

Mengakses log di akun penyimpanan

Log muncul sebagai blob yang disimpan ke kontainer dalam akun penyimpanan target. Data dikumpulkan dan disimpan di dalam satu blob sebagai a payload JSON yang dipisahkan baris. Nama blob mengikuti konvensi penamaan ini:

https://<destination-storage-account>.blob.core.windows.net/insights-logs-<storage-operation>/resourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<source-storage-account>/tableServices/default/y=<year>/m=<month>/d=<day>/h=<hour>/m=<minute>/PT1H.json

Berikut contohnya:

https://mylogstorageaccount.blob.core.windows.net/insights-logs-storagewrite/resourceId=/subscriptions/
208841be-a4v3-4234-9450-08b90c09f4/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount/tableServices/default/y=2019/m=07/d=30/h=23/m=12/PT1H.json

Mengakses log di hub peristiwa

Log yang dikirim ke hub peristiwa tidak disimpan sebagai file, tetapi Anda dapat memverifikasi bahwa hub peristiwa menerima informasi log. Di portal Azure, buka hub peristiwa Anda dan verifikasi bahwa jumlah pesan masuk lebih besar dari nol.

Log audit

Anda dapat mengakses dan membaca log yang dikirim ke hub peristiwa Anda dengan menggunakan informasi keamanan dan alat pemantauan dan pengelolaan peristiwa. Untuk mengetahui informasi selengkapnya, lihat Log sumber daya Azure.

Mengakses log di ruang kerja Analitik Log

Anda dapat mengakses log yang dikirim ke ruang kerja Analitik Log dengan menggunakan kueri log Azure Monitor.

Untuk mengetahui informasi selengkapnya, lihat Streaming data pemantauan Azure ke hub peristiwa dan mitra eksternal.

Data disimpan dalam tabel StorageTableLogs.

Contoh kueri Kusto

Berikut adalah beberapa kueri yang dapat Anda masukkan di bilah Pencarian log untuk membantu Anda memantau penyimpanan Table. Kueri ini berfungsi dengan bahasa baru.

Penting

Saat Anda memilih Log dari menu grup sumber daya akun penyimpanan, Analitik Log akan dibuka dengan cakupan kueri yang diatur ke grup sumber daya saat ini. Hal ini berarti bahwa kueri log hanya akan menyertakan data dari grup sumber daya. Jika Anda ingin menjalankan kueri yang mencakup data dari sumber daya atau data lain dari layanan Azure lainnya, pilih Log dari menu Azure Monitor. Lihat Cakupan kueri log dan rentang waktu dalam Analitik Log Azure Monitor untuk mengetahui detailnya.

Gunakan kueri ini untuk membantu Anda memantau akun Azure Storage Anda:

  • Untuk mencantumkan 10 kesalahan paling umum selama tiga hari terakhir.

    StorageTableLogs
    | where TimeGenerated > ago(3d) and StatusText !contains "Success"
    | summarize count() by StatusText
    | top 10 by count_ desc
    
  • Untuk mencantumkan 10 operasi teratas yang menyebabkan kesalahan terbanyak selama tiga hari terakhir.

    StorageTableLogs
    | where TimeGenerated > ago(3d) and StatusText !contains "Success"
    | summarize count() by OperationName
    | top 10 by count_ desc
    
  • Untuk mencantumkan 10 operasi teratas dengan latensi ujjung-ke-ujung terpanjang selama tiga hari terakhir.

    StorageTableLogs
    | where TimeGenerated > ago(3d)
    | top 10 by DurationMs desc
    | project TimeGenerated, OperationName, DurationMs, ServerLatencyMs, ClientLatencyMs = DurationMs - ServerLatencyMs
    
  • Untuk mencantumkan semua operasi yang menyebabkan kesalahan pembatasan sisi server selama tiga hari terakhir.

    StorageTableLogs
    | where TimeGenerated > ago(3d) and StatusText contains "ServerBusy"
    | project TimeGenerated, OperationName, StatusCode, StatusText
    
  • Untuk mencantumkan semua permintaan dengan akses anonim selama tiga hari terakhir.

    StorageTableLogs
    | where TimeGenerated > ago(3d) and AuthenticationType == "Anonymous"
    | project TimeGenerated, OperationName, AuthenticationType, Uri
    
  • Untuk membuat bagan pai operasi yang digunakan selama tiga hari terakhir.

    StorageTableLogs
    | where TimeGenerated > ago(3d)
    | summarize count() by OperationName
    | sort by count_ desc 
    | render piechart
    

FAQ

Apakah Azure Storage mendukung metrik untuk Disk Terkelola atau Disk Tidak Terkelola?

Nomor. Azure Compute mendukung metrik pada disk. Untuk mengetahui informasi selengkapnya, lihat Metrik per disk untuk Disk Terkelola dan Tidak Terkelola.

Langkah berikutnya

Panduan Deskripsi
Memantau, mendiagnosis, dan memecahkan masalah Azure Storage Memecahkan masalah akun penyimpanan (berisi panduan langkah demi langkah).
Memantau penyimpanan dengan wawasan Azure Monitor Storage Tampilan terpadu tentang performa, kapasitas, dan ketersediaan penyimpanan
Memulai menggunakan Azure Metrics Explorer Tur Metrics Explorer.
Gambaran Umum Analitik Log di Azure Monitor Tur Log Analytics.
Gambaran umum Metrik Azure Monitor Dasar-dasar metrik dan dimensi metrik
Gambaran umum Log Azure Monitor Dasar-dasar log dan cara mengumpulkan dan menganalisisnya
Transisi ke metrik di Azure Monitor Berpindah dari metrik Storage Analytics ke metrik di Azure.
Referensi data pemantauan penyimpanan Tabel Azure Referensi log dan metrik yang dibuat oleh Azure Table Storage
Pecahkan masalah kinerja Masalah performa umum dan panduan tentang cara memecahkan masalahnya.
Memecahkan masalah ketersediaan Masalah ketersediaan umum dan panduan tentang cara memecahkan masalahnya.
Memecahkan masalah kesalahan aplikasi klien Masalah umum dengan menghubungkan klien dan cara memecahkan masalahnya.