Azure İzleyici Aracısı ile IIS günlüklerini toplama

Internet Information Service (IIS), verileri Windows makinelerinin yerel diskine günlüğe kaydeder. Bu makalede, bir veri toplama kuralı (DCR) oluşturarak Azure İzleyici Aracısı ile izlenen makinelerden IIS günlüklerinin nasıl toplandığı açıklanmaktadır.

Önkoşullar

Bu yordamı tamamlamak için şunları yapmanız gerekir:

  • En az katkıda bulunan haklarına sahip olduğunuz Log Analytics çalışma alanı.

  • Sanal makinenizle Log Analytics çalışma alanınızın aynı bölgede olup olmadığına bağlı olarak bir veya iki veri toplama uç noktası.

    Daha fazla bilgi için bkz . Dağıtımınıza göre veri toplama uç noktalarını ayarlama.

  • Çalışma alanında Veri Toplama Kuralı nesneleri oluşturma izinleri.

  • IIS çalıştıran bir VM, Sanal Makine Ölçek Kümesi veya Arc özellikli şirket içi sunucu.

    • W3C biçiminde bir IIS günlük dosyası, Azure İzleyici Aracısı'nın çalıştığı makinenin yerel sürücüsünde depolanmalıdır.
    • Günlük dosyasındaki her girdi bir satır sonu ile çizili olmalıdır.
    • Günlük dosyası döngüsel günlüğe kaydetmeye, yeni girdilerle dosyanın üzerine yazıldığı günlük döndürmesine veya dosyanın taşındığı ve aynı ada sahip yeni bir dosyanın açıldığı yeri yeniden adlandırmaya izin vermemelidir.

IIS günlüklerini toplamak için veri toplama kuralı oluşturma

Veri toplama kuralı aşağıdakileri tanımlar:

  • Azure İzleyici Aracısı'nın yeni olayları taradığı kaynak günlük dosyaları.
  • Azure İzleyici'nin alma sırasında olayları dönüştürme şekli.
  • Azure İzleyici'nin verileri gönderdiği hedef Log Analytics çalışma alanı ve tablosu.

Farklı bir bölgedeki veya kiracıdaki çalışma alanları dahil olmak üzere birden çok makineden birden çok Log Analytics çalışma alanına veri göndermek için bir veri toplama kuralı tanımlayabilirsiniz. Veri toplama kuralını Analytics çalışma alanınızla aynı bölgede oluşturun.

Not

Kiracılar arasında veri göndermek için önce Azure Lighthouse'ı etkinleştirmeniz gerekir.

Azure portalında veri toplama kuralı oluşturmak için:

  1. İzleyici menüsünde Veri Toplama Kuralları'nı seçin.

  2. Yeni bir veri toplama kuralı ve ilişkilendirmeleri oluşturmak için Oluştur'u seçin.

    Veri Toplama Kuralları ekranında oluştur düğmesini gösteren ekran görüntüsü.

  3. Bir Kural adı girin ve Abonelik, Kaynak Grubu, Bölge, Platform Türü ve Veri toplama uç noktası belirtin:

    • Bölge , DCR'nin nerede oluşturulacağını belirtir. Sanal makineler ve bunların ilişkilendirmeleri kiracıdaki herhangi bir abonelikte veya kaynak grubunda olabilir.
    • Platform Türü , bu kuralın uygulanabileceği kaynak türünü belirtir. Özel seçeneği hem Windows hem de Linux türlerine izin verir.
    • Veri Toplama Uç Noktası , veri toplamak için kullanılan veri toplama uç noktasını belirtir. Bu veri toplama uç noktası Log Analytics çalışma alanıyla aynı bölgede olmalıdır. Daha fazla bilgi için bkz . Dağıtımınıza göre veri toplama uç noktalarını ayarlama.

    Veri Toplama Kuralı ekranının Temel Bilgiler sekmesini gösteren ekran görüntüsü.

  4. Kaynaklar sekmesinde:

    1. + Kaynak ekle'yi seçin ve kaynakları veri toplama kuralıyla ilişkilendirin. Kaynaklar sanal makineler, Sanal Makine Ölçek Kümeleri ve sunucular için Azure Arc olabilir. Azure portalı, henüz yüklü olmayan kaynaklara Azure İzleyici Aracısı'nı yükler.

      Önemli

      Portal, varsa mevcut kullanıcı tarafından atanan kimliklerle birlikte hedef kaynaklarda sistem tarafından atanan yönetilen kimliği etkinleştirir. İstekte kullanıcı tarafından atanan kimliği belirtmediğiniz sürece, mevcut uygulamalar için makine varsayılan olarak sistem tarafından atanan kimliği kullanır.

    2. Veri Toplama Uç Noktalarını Etkinleştir'i seçin.

    3. Veri toplama kuralıyla ilişkilendirilen sanal makinelerin her biri için bir veri toplama uç noktası seçin.

      Bu veri toplama uç noktası, yapılandırma dosyalarını sanal makineye gönderir ve sanal makineyle aynı bölgede olmalıdır. Daha fazla bilgi için bkz . Dağıtımınıza göre veri toplama uç noktalarını ayarlama.

    Veri Toplama Kuralı ekranının Kaynaklar sekmesini gösteren ekran görüntüsü.

  5. Veri kaynağı eklemek ve hedef ayarlamak için Veri kaynağı ekle ve teslim etme sekmesinde Veri kaynağı ekle'yi seçin.

  6. IIS Günlükleri'ne tıklayın.

    Veri toplama kuralında temel performans sayaçlarını seçmeye yönelik Azure portalı formunu gösteren ekran görüntüsü.

  7. Günlük dosyalarının bulunduğu dizini tanımlamak için bir dosya düzeni belirtin.

  8. Hedef sekmesinde, veri kaynağı için bir hedef ekleyin.

    Veri toplama kuralına veri kaynağı eklemeye ilişkin Azure portalı formunu gösteren ekran görüntüsü.

  9. Veri toplama kuralının ayrıntılarını ve sanal makine kümesiyle ilişkilendirmeyi gözden geçirmek için Gözden geçir + oluştur'u seçin.

  10. Veri toplama kuralını oluşturmak için Oluştur'u seçin.

Not

Veri toplama kuralını oluşturduktan sonra verilerin hedeflere gönderilmesi 5 dakika kadar sürebilir.

Örnek günlük sorguları

  • Ana bilgisayar www.contoso.com IÇIN IIS günlük girdilerini URL'sine göre sayın.

    W3CIISLog 
    | where csHost=="www.contoso.com" 
    | summarize count() by csUriStem
    
  • Her IIS makinesi tarafından alınan toplam baytları gözden geçirin.

    W3CIISLog 
    | summarize sum(csBytes) by Computer
    

Örnek uyarı kuralı

  • Dönüş durumu 500 olan herhangi bir kayıtta uyarı kuralı oluşturun.

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

Sorun giderme

IIS günlüklerinin toplanmasıyla ilgili sorunları gidermek için aşağıdaki adımları kullanın.

Iis günlüklerinin alındığını denetleyin

Log Analytics'te aşağıdaki sorguyu çalıştırarak IIS günlükleriniz için herhangi bir kaydın toplanıp toplanmadığını denetleyerek başlayın. Sorgu kayıtları döndürmezse, olası nedenler için diğer bölümleri denetleyin. Bu sorgu son iki gün içindeki tüm verileri arar, ancak başka bir zaman aralığı için değiştirebilirsiniz.

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

Aracının sinyalleri başarıyla gönderdiğini doğrulayın

Sinyal tablosunda kayıt olup olmadığını denetlemek için Log Analytics'te aşağıdaki sorguyu çalıştırarak Azure İzleyici aracısının düzgün iletişim kurduğunu doğrulayın.

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

IIS günlüklerinin oluşturulduğunu doğrulayın

Günlük dosyalarının zaman damgalarına bakın ve günlük dosyalarında en son zaman damgalarının mevcut olduğunu görmek için en son zaman damgalarını açın. IIS günlük dosyalarının varsayılan konumu C:\inetpub\logs\LogFiles\W3SVC1'dir.

Zaman damgasını gösteren IIS günlüğünün ekran görüntüsü.

Veri toplama kuralında doğru günlük konumunu belirttiğinizi doğrulayın

Veri toplama kuralı aşağıdakine benzer bir bölüme sahip olacaktır. öğesi aracı logDirectories bilgisayardan toplayacak günlük dosyasının yolunu belirtir. Bunun doğru olduğunu doğrulamak için aracı bilgisayarı denetleyin.

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

Bu dizin aracı makinesindeki IIS günlüklerinin konumuna karşılık gelir.

Aracı makinedeki IIS günlük dosyalarının ekran görüntüsü.

IIS günlüklerinin W3C biçimli olduğunu doğrulayın

IIS Yöneticisi'ni açın ve günlüklerin W3C biçiminde yazıldığını doğrulayın.

Aracı makinesinde IIS günlük yapılandırması iletişim kutusunun ekran görüntüsü.

Günlüklerin W3C biçiminde olduğunu doğrulamak için aracı makinede IIS günlük dosyasını açın.

Dosyanın W3C biçiminde olduğunu belirten üst bilgiyi gösteren IIS günlüğünün ekran görüntüsü.

Not

X-Forwarded-For özel alanı şu anda desteklenmiyor. Bu kritik bir alansa IIS günlüklerini özel metin günlüğü olarak toplayabilirsiniz.

Sonraki adımlar

Aşağıdakiler hakkında daha fazla bilgi edinin: