Сбор журналов IIS с помощью агента Azure Monitor

Служба IIS записывает данные на локальный диск компьютеров Windows. В этой статье объясняется, как собирать журналы IIS с отслеживаемых компьютеров с помощью агента Azure Monitor путем создания правила сбора данных (DCR).

Необходимые компоненты

Чтобы выполнить эту процедуру, вам потребуется:

  • Рабочая область Log Analytics, в которой у вас есть как минимум права участника.

  • Одна или две конечные точки сбора данных в зависимости от того, находятся ли виртуальная машина и рабочая область Log Analytics в одном регионе.

    Дополнительные сведения см. в статье о настройке конечных точек сбора данных на основе развертывания.

  • Разрешения на создание объектов правила сбора данных в рабочей области.

  • Виртуальная машина, масштабируемый набор виртуальных машин или локальный сервер с поддержкой Arc, на котором выполняются службы IIS.

    • Файл журнала IIS в формате W3C должен храниться на локальном диске компьютера, на котором запущен агент Azure Monitor.
    • Каждая запись в файле журнала должна быть очерчена концом строки.
    • Файл журнала не должен разрешать циклическое ведение журнала, поворот журнала, в котором файл перезаписывается новыми записями, или переименовать место перемещения файла и открыть новый файл с тем же именем.

Создание правила сбора данных для сбора журналов IIS

Правило сбора данных определяет следующее:

  • Какие исходные файлы журналов агент Azure Monitor проверяет наличие новых событий.
  • Как Azure Monitor преобразует события во время приема.
  • Целевая рабочая область Log Analytics и таблица, в которую Azure Monitor отправляет данные.

Можно определить правило сбора данных для отправки данных с нескольких компьютеров в несколько рабочих областей Log Analytics, включая рабочие области в другом регионе или клиенте. Создайте правило сбора данных в том же регионе , что и рабочая область Analytics.

Примечание.

Чтобы отправлять данные между клиентами, необходимо сначала включить Azure Lighthouse.

Чтобы создать правило сбора данных в портал Azure, выполните следующие действия.

  1. В меню "Монитор" выберите "Правила сбора данных".

  2. Выберите "Создать", чтобы создать новое правило сбора данных и связи.

    Снимок экрана: кнопка

  3. Введите имя правила и укажите подписку, группу ресурсов, регион, тип платформы и конечную точку сбора данных:

    • Параметр Регион указывает, где будет создано правило сбора данных. Виртуальные машины и их связи могут находиться в любой подписке или группе ресурсов в клиенте.
    • Параметр Тип платформы указывает тип ресурсов, к которому применяется правило. Настраиваемый параметр позволяет использовать как типы Windows, так и Для Linux.
    • Конечная точка сбора данных указывает конечную точку сбора данных, используемую для сбора данных. Эта конечная точка сбора данных должна находиться в том же регионе, что и рабочая область Log Analytics. Дополнительные сведения см. в статье о настройке конечных точек сбора данных на основе развертывания.

    Снимок экрана: вкладка

  4. На вкладке "Ресурсы":

    1. Выберите +Добавить ресурсы и свяжите ресурсы с правилом сбора данных. Ресурсы могут быть виртуальными машинами, Масштабируемые наборы виртуальных машин и Azure Arc для серверов. Портал Azure устанавливает агент Azure Monitor на ресурсы, которые еще не установлены.

      Внимание

      Портал включает управляемое удостоверение, назначаемое системой, на целевом ресурсе, а также существующие удостоверения, назначенные пользователем, если есть. Если в запросе не указано удостоверение, назначаемое пользователем, компьютер по умолчанию использует удостоверение, назначаемое системой.

    2. Выберите "Включить конечные точки сбора данных".

    3. Выберите конечную точку сбора данных для каждой виртуальной машины, сопоставленной с правилом сбора данных.

      Эта конечная точка сбора данных отправляет файлы конфигурации виртуальной машине и должна находиться в том же регионе, что и виртуальная машина. Дополнительные сведения см. в статье о настройке конечных точек сбора данных на основе развертывания.

    Снимок экрана: вкладка

  5. На вкладке Сбор и доставка нажмите Добавить источник данных, чтобы добавить источник данных и задать назначение.

  6. Выберите журналы IIS.

    Снимок экрана: форма портал Azure для выбора базовых счетчиков производительности в правиле сбора данных.

  7. Укажите шаблон файла, чтобы определить каталог, в котором находятся файлы журнала.

  8. На вкладке "Назначение " добавьте место назначения для источника данных.

    Снимок экрана: форма портал Azure для добавления источника данных в правило сбора данных.

  9. Выберите "Проверка и создание ", чтобы просмотреть сведения о правиле сбора данных и сопоставлении с набором виртуальных машин.

  10. Выберите Создать, чтобы создать правило сбора данных.

Примечание.

После создания правила сбора данных может потребоваться до 5 минут.

Пример запросов журнала

  • Число записей в журнале IIS по URL-адресу для узла www.contoso.com.

    W3CIISLog 
    | where csHost=="www.contoso.com" 
    | summarize count() by csUriStem
    
  • Проверьте общее число байтов, полученных каждым компьютером IIS.

    W3CIISLog 
    | summarize sum(csBytes) by Computer
    

Пример правила генерации оповещения

  • Создание правила генерации оповещений для любой записи с состоянием возврата 500.

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

Устранение неполадок

Чтобы устранить неполадки с коллекцией журналов IIS, выполните следующие действия.

Проверка получения журналов IIS

Начните с проверки того, были ли собраны какие-либо записи для ваших пользовательских журналов IIS, выполнив следующий запрос в Log Analytics. Если запрос не возвращает записи, проверка другие разделы для возможных причин. Этот запрос ищет целые данные за последние два дня, но вы можете изменить его для другого диапазона времени.

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

Проверка успешной отправки пульса агентом

Убедитесь, что агент Azure Monitor правильно обменивается данными, выполнив следующий запрос в Log Analytics, чтобы проверить наличие записей в таблице Heartbeat.

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

Проверка создания журналов IIS

Посмотрите метки времени файлов журналов и откройте последние, чтобы убедиться, что последние метки времени присутствуют в файлах журналов. Расположение по умолчанию для файлов журналов IIS — C:\inetpub\logs\LogFiles\W3SVC1.

Снимок экрана журнала IIS с меткой времени.

Проверка указания правильного расположения журнала в правиле сбора данных

Правило сбора данных будет иметь раздел, аналогичный следующему. Элемент logDirectories указывает путь к файлу журнала для сбора с компьютера агента. Проверьте компьютер агента, чтобы убедиться, что он работает правильно.

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

Этот каталог файла должен соответствовать расположению журналов IIS на компьютере агента.

Снимок экрана: файлы журнала IIS на компьютере агента.

Проверка записи журналов IIS в формате W3C

Откройте диспетчер IIS и убедитесь, что журналы записываются в формате W3C.

Снимок экрана: диалоговое окно настройки ведения журнала IIS на компьютере агента.

Откройте файл журнала IIS на компьютере агента, чтобы убедиться, что журналы находятся в формате W3C.

Снимок экрана журнала IIS с заголовком, указывающим, что файл находится в формате W3C.

Примечание.

Настраиваемое поле X-Forwarded-For в настоящее время не поддерживается. Если это критическое поле, вы можете собирать журналы IIS в виде пользовательского текстового журнала.

Следующие шаги

См. также: