Для начала, я хотел бы сообщить, что я ОЧЕНЬ новичок в IIS, поэтому заранее извиняюсь за очевидные вопросы.
Я провел некоторое исследование по этой теме, и мои выводы были неубедительными.
Вот мой сценарий;
В настоящее время я запускаю IIS 6 на удаленном сервере, на котором размещено около 20 сайтов.
Я обнаружил, что могу просматривать ошибки, возникающие в различных веб-приложениях, с помощью средства просмотра событий.
Моя текущая проблема заключается в том, что, похоже, нет способа отфильтровать журналы событий для каждого приложения, и вместо этого они появляются случайным образом в зависимости от времени, когда они происходят. Существует также сочетание веб-событий ASP.NET, предупреждений IIS-W3SVC-WP и т. Д.
Чтобы определить, какое предупреждение назначено какому-либо приложению, мне нужно щелкнуть правой кнопкой мыши по ошибке, перейти в «Свойства события» и «Путь к приложению», который будет иметь, например, путь к моей «HotelBookingSystem». Путь к приложению для этого будет «D: inetpub \ wwwroot \ HotelBookingSystem».
Мой вопрос: есть ли способ отсортировать журналы событий для каждого приложения? В идеале я бы хотел отфильтровать все результаты по «Пути приложения».
Я установил Microsoft Log Parser Studios, поэтому считаю, что может быть способ выполнить запрос с его использованием, но мои знания SQL не на том уровне, чтобы пытаться создать такой запрос.
Любая помощь будет принята с благодарностью.
Мне удалось решить эту проблему, но это довольно долгий метод.
В «Средстве просмотра событий» я щелкнул правой кнопкой мыши журналы Windows «Приложение» и сохранил все журналы в файле .txt.
Я скопировал этот файл .txt с удаленного сервера на свой локальный компьютер.
Я установил Log Parser 2.2 на свой компьютер (можно скачать Вот
Я получил доступ к Log Parser, открыв командную строку на моем локальном компьютере и перейдя в то место, где я его установил, например. Программные файлы (x86)> Log Parser 2.2>.
Продолжая это, я ввел следующую команду, которая ищет строку (в моем случае, имя приложения), а также дату, чтобы я мог сузить поиск до определенной даты. Я также распечатал результаты в сетке данных;
logParser.exe "select * from **C:\NAME_OF_FILE.txt** WHERE text LIKE '%10/02/2015%' AND text LIKE '**YOUR_STRING**%'" -o:datagrid
Вы также можете поместить результат в выходной файл, который в моем случае был;
-o:CSV > C:\temp\Test.csv
Возможно, это не лучший способ сделать это, но у меня он сработал.
Попробуйте поиграть с wevtutil
(это Windows утилита командной строки для управления событиями), чтобы посмотреть, сможете ли вы придумать соответствующий запрос.
Видеть https://technet.microsoft.com/en-us/magazine/dd310329.aspx
и экраны справки команды Query:
wevtutil qe /?
Если вы предпочитаете решение на основе диалогов, попробуйте Запросы XPath в средстве просмотра событий, как описано здесь: http://blog.backslasher.net/filtering-windows-event-log-using-xpath.html Но я боюсь, что журнал событий Windows поддерживает только подмножество XPath 1.0. Он содержит всего 3 функции: позиция, диапазон, разница по времени.
Также есть интересные варианты с Get-WinEvent
Powershell команда.
В своем (отредактированном) вопросе вы указываете, что хотите отфильтровать, используя подстроку поля Описание. Не думаю, что это будет возможно со встроенными фильтрами, я бы использовал wevtutil
команда для выгрузки всех соответствующих событий в XML и затем фильтр с каким-либо полнофункциональным парсером (может быть простой поиск по строке или анализатор XML с полными возможностями XPath).