Сбор журналов 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, выполните следующие действия.
В меню "Монитор" выберите "Правила сбора данных".
Выберите "Создать", чтобы создать новое правило сбора данных и связи.
Введите имя правила и укажите подписку, группу ресурсов, регион, тип платформы и конечную точку сбора данных:
- Параметр Регион указывает, где будет создано правило сбора данных. Виртуальные машины и их связи могут находиться в любой подписке или группе ресурсов в клиенте.
- Параметр Тип платформы указывает тип ресурсов, к которому применяется правило. Настраиваемый параметр позволяет использовать как типы Windows, так и Для Linux.
- Конечная точка сбора данных указывает конечную точку сбора данных, используемую для сбора данных. Эта конечная точка сбора данных должна находиться в том же регионе, что и рабочая область Log Analytics. Дополнительные сведения см. в статье о настройке конечных точек сбора данных на основе развертывания.
На вкладке "Ресурсы":
Выберите +Добавить ресурсы и свяжите ресурсы с правилом сбора данных. Ресурсы могут быть виртуальными машинами, Масштабируемые наборы виртуальных машин и Azure Arc для серверов. Портал Azure устанавливает агент Azure Monitor на ресурсы, которые еще не установлены.
Внимание
Портал включает управляемое удостоверение, назначаемое системой, на целевом ресурсе, а также существующие удостоверения, назначенные пользователем, если есть. Если в запросе не указано удостоверение, назначаемое пользователем, компьютер по умолчанию использует удостоверение, назначаемое системой.
Выберите "Включить конечные точки сбора данных".
Выберите конечную точку сбора данных для каждой виртуальной машины, сопоставленной с правилом сбора данных.
Эта конечная точка сбора данных отправляет файлы конфигурации виртуальной машине и должна находиться в том же регионе, что и виртуальная машина. Дополнительные сведения см. в статье о настройке конечных точек сбора данных на основе развертывания.
На вкладке Сбор и доставка нажмите Добавить источник данных, чтобы добавить источник данных и задать назначение.
Выберите журналы IIS.
Укажите шаблон файла, чтобы определить каталог, в котором находятся файлы журнала.
На вкладке "Назначение " добавьте место назначения для источника данных.
Выберите "Проверка и создание ", чтобы просмотреть сведения о правиле сбора данных и сопоставлении с набором виртуальных машин.
Выберите Создать, чтобы создать правило сбора данных.
Примечание.
После создания правила сбора данных может потребоваться до 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.
Проверка указания правильного расположения журнала в правиле сбора данных
Правило сбора данных будет иметь раздел, аналогичный следующему. Элемент logDirectories
указывает путь к файлу журнала для сбора с компьютера агента. Проверьте компьютер агента, чтобы убедиться, что он работает правильно.
"dataSources": [
{
"configuration": {
"logDirectories": ["C:\\scratch\\demo\\W3SVC1"]
},
"id": "myIisLogsDataSource",
"kind": "iisLog",
"streams": [{
"stream": "ONPREM_IIS_BLOB_V2"
}
],
"sendToChannels": ["gigl-dce-6a8e34db54bb4b6db22d99d86314eaee"]
}
]
Этот каталог файла должен соответствовать расположению журналов IIS на компьютере агента.
Проверка записи журналов IIS в формате W3C
Откройте диспетчер IIS и убедитесь, что журналы записываются в формате W3C.
Откройте файл журнала IIS на компьютере агента, чтобы убедиться, что журналы находятся в формате W3C.
Примечание.
Настраиваемое поле X-Forwarded-For в настоящее время не поддерживается. Если это критическое поле, вы можете собирать журналы IIS в виде пользовательского текстового журнала.
Следующие шаги
См. также:
- Агент Azure Monitor.
- Правила сбора данных.
- Рекомендации по управлению затратами в Azure Monitor.