Mengumpulkan log IIS dengan Agen Azure Monitor

Layanan Informasi Internet (IIS) mencatat data ke disk lokal komputer Windows. Artikel ini menjelaskan cara mengumpulkan log IIS dari komputer yang dipantau dengan Agen Azure Monitor dengan membuat aturan pengumpulan data (DCR).

Prasyarat

Untuk menyelesaikan prosedur ini, Anda memerlukan:

  • Ruang kerja Log Analitik tempat Anda memiliki setidaknya hak kontributor.

  • Satu atau dua titik akhir pengumpulan data, tergantung pada apakah komputer virtual dan ruang kerja Analitik Log Anda berada di wilayah yang sama.

    Untuk informasi selengkapnya, lihat Cara menyiapkan titik akhir pengumpulan data berdasarkan penyebaran Anda.

  • Izin untuk membuat objek Aturan Pengumpulan Data di ruang kerja.

  • VM, Virtual Machine Scale Set, atau server lokal dengan dukungan Arc yang menjalankan IIS.

    • File log IIS dalam format W3C harus disimpan di drive lokal komputer tempat Agen Azure Monitor berjalan.
    • Setiap entri dalam file log harus digambarkan dengan akhir baris.
    • File log tidak boleh mengizinkan pengelogan melingkar, rotasi log di mana file ditimpa dengan entri baru, atau mengganti nama tempat file dipindahkan dan file baru dengan nama yang sama dibuka.

Membuat aturan pengumpulan data untuk mengumpulkan log IIS

Aturan pengumpulan data mendefinisikan:

  • File log sumber mana yang dipindai Agen Azure Monitor untuk peristiwa baru.
  • Cara Azure Monitor mengubah peristiwa selama penyerapan.
  • Ruang kerja dan tabel Analitik Log tujuan tempat Azure Monitor mengirim data.

Anda dapat menentukan aturan pengumpulan data untuk mengirim data dari beberapa komputer ke beberapa ruang kerja Analitik Log, termasuk ruang kerja di wilayah atau penyewa yang berbeda. Buat aturan pengumpulan data di wilayah yang sama dengan ruang kerja Analytics Anda.

Catatan

Untuk mengirim data di seluruh penyewa, Anda harus terlebih dahulu mengaktifkan Azure Lighthouse.

Untuk membuat aturan pengumpulan data di portal Azure:

  1. Pada menu Monitor , pilih Aturan Pengumpulan Data.

  2. Pilih Buat untuk membuat aturan dan asosiasi pengumpulan data baru.

    Cuplikan layar yang memperlihatkan tombol Buat pada layar Aturan Pengumpulan Data.

  3. Masukkan Nama aturan dan tentukan langganan, Grup Sumber Daya, Wilayah, Jenis Platform, dan Titik akhir pengumpulan data:

    • Wilayah menentukan lokasi DCR akan dibuat. Komputer virtual dan asosiasinya dapat berada di setiap grup langganan atau sumber daya di penyewa.
    • Jenis Platform menentukan jenis sumber daya yang dapat diterapkan aturan ini. Opsi Kustom memungkinkan jenis Windows dan Linux.
    • Titik Akhir Pengumpulan Data menentukan titik akhir pengumpulan data yang digunakan untuk mengumpulkan data. Titik akhir pengumpulan data ini harus berada di wilayah yang sama dengan ruang kerja Analitik Log. Untuk informasi selengkapnya, lihat Cara menyiapkan titik akhir pengumpulan data berdasarkan penyebaran Anda.

    Cuplikan layar yang memperlihatkan tab Dasar dari layar Aturan Pengumpulan Data.

  4. Pada tab Sumber Daya :

    1. Pilih + Tambahkan sumber daya dan kaitkan sumber daya ke aturan pengumpulan data. Sumber daya dapat berupa komputer virtual, Virtual Machine Scale Sets, dan Azure Arc untuk server. portal Azure menginstal Agen Azure Monitor pada sumber daya yang belum menginstalnya.

      Penting

      Portal memungkinkan identitas terkelola yang ditetapkan sistem pada sumber daya target, bersama dengan identitas yang ditetapkan pengguna yang ada, jika ada. Untuk aplikasi yang ada, kecuali Anda menentukan identitas yang ditetapkan pengguna dalam permintaan, komputer default menggunakan identitas yang ditetapkan sistem sebagai gantinya.

    2. Pilih Aktifkan Titik Akhir Pengumpulan Data.

    3. Pilih titik akhir pengumpulan data untuk setiap komputer virtual yang terkait dengan aturan pengumpulan data.

      Titik akhir pengumpulan data ini mengirim file konfigurasi ke komputer virtual dan harus berada di wilayah yang sama dengan komputer virtual. Untuk informasi selengkapnya, lihat Cara menyiapkan titik akhir pengumpulan data berdasarkan penyebaran Anda.

    Cuplikan layar yang memperlihatkan tab Sumber Daya dari layar Aturan Pengumpulan Data.

  5. Pada tab Kumpulkan dan kirim, klik Tambahkan sumber data untuk menambahkan sumber data dan set tujuan.

  6. Pilih Log IIS.

    Cuplikan layar yang memperlihatkan formulir portal Azure untuk memilih penghitung performa dasar dalam aturan pengumpulan data.

  7. Tentukan pola file untuk mengidentifikasi direktori tempat file log berada.

  8. Pada tab Tujuan , tambahkan tujuan untuk sumber data.

    Cuplikan layar yang memperlihatkan formulir portal Azure untuk menambahkan sumber data dalam aturan pengumpulan data.

  9. Pilih Tinjau + buat untuk meninjau detail aturan pengumpulan data dan asosiasi dengan sekumpulan komputer virtual.

  10. Pilih Buat untuk membuat aturan pengumpulan data.

Catatan

Diperlukan waktu hingga 5 menit agar data dikirim ke tujuan setelah Anda membuat aturan pengumpulan data.

Kueri log sampel

  • Hitung entri log IIS berdasarkan URL untuk host www.contoso.com.

    W3CIISLog 
    | where csHost=="www.contoso.com" 
    | summarize count() by csUriStem
    
  • Tinjau total byte yang diterima oleh masing-masing mesin IIS.

    W3CIISLog 
    | summarize sum(csBytes) by Computer
    

Aturan pemberitahuan sampel

  • Buat aturan pemberitahuan pada catatan apa pun dengan status pengembalian 500.

    W3CIISLog 
    | where scStatus==500
    | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
    

Pecahkan masalah

Gunakan langkah-langkah berikut untuk memecahkan masalah kumpulan log IIS.

Periksa apakah ada log IIS yang telah diterima

Mulailah dengan memeriksa apakah ada catatan yang telah dikumpulkan untuk log IIS Anda dengan menjalankan kueri berikut di Analitik Log. Jika kueri tidak mengembalikan rekaman, periksa bagian lain untuk kemungkinan penyebabnya. Kueri ini mencari keseluruhan dalam dua hari terakhir, tetapi Anda dapat mengubah untuk rentang waktu lain.

W3CIISLog
| where TimeGenerated > ago(48h)
| order by TimeGenerated desc

Verifikasi bahwa agen berhasil mengirim heartbeat

Verifikasi bahwa agen Azure Monitor berkomunikasi dengan benar dengan menjalankan kueri berikut di Analitik Log untuk memeriksa apakah ada rekaman dalam tabel Heartbeat.

Heartbeat
| where TimeGenerated > ago(24h)
| where Computer has "<computer name>"
| project TimeGenerated, Category, Version
| order by TimeGenerated desc

Verifikasi bahwa log IIS sedang dibuat

Lihat stempel waktu file log dan buka yang terbaru untuk melihat bahwa stempel waktu terbaru ada dalam file log. Lokasi default untuk file log IIS adalah C:\inetpub\logs\LogFiles\W3SVC1.

Cuplikan layar log IIS, memperlihatkan tanda waktu.

Verifikasi bahwa Anda menentukan lokasi log yang benar dalam aturan pengumpulan data

Aturan pengumpulan data akan memiliki bagian yang mirip dengan berikut ini. Elemen logDirectories menentukan jalur ke file log untuk dikumpulkan dari komputer agen. Periksa komputer agen untuk memverifikasi bahwa ini benar.

    "dataSources": [
    {
            "configuration": {
                "logDirectories": ["C:\\scratch\\demo\\W3SVC1"]
            },
            "id": "myIisLogsDataSource",
            "kind": "iisLog",
            "streams": [{
                    "stream": "ONPREM_IIS_BLOB_V2"
                }
            ],
            "sendToChannels": ["gigl-dce-6a8e34db54bb4b6db22d99d86314eaee"]
        }
    ]

Direktori ini harus sesuai dengan lokasi log IIS pada mesin agen.

Cuplikan layar file log IIS pada mesin agen.

Verifikasi bahwa log IIS diformat W3C

Buka Manajer IIS dan verifikasi bahwa log sedang ditulis dalam format W3C.

Cuplikan layar kotak dialog konfigurasi pengelogan IIS di komputer agen.

Buka file log IIS pada komputer agen untuk memverifikasi bahwa log dalam format W3C.

Cuplikan layar log IIS, memperlihatkan header, yang menentukan bahwa file dalam format W3C.

Catatan

Bidang kustom X-Forwarded-For saat ini tidak didukung. Jika ini adalah bidang penting, Anda dapat mengumpulkan log IIS sebagai log teks kustom.

Langkah berikutnya

Pelajari lebih lanjut tentang: