Bagikan melalui


Kirim data dari ekstensi diagnostik Windows Azure ke Azure Event Hubs

Ekstensi diagnostik Azure adalah agen di Azure Monitor yang mengumpulkan data pemantauan dari sistem operasi tamu dan beban kerja komputer virtual Azure dan sumber daya komputasi lainnya. Artikel ini menjelaskan cara mengirim data dari ekstensi Windows Azure Diagnostic (WAD) ke Azure Event Hubs sehingga Anda dapat meneruskan ke lokasi di luar Azure.

Data yang didukung

Data yang dikumpulkan dari sistem operasi tamu yang dapat dikirim ke Azure Event Hubs mencakup hal-hal berikut. Sumber data lain yang dikumpulkan oleh WAD, termasuk IIS Logs dan crash dump, tidak dapat dikirim ke Azure Event Hubs.

  • Kejadian Event Tracing for Windows (ETW)
  • Penghitung kinerja
  • Log kejadian Windows, termasuk log aplikasi di log kejadian Windows
  • Log infrastruktur Diagnostik Azure

Prasyarat

Skema konfigurasi

Lihat pasang dan konfigurasikan ekstensi Windows Azure Diagnostics (WAD) untuk berbagai opsi mengaktifkan dan mengonfigurasi ekstensi diagnostik dan skema konfigurasi Azure Diagnostics untuk referensi skema konfigurasi. Bagian lain dari artikel ini akan menjelaskan cara menggunakan konfigurasi ini untuk mengirim data ke hub peristiwa.

Azure Diagnostics selalu mengirim log dan metrik ke akun Azure Storage. Anda dapat mengonfigurasi satu atau beberapa data sink yang mengirim data ke lokasi tambahan. Setiap sink didefinisikan dalam elemen SinksConfig pada konfigurasi publik dengan informasi sensitif dalam konfigurasi privat. Konfigurasi untuk hub kejadian ini menggunakan nilai dalam tabel berikut.

Properti Deskripsi
Nama Nama deskriptif untuk sink. Digunakan dalam konfigurasi untuk menentukan sumber data mana yang akan dikirim ke sink.
URL Url hub peristiwa dalam bentuk <event-hubs-namespace>.servicebus.windows.net/<event-hub-name>.
SharedAccessKeyName Nama kebijakan akses bersama untuk hub kejadian yang setidaknya memiliki otoritas Kirim.
SharedAccessKey Kunci primer atau sekunder dari kebijakan akses bersama untuk hub kejadian.

Contoh konfigurasi publik dan privat diperlihatkan di bawah ini. Ini adalah konfigurasi minimal dengan penghitung kinerja tunggal dan log kejadian untuk mengilustrasikan cara mengonfigurasi dan menggunakan data sink hub kejadian. Lihat skema konfigurasi Azure Diagnostics untuk contoh yang lebih kompleks.

Konfigurasi publik

{
    "WadCfg": {
        "DiagnosticMonitorConfiguration": {
            "overallQuotaInMB": 5120,
            "PerformanceCounters": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "myEventHub",
                "PerformanceCounterConfiguration": [
                    {
                        "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                        "sampleRate": "PT3M"
                    }
                ]
            },
            "WindowsEventLog": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "myEventHub",
                    "DataSource": [
                    {
                        "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
                    }
                ]
            }
        },
        "SinksConfig": {
            "Sink": [
                {
                    "name": "myEventHub",
                    "EventHub": {
                        "Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
                        "SharedAccessKeyName": "SendRule"
                    }
                }
            ]
        }
    },
    "StorageAccount": "mystorageaccount",
}

Konfigurasi privat

{
    "storageAccountName": "mystorageaccount",
    "storageAccountKey": "{base64 encoded key}",
    "storageAccountEndPoint": "https://core.windows.net",
    "EventHub": {
        "Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
        "SharedAccessKeyName": "SendRule",
        "SharedAccessKey": "{base64 encoded key}"
    }
}

Opsi konfigurasi

Untuk mengirim data ke data sink, Anda menentukan atribut sink pada simpul sumber data. Di mana Anda menempatkan atribut sink menentukan cakupan tugas. Dalam contoh berikut, atribut sink didefinisikan ke simpul PerformanceCounters yang akan menyebabkan semua penghitung kinerja anak dikirim ke hub kejadian.

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "sinks": "MyEventHub",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Memory\\Available MBytes",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
            "sampleRate": "PT3M"
        }
    ]
}

Dalam contoh berikut, atribut sink diterapkan langsung ke tiga penghitung yang hanya akan menyebabkan penghitung kinerja tersebut dikirim ke hub kejadian.

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        },
        {
            "counterSpecifier": "\\Memory\\Available MBytes",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\ASP.NET\\Requests Rejected",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        },
        {
            "counterSpecifier": "\\ASP.NET\\Requests Queued",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        }
    ]
}

Memvalidasi konfigurasi

Anda dapat menggunakan berbagai metode untuk memvalidasi bahwa data dikirim ke hub kejadian. Satu metode langsung adalah menggunakan pengambilan Event Hubs seperti yang dijelaskan di Mengambil peristiwa melalui Azure Event Hubs di Azure Blob Storage atau Azure Data Lake Storage.

Memecahkan masalah sink Azure Event Hubs

  • Lihat tabel Azure Storage WADDiagnosticInfrastructureLogsTable yang berisi log dan kesalahan untuk Azure Diagnostics itu sendiri. Salah satu opsinya adalah menggunakan alat seperti Azure Storage Explorer untuk menyambungkan ke akun penyimpanan ini, melihat tabel ini, dan menambahkan kueri untuk TimeStamp dalam 24 jam terakhir. Anda bisa menggunakan alat ini untuk mengekspor file .csv dan membukanya dalam aplikasi seperti Microsoft Excel. Excel memudahkan pencarian string kartu panggil, seperti EventHubs, untuk melihat kesalahan apa yang dilaporkan.

  • Pastikan hub kejadian Anda berhasil diprovisikan. Semua info koneksi di bagian PrivateConfig konfigurasi harus sesuai dengan nilai sumber daya Anda seperti yang terlihat di portal. Pastikan Anda memiliki kebijakan SAS yang ditentukan (SendRule di contoh) di portal dan izin Kirim diberikan.

Langkah berikutnya