Где найти логи IIS
- Что такое журнал IIS?
- 🗒Расположение журналов IIS
- 📌Что делать, если вы не можете найти файлы логов IIS?
- ⚙️Как найти файлы журналов IIS в Azure
- 📡Как узнать расположение логов IIS с помощью PowerShell
- Как удобно изучать логи IIS
- Где хранятся трассировки IIS
- Как настроить расписание создания логов IIS
- Как выбрать поля W3C для регистрации
- Как очищать старые логи IIS
- Дополнительные ссылки
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами рассматривали, как можно установить Internet Information Services. Сегодня я хочу продолжить данную тему и показать вам где хранятся файлы журналов IIS, так как файлы журналов Internet Information Services (IIS) содержат ценную информацию об использовании и состоянии Web приложений. Однако не всегда легко найти, где они находятся, чтобы определить важные аспекты использования приложения, например, когда были сделаны запросы к серверу, кем и другие проблемы пользовательского трафика. Давайте разбираться.
Что такое журнал IIS?
Ведение журнала IIS — это ведение журнала на стороне сервера, которое включено для группы URL-адресов. Журналы IIS имеют фиксированный текстовый формат ASCII и не могут быть настроены. Там можно получить много ценной информации, когда вы ищите источник проблем на вашем веб-сервере. Очень частая ситуация, веб-приложение получает ошибку 5хх, не всегда по коду понятно, в чем причина, что делать, куда смотреть. Лично я такие обращения получаю от разработчиков раз в месяц стабильно.
🗒Расположение журналов IIS
По умолчанию логи IIS после установки располагаются по пути:
Данную папку вы можете посмотреть в проводнике Windows. В папке LogFiles вы найдете папки с именами в формате:
- ✅ W3SVC1
- ✅ W3SVC2
- ✅ W3SVC3
Чтобы узнать ID у сайта вам нужно перейти в его дополнительные свойства.
Размер журналов будет зависеть от интенсивности записи в них и можете спокойно достигать по 500 МБ.
Так же вы можете посмотреть ошибки по пути:
📌Что делать, если вы не можете найти файлы логов IIS?
Администраторы или другой IT-персонал могут легко перенести каталог, в котором они хранятся, в другое расположение. В этом случае очень важно, чтобы пользователи могли быстро находить файлы журналов IIS, чтобы отслеживать работоспособность приложений, устранять неполадки или находить базовую информацию по проблемам кибербезопасности и управления данными.
Чтобы их найти, вы должны запустить оснастку Internet Information Services. Для этого запустите окно "Выполнить" и введите:
Найдите интересующий вас сайт, после чего кликните по иконке "Logging".
В разделе "Directory" вы увидите, где у вас лежат логи Internet Information Services. При желании вы можете это поменять. Обратите внимание на формат ведения журнала, по умолчанию будет W3C.
По мимо текущих журналов, вы можете еще отслеживать ошибки и предупреждения IIS в логах просмотра событий. Так в журнале "Система" вы можете активировать фильтр с источником WAS. В результате вы получите много ценной информации по поиску проблем на IIS или его пулах.
Еще есть три дополнительных журнала, но они требуют активации, так как по умолчанию они не ведут запись.
- ✅ IIS-CentralCertificateProvider
- ✅ IIS-Configuration
- ✅ IIS-Logging
⚙️Как найти файлы журналов IIS в Azure
Облако Azure:
- Файлы журналов IIS автоматически сохраняются в облачных службах Azure .
- Доступ к файлам журнала с помощью удаленного рабочего стола для подключения к определенному серверу. Там файлы хранятся по пути, похожему на этот: C:\Resources\directory\{какой-то случайный guid}.{имя приложения}.DiagnosticStore\LogFiles\Web\W3SVC{случайный номер}
Службы приложений Azure :
- Убедитесь, что ведение журнала веб-сервера включено.
- Настройте ведение журнала веб-сервера для сохранения в файловой системе.
- Файлы расположены в папке: D:\home\LogFiles\http\RawLogs через консоль KUDU.
📡Как узнать расположение логов IIS с помощью PowerShell
В оболочке PowerShell введите:
или
или для всех сайтов
Чтобы получить бонусные баллы, добавьте | iiк первой команде, которую нужно открыть в Проводнике, или | gciк просмотру содержимого папки.
Как удобно изучать логи IIS
Если использовать обычный блокнот для поиска информации в журналах Internet Information Services, то вы увидите, что это неудобно. Для более продуктивной работы я вам советую использовать бесплатную утилиту Log Parser. Я ее использовал уже для удобной работы с файлами формата log.
Где хранятся трассировки IIS
Если вы включите трассировки на сайте, то посмотреть соответствующие журналы можно по пути указанному в дополнительных свойствах сайта. Вам потребуется раздел "Failed Request Tracing". В моем случае это:
Как настроить расписание создания логов IIS
Если вы хотите настроить по какому расписанию должны создаваться журналы логов IIS, то вам это нужно сделать через диспетчер. Данная настройка делается, как на уровне всех сайтов, так и на уровне отдельного сайта. Найдите значок "Logging".
В разделе "Log File Rollover" выберите один из следующих вариантов. Расписание: для создания нового файла журнала на основе одного из следующих значений:
- Ежечасно (Hourly): новый файл журнала создается каждый час.
- Ежедневно (Daily): каждый день создается новый файл журнала.
- Еженедельно (Weekly): каждую неделю создается новый файл журнала.
- Ежемесячно (Monthly): каждый месяц создается новый файл журнала.
- Максимальный размер файла (в байтах) : для создания файла журнала, когда файл достигает определенного размера (в байтах). Минимальный размер файла составляет 1048576 байт. Если для этого атрибута задано значение меньше 1048576 байт, значение по умолчанию неявно принимается равным 1048576 байт.
- Не создавайте новый файл журнала : существует единственный файл журнала, который продолжает расти по мере регистрации информации.
Выберите "Использовать местное время для именования и смены (Use local time for file naming and rollover)" файлов журнала, чтобы указать, что для именования файлов журнала и времени смены файлов журнала используется время локального сервера. Если этот параметр не выбран, используется всемирное координированное время (UTC).
Как выбрать поля W3C для регистрации
Для того, чтобы сделать для себя нужный список полей, которые должны появляться в логах Internet Information Services. Вы должны на уровне сервера или сайта нажать кнопку "Select Fiels" в разделе "Format"
- Дата (дата): дата, когда произошел запрос.
- Время (время): время по всемирному координированному времени (UTC), когда был получен запрос.
- IP-адрес клиента (c-ip): IP-адрес клиента, отправившего запрос.
- Имя пользователя (cs-username): имя аутентифицированного пользователя, который получил доступ к вашему серверу. Анонимные пользователи обозначаются дефисом.
- Имя службы (s-sitename): номер экземпляра сайта, выполнившего запрос.
- Имя сервера (s-computername): имя сервера, на котором была создана запись в файле журнала.
- IP-адрес сервера (s-ip): IP-адрес сервера, на котором была создана запись в файле журнала.
- Порт сервера (s-port): номер порта сервера, настроенный для службы.
- Метод (cs-метод): запрошенное действие, например, метод GET.
- Основа URI (cs-uri-stem): универсальный идентификатор ресурса или цель действия.
- Запрос URI (cs-uri-query): запрос, если таковой имеется, который пытался выполнить клиент. Запрос универсального идентификатора ресурса (URI) необходим только для динамических страниц.
- Состояние протокола (sc-status): код состояния HTTP или FTP.
- Подстатус протокола (sc-substatus): код подстатуса HTTP или FTP.
- Состояние Win32 (sc-win32-status): код состояния Windows.
- Отправлено байтов (sc-bytes): количество байтов, отправленных сервером.
- Получено байтов (cs-bytes): количество байтов, полученных сервером.
- Затраченное время (time-taken): продолжительность действия в миллисекундах.
- Версия протокола (cs-версия): версия протокола, которую использовал клиент.
- Хост (cs-host): имя хоста, если есть.
- Пользовательский агент (cs(UserAgent)): тип браузера, который использовал клиент.
- Cookie (cs(Cookie)): содержимое отправленного или полученного файла cookie, если таковой имеется.
- Referrer (cs(Referrer)): сайт, который последний раз посещал пользователь. Этот сайт предоставил ссылку на текущий сайт.
Как очищать старые логи IIS
Для этого нам опять поможет PowerShell и волшебный скрипт, который сможет удалять журналы в заданном расположении и по разному временному требованию. Сам скрипт искать тут.
Дополнительные ссылки
- https://learn.microsoft.com/en-us/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis
- https://learn.microsoft.com/en-us/iis/manage/provisioning-and-managing-iis/managing-iis-log-file-storage