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

Столбец поддержки голосовых ASP.NET

Средство синтаксического анализа журналов 2.2 и ASP.NET

Чтобы настроить этот столбец в соответствии с вашими потребностями, мы хотим предложить вам представить свои идеи по интересующим вас темам и проблемам, которые вы хотите рассмотреть в будущих статьях базы знаний и в столбцах поддержки голосовой связи. Вы можете отправить свои идеи и отзывы с помощью формы Ask For It. Кроме того, в нижней части этого столбца находится ссылка на форму.

Добро пожаловать в столбец поддержки голосовых ASP.NET. Меня зовут Рахуль Сони, и я в Корпорации Майкрософт уже около двух лет. В колонке этого месяца я обсудим некоторые факты о Log Parser 2.2. Прежде чем перейти к конкретным сценариям, позвольте мне описать средство синтаксического анализа журналов.

О

Средство синтаксического анализа журналов — это очень мощное и универсальное средство, которое предоставляет универсальный доступ к текстовым данным, таким как файлы журналов, XML-файлы и CSV-файлы, а также к основным источникам данных в операционной системе Microsoft Windows, таким как журнал событий, реестр, файловая система и служба каталогов Active Directory. Щелкните
здесь, чтобы скачать средство. В этой версии с помощью средства синтаксического анализа журналов можно легко проанализировать следующие файлы:

IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS и COM. Я согласен с тем, что интерфейс командной строки не очень интуитивно понятен, и вы найдете его сразу после установки и запуска средства. Но то, что инструмент не хватает в интуитивном чувстве, это исправление документацией, предоставленной для этого инструмента. Я дам небольшой совет здесь: не позволяйте интерфейсу командной строки отставать вас так скоро. Это средство является обязательным в наборе средств компании и помогает вам, особенно если вы хотите устранить неполадки с точки зрения производительности.

Я не буду говорить о том, как использовать средство синтаксического анализа журналов, так как документация очень хорошая, а папка установки также содержит папку Samples\Queries, которая содержит довольно много примеров.

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

Сценарий 1. Анализ больших текстовых файлов для определенного текста

Небольшая информация о проблеме

У вашего клиента возникает проблема "Отказано в доступе", когда он что-то сделал. Рекомендуется, чтобы клиент использовал другое блестящее средство с именем
Filemon и воспроизведет проблему. Если это проблема с списками управления доступом ресурсов, средство Filemon сможет перехватывать ошибку. Теперь вы просите клиента отправить вам сохраненный файл журнала Filemon. Вот и несчастная часть. Вы получите файл (например, Filemon.log), но обнаружите, что его размер огромен (Filemon записывает в журнал большое количество данных!). Блокнот будет зависать и будет медленно находить строки "Доступ запрещен" в файле журнала. Microsoft Office Excel откажется полностью открыть файл. Теперь что?

Ответ. Откройте командное окно средства синтаксического анализа журналов и используйте следующую команду:

LOGPARSER "Выберите текст из C:\Filemon.log, где текст, например "%Access Denied%"" -i:TEXTLINE -q:OffЧто мы говорим, что средство синтаксического анализа журналов должно анализировать каждую строку (Text) из заданного файла (C:\Filemon.log), где строка содержит "Доступ запрещен". Параметр командной строки -i:TEXTLINE задает формат входных данных, а параметр командной строки -q:Off указывает, что он должен быть подробным (-q[:ON|OFF]:тихий режим;). Если включить параметр командной строки -q, отображаемая статистика и имя поля (Текст) в выходных данных ниже будут отсутствовать.

Пример выходных данных

Text7447 1:49:24 PM explorer.exe:1200 DIRECTORY C:\ Обработка запрещенных статистических данных доступа: 640444
Выходные данные элементов: 1
Время выполнения: 12,75 секунды

Как не нажимать клавишу ВВОД несколько раз, если количество записей, возвращаемых запросом, превышает 10?

Ответ. Используйте параметр -rtp:-1 в запросах!

Это будет необходимый параметр на случай, если вы хотите перенаправить выходные данные в файл. Кроме того, при записи в STDOUT выходные записи отображаются пакетами, состоящими из числа строк, равных значению, указанному для этого параметра. После отображения пакета строк пользователю будет предложено нажать клавишу для отображения следующего пакета строк. Указание "-1" для этого параметра полностью отключает пакетную обработку!

Использование файлов запросов

Другой способ более чистого достижения этих же результатов — создать файл запроса. Таким образом, вы можете легко настроить файл запроса и запустить его из командной строки средства синтаксического анализа журналов. Кроме того, вы можете легко создать графический интерфейс в соответствии с вашим вкусом. Графический интерфейс загружает сохраненный SQL-запрос и выполняет запрос с помощью средства синтаксического анализа журналов.

Если вы хотите добиться того же эффекта (как в сценарии 1) от SQL-запросов, можно указать следующую команду:

LOGPARSER -i:TEXTLINE file:C:\LPQ\SearchAnyTextfile.sql -q:offC:\LPQ\SearchAnyTextFile.sql содержит следующие сведения:

Примечание. Создание LPQ папки в C:\ папка для использования примеров, показанных в этом столбце.

Select Text as LineFromFile
FROM C:\Filemon.log 
WHERE Text 
LIKE '%Access Denied%'

Если вы заметили, запрос теперь выглядит гораздо чище и имеет больше смысла. Таким образом, вы также можете создавать более сложные и большие запросы, и все будет помещаться в командной строке, так как вы используете . SQL-файл вместо всего запроса. В командной строке в любом случае невозможно поместить более 260 символов!

Сохраняя преимущества использования файлов запросов, я буду использовать этот метод в следующих сценариях. У меня есть все запросы, сохраненные в C:\LPQ с расширением .sql (вы можете использовать собственные).

Сценарий 2. Поиск 10 самых больших файлов из определенной папки, включая ее вложенные папки

Небольшая информация о проблеме

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

Я знаю, что для определенной папки можно просто изменить представление (в меню Вид щелкните Сведения) в Windows Обозреватель и отсортировать представление по размеру. Но проблема заключается в том, что вам также нужно учитывать содержимое вложенной папки.

Ответ. Откройте командное окно средства синтаксического анализа журналов и используйте следующую команду:

LOGPARSER -i:FS file:C:\LPQ\Top10Files.sql -q:off -Recurse:-1Top10Files.sql содержит следующее:

SELECT TOP 10 
Path, 
Name, 
Size, 
Attributes 
FROM 'C:\Program Files\Microsoft Office\*.*' 
ORDER BY Size DESC

Здесь -i:FS означает, что мы запрашиваем файловую систему. Вы можете просмотреть полный список полей формата ввода FS в документации и соответствующим образом настроить запрос.

-Recurse:-1 подразумевает, что мы хотим включить все вложенные папки. Если вы не хотите использовать все вложенные папки или хотите ограничить рекурсию, используйте 0, 1, 2 и т. д. Число подразумевает глубину, в который будет входить синтаксический анализатор. 0 означает отсутствие рекурсии, 2 означает, что средство синтаксического анализа повторяется до глубины 2 и т. д.

Пример выходных данных

Path                                                         Name         Size     Attributes 
------------------------------------------------------------ ------------ -------- ----------
C:\Program Files\Microsoft Office\Office10\WINWORD.EXE       WINWORD.EXE  10738448 -A--R----
C:\Program Files\Microsoft Office\Office10\EXCEL.EXE         EXCEL.EXE    9358096  -A--R----
C:\Program Files\Microsoft Office\Office10\OUTLLIB.DLL       OUTLLIB.DLL  6326984  -A-------
C:\Program Files\Microsoft Office\Office10\POWERPNT.EXE      POWERPNT.EXE 6093584  -A--R----
C:\Program Files\Microsoft Office\Office10\MSOWC.DLL         MSOWC.DLL    3041880  -A-------
C:\Program Files\Microsoft Office\Office10\CLIPPIT.ACS       CLIPPIT.ACS  2904417  -A-------
C:\Program Files\Microsoft Office\Office10\GRAPH.EXE         GRAPH.EXE    2144824  -A-------
C:\Program Files\Microsoft Office\Office10\1033\OUTLLIBR.DLL OUTLLIBR.DLL 1977032  -A-------
C:\Program Files\Microsoft Office\Office10\1033\XLMAIN10.CHM XLMAIN10.CHM 1646072  -A-------
C:\Program Files\Microsoft Office\Office10\MSOWCW.DLL        MSOWCW.DLL   1200177  -A-------


StatisticsElements обработано: 1000
Выходные данные элементов: 10
Время выполнения: 0,42 секунды

Сценарий 3. Поиск 20 самых медленных страниц на веб-сайте

Небольшая информация о проблеме

Вы используете Microsoft IIS (IIS) 6, имеете несколько ASP.NET веб-сайтов и не очень довольны производительностью. Вы хотите настроить сервер и узнать о первых 20 страницах, на обслуживание которых с веб-сервера требуется наибольшее время. Это не так, если вы определяете страницы с наибольшим временем, исправляете его, и ваши проблемы будут устранены. К сожалению, нет серебряных маркеров для устранения проблем с производительностью. По крайней мере, должен быть способ начать. Правильно?

Ответ. Откройте командное окно средства синтаксического анализа журналов и используйте следующую команду:

LOGPARSER -i:IISW3C file:C:\LPQ\Slowest20FilesInIIS.sql -o:DataGrid -q:offSlowest20FilesInIIS.sql содержит следующий пример кода.

Select Top 20
LogRow as [Line Number],
date as [Date],
time as [Time],
c-ip as [Client-IP],
s-ip as [Server IP], 
s-port as [Server Port],
cs-method as [Request Verb],
cs-uri-stem as [Request URI],
sc-bytes as [Bytes sent],
sc-status as [Status],
sc-substatus as [Sub-status],
sc-win32-status as [Win 32 Status],
time-taken as [Time Taken]
From 
C:\ex060813.log
Order by time-taken desc

Здесь -i:IISW3C означает, что мы запрашиваем журналы IIS W3C. Полный список полей формата входных данных IISW3C можно просмотреть в документации и соответствующим образом настроить запрос.

-o:DataGrid подразумевает, что выходные данные должны отображаться в сетке данных следующим образом:



Примечание. Чтобы использовать этот запрос, необходимо использовать ведение журнала IISW3C и включить дополнительные свойства ведения журнала. (Откройте свойства веб-сайта, перейдите на вкладку Веб-сайт , выберите Включить ведение журнала, а затем задайте для параметра Активный формат журнала расширенный формат журнала W3C. Щелкните Свойства, перейдите на
вкладкуДополнительно, а затем выберите все параметры.)

Сценарий 4. Поиск 20 наиболее часто используемых ASPX-страниц на веб-сайте

Небольшая информация о проблеме

Вы используете IIS 6, имеете несколько ASP.NET веб-сайтов и хотите знать наиболее часто используемые ASPX-файлы, чтобы при настройке производительности этих страниц в конечном итоге все преимущества веб-сайта или сервера. Всегда лучше тратить время на настройку наиболее используемых страниц, а не страниц, которые используются экономно. (Хотя в этом правиле могут быть исключения. Предположим, что экономно используемая страница является действительно плохой страницей, которая вызывает высокую загрузку ЦП, если на то пошло!) Теперь, если вы обнаружите, что для обработки определенной страницы требуется много времени (сценарий 3), а страница является одной из наиболее часто используемых страниц, вы всегда должны подтвердить, что страница работает хорошо при стрессе.

Ответ. Откройте командное окно средства синтаксического анализа журналов и используйте следующую команду:

LOGPARSER -i:IISW3C file:C:\LPQ\Popular20FilesInIIS.sql -chartType:Bar3D -groupSize:640x480 -view:onPopular20FilesInIIS.sql содержит следующий пример кода.

Select Top 20
cs-uri-stem as [Request URI],
COUNT(*) AS Hits 
INTO MyChart.gif 
FROM C:\ex060813.log
Group by cs-uri-stem ORDER BY Hits DESC

В этом случае -chartType:Bar3D сообщает средству синтаксического анализа журналов, какой тип диаграммы следует подготовить. Параметр -groupSize задает ширину и высоту целевого изображения в пикселях. Набор доступных типов диаграмм зависит от версии веб-компоненты Microsoft Office, установленной на локальном компьютере.

Вот как выглядят выходные данные:



Как вы уже видели, средство синтаксического анализа журналов может оказаться очень полезным для анализа данных из различных журналов. Только творчество здесь предел! Существует почти неограниченное количество способов, которыми данные могут отражать гораздо лучшую картину для вас, и это может быть то, что вы можете действовать. То, что мы коснулись, это только верхушка айсберга! Вы также можете использовать высокоуровневые языки, такие как Microsoft Visual C#, Microsoft Visual Basic .NET и т. д., чтобы создавать полезные программы с помощью средства синтаксического анализа журналов. Ознакомьтесь с разделом "Ресурсы" ниже.

Ресурсы

Я хотел бы обсудить больше сценариев для средства синтаксического анализа журналов, и я создал новый раздел в своем блоге только для средства синтаксического анализа журналов. Если у вас есть предложения по сценариям или запросам средства синтаксического анализа журналов, которыми вы хотите поделиться, отправьте мне сообщение по
адресу rahulso@microsoft.com, и я хотел бы опубликовать его как можно скорее на следующем веб-сайте:

https://learn.microsoft.com/archive/blogs/rahulso/

Как всегда, вы можете отправлять идеи по темам, которые вы хотите рассмотреть в будущих столбцах или в базе знаний, используя форму "Запросить".

Сторонние продукты, которые рассматриваются в этой статье, производятся компаниями, не зависящими от корпорации Майкрософт. Корпорация Майкрософт не предоставляет никаких гарантий, подразумеваемых или иных, в отношении производительности или надежности этих продуктов.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×