Назад | Перейти на главную страницу

как разделить журналы событий IIS по приложениям в средстве просмотра событий

Для начала, я хотел бы сообщить, что я ОЧЕНЬ новичок в 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

Возможно, это не лучший способ сделать это, но у меня он сработал.

  1. Попробуйте поиграть с wevtutil (это Windows утилита командной строки для управления событиями), чтобы посмотреть, сможете ли вы придумать соответствующий запрос.

    Видеть https://technet.microsoft.com/en-us/magazine/dd310329.aspx

    и экраны справки команды Query:

    wevtutil qe /?

  2. Если вы предпочитаете решение на основе диалогов, попробуйте Запросы XPath в средстве просмотра событий, как описано здесь: http://blog.backslasher.net/filtering-windows-event-log-using-xpath.html Но я боюсь, что журнал событий Windows поддерживает только подмножество XPath 1.0. Он содержит всего 3 функции: позиция, диапазон, разница по времени.

  3. Также есть интересные варианты с Get-WinEvent Powershell команда.

В своем (отредактированном) вопросе вы указываете, что хотите отфильтровать, используя подстроку поля Описание. Не думаю, что это будет возможно со встроенными фильтрами, я бы использовал wevtutil команда для выгрузки всех соответствующих событий в XML и затем фильтр с каким-либо полнофункциональным парсером (может быть простой поиск по строке или анализатор XML с полными возможностями XPath).