Udostępnij za pośrednictwem


Zbieranie dzienników usług IIS za pomocą agenta usługi Azure Monitor

Usługa Internet Information Service (IIS) rejestruje dane na dysku lokalnym maszyn z systemem Windows. W tym artykule wyjaśniono, jak zbierać dzienniki usług IIS z monitorowanych maszyn za pomocą agenta usługi Azure Monitor, tworząc regułę zbierania danych (DCR).

Wymagania wstępne

Aby wykonać tę procedurę, potrzebne są następujące elementy:

  • Obszar roboczy usługi Log Analytics, w którym masz co najmniej prawa współautora.

  • Jeden lub dwa punkty końcowe zbierania danych, w zależności od tego, czy maszyna wirtualna i obszar roboczy usługi Log Analytics znajdują się w tym samym regionie.

    Aby uzyskać więcej informacji, zobacz Jak skonfigurować punkty końcowe zbierania danych na podstawie wdrożenia.

  • Uprawnienia do tworzenia obiektów reguły zbierania danych w obszarze roboczym.

  • Maszyna wirtualna, zestaw skalowania maszyn wirtualnych lub serwer lokalny z obsługą usługi Arc z uruchomionymi usługami IIS.

    • Plik dziennika usług IIS w formacie W3C musi być przechowywany na dysku lokalnym komputera, na którym działa agent usługi Azure Monitor.
    • Każdy wpis w pliku dziennika musi być rozdzielony końcem wiersza.
    • Plik dziennika nie może zezwalać na rejestrowanie cykliczne, rotację dziennika, w której plik jest zastępowany nowymi wpisami lub zmiana nazwy pliku, w którym plik jest przenoszony i otwierany jest nowy plik o tej samej nazwie.

Tworzenie reguły zbierania danych w celu zbierania dzienników usług IIS

Reguła zbierania danych definiuje:

  • Które pliki dziennika źródłowego agenta usługi Azure Monitor skanują pod kątem nowych zdarzeń.
  • Jak usługa Azure Monitor przekształca zdarzenia podczas pozyskiwania.
  • Docelowy obszar roboczy usługi Log Analytics i tabela, do której usługa Azure Monitor wysyła dane.

Regułę zbierania danych można zdefiniować w celu wysyłania danych z wielu maszyn do wielu obszarów roboczych usługi Log Analytics, w tym obszarów roboczych w innym regionie lub dzierżawie. Utwórz regułę zbierania danych w tym samym regionie co obszar roboczy Analiza.

Uwaga

Aby wysyłać dane między dzierżawami, musisz najpierw włączyć usługę Azure Lighthouse.

Aby utworzyć regułę zbierania danych w witrynie Azure Portal:

  1. W menu Monitor wybierz pozycję Reguły zbierania danych.

  2. Wybierz pozycję Utwórz , aby utworzyć nową regułę i skojarzenia zbierania danych.

    Zrzut ekranu przedstawiający przycisk Utwórz na ekranie Reguły zbierania danych.

  3. Wprowadź nazwę reguły i określ punkt końcowy subskrypcji, grupy zasobów, regionu, typu platformy i zbierania danych:

    • Region określa miejsce utworzenia kontrolera domeny . Maszyny wirtualne i ich skojarzenia mogą znajdować się w dowolnej subskrypcji lub grupie zasobów w dzierżawie.
    • Typ platformy określa typ zasobów, do których może mieć zastosowanie ta reguła. Opcja Niestandardowa umożliwia używanie zarówno typów systemów Windows, jak i Linux.
    • Punkt końcowy zbierania danych to opcjonalne pole, które nie musi być ustawione, chyba że planujesz używać linków prywatnych usługi Azure Monitor. Jeśli jest to potrzebne, określa punkt końcowy zbierania danych używany do zbierania danych. Ten punkt końcowy zbierania danych musi znajdować się w tym samym regionie co obszar roboczy usługi Log Analytics. Aby uzyskać więcej informacji, zobacz Jak skonfigurować punkty końcowe zbierania danych na podstawie wdrożenia.

    Zrzut ekranu przedstawiający kartę Podstawowe na ekranie Reguła zbierania danych.

  4. Na karcie Zasoby:

    1. Wybierz pozycję + Dodaj zasoby i skojarz zasoby z regułą zbierania danych. Zasoby mogą być maszynami wirtualnymi, zestawami skalowania maszyn wirtualnych i usługą Azure Arc dla serwerów. Witryna Azure Portal instaluje agenta usługi Azure Monitor na zasobach, które nie zostały jeszcze zainstalowane.

      Ważne

      Portal umożliwia przypisaną przez system tożsamość zarządzaną w zasobach docelowych wraz z istniejącymi tożsamościami przypisanymi przez użytkownika, jeśli istnieją. W przypadku istniejących aplikacji, chyba że określisz tożsamość przypisaną przez użytkownika w żądaniu, zamiast tego maszyna domyślnie używa tożsamości przypisanej przez system.

    2. Wybierz pozycję Włącz punkty końcowe zbierania danych.

    3. Wybierz punkt końcowy zbierania danych dla każdej maszyny wirtualnej skojarzonej z regułą zbierania danych.

      Ten punkt końcowy zbierania danych wysyła pliki konfiguracji do maszyny wirtualnej i musi znajdować się w tym samym regionie co maszyna wirtualna. Aby uzyskać więcej informacji, zobacz Jak skonfigurować punkty końcowe zbierania danych na podstawie wdrożenia.

    Zrzut ekranu przedstawiający kartę Zasoby na ekranie Reguła zbierania danych.

  5. Na karcie Zbieranie i dostarczanie wybierz pozycję Dodaj źródło danych, aby dodać źródło danych i ustawić miejsce docelowe.

  6. Wybierz pozycję Dzienniki usług IIS.

    Zrzut ekranu przedstawiający formularz witryny Azure Portal, aby wybrać podstawowe liczniki wydajności w regule zbierania danych.

  7. Określ wzorzec pliku, aby zidentyfikować katalog, w którym znajdują się pliki dziennika.

  8. Na karcie Miejsce docelowe dodaj miejsce docelowe dla źródła danych.

    Zrzut ekranu przedstawiający formularz witryny Azure Portal umożliwiający dodanie źródła danych w regule zbierania danych.

  9. Wybierz pozycję Przejrzyj i utwórz , aby przejrzeć szczegóły reguły zbierania danych i skojarzenie z zestawem maszyn wirtualnych.

  10. Wybierz pozycję Utwórz , aby utworzyć regułę zbierania danych.

Uwaga

Po utworzeniu reguły zbierania danych może upłynąć do 5 minut.

Przykładowe zapytania dziennika

  • Zlicz wpisy dziennika usług IIS według adresu URL dla www.contoso.com hosta.

    W3CIISLog 
    | where csHost=="www.contoso.com" 
    | summarize count() by csUriStem
    
  • Przejrzyj łączną liczbę bajtów odebranych przez poszczególne maszyny usług IIS.

    W3CIISLog 
    | summarize sum(csBytes) by Computer
    

Przykładowa reguła alertu

  • Utwórz regułę alertu dla dowolnego rekordu ze stanem powrotu 500.

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

Rozwiązywanie problemów

Wykonaj poniższe kroki, aby rozwiązać problemy z kolekcją dzienników usług IIS.

Sprawdź, czy odebrano jakiekolwiek dzienniki usług IIS

Zacznij od sprawdzenia, czy jakiekolwiek rekordy zostały zebrane dla dzienników usług IIS, uruchamiając następujące zapytanie w usłudze Log Analytics. Jeśli zapytanie nie zwraca rekordów, sprawdź inne sekcje pod kątem możliwych przyczyn. To zapytanie wyszukuje całe w ciągu ostatnich dwóch dni, ale można go zmodyfikować dla innego zakresu czasu.

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

Sprawdź, czy agent pomyślnie wysyła pulsy

Sprawdź, czy agent usługi Azure Monitor prawidłowo komunikuje się, uruchamiając następujące zapytanie w usłudze Log Analytics, aby sprawdzić, czy istnieją jakieś rekordy w tabeli Puls.

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

Sprawdź, czy dzienniki usług IIS są tworzone

Przyjrzyj się znacznikom czasu plików dziennika i otwórz najnowsze, aby zobaczyć, że w plikach dziennika znajdują się najnowsze znaczniki czasu. Domyślną lokalizacją plików dziennika usług IIS jest C:\inetpub\logs\LogFiles\W3SVC1.

Zrzut ekranu przedstawiający dziennik usług IIS z sygnaturą czasową.

Sprawdź, czy określono poprawną lokalizację dziennika w regule zbierania danych

Reguła zbierania danych będzie mieć sekcję podobną do poniższej. Element logDirectories określa ścieżkę do pliku dziennika do zbierania z komputera agenta. Sprawdź komputer agenta, aby sprawdzić, czy jest to poprawne.

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

Ten katalog powinien odpowiadać lokalizacji dzienników usług IIS na maszynie agenta.

Zrzut ekranu przedstawiający pliki dziennika usług IIS na maszynie agenta.

Sprawdź, czy dzienniki usług IIS są sformatowane w usłudze W3C

Otwórz Menedżera usług IIS i sprawdź, czy dzienniki są zapisywane w formacie W3C.

Zrzut ekranu przedstawiający okno dialogowe konfiguracji rejestrowania usług IIS na maszynie agenta.

Otwórz plik dziennika usług IIS na maszynie agenta, aby sprawdzić, czy dzienniki są w formacie W3C.

Zrzut ekranu dziennika usług IIS przedstawiający nagłówek, który określa, że plik jest w formacie W3C.

Uwaga

Pole niestandardowe X-Forwarded-For nie jest obecnie obsługiwane. Jeśli jest to pole krytyczne, możesz zebrać dzienniki usług IIS jako niestandardowy dziennik tekstowy.

Następne kroki

Dowiedz się więcej na następujące tematy: