Знакомьтесь — Log Parser Studio


Исходная статья опубликована в четверг, 08 марта 2012 г.

Каждый, кто регулярно пользуется Log Parser 2.2, знает, насколько это мощное и удобное средство для извлечения ценной информации из журналов IIS и других журналов. Помимо этого включение средств SQL позволяет проводить поиск в гигабайтах журналов, возвращая только необходимые данные и отфильтровывая информационный шум. Единственное, чего здесь не хватает, это удобный графический пользовательский интерфейс для Log Parser и "Библиотеки запросов" для управления различными запросами и скриптами, которые со временем накапливаются у пользователя.

Средство Log Parser Studio создано для решения этой задачи. Оно позволяет людям, использующим Log Parser 2.2 (и даже тем, кто не использует его из-за отсутствия интерфейса), работать быстрее и эффективнее и получать необходимые данные без излишней возни со скриптами и папками, заполненными запросами.

Log Parser Studio (сокращенно LPS) позволяет хранить все запросы в одном централизованном расположении. Можно редактировать и создавать новые запросы в редакторе запросов и сохранять их для последующего использования. Можно искать запросы по полнотекстовому индексу, а также экспортировать и импортировать библиотеки и запросы в разных форматах, что упрощает совместную работу, а также хранение различных типов отдельных библиотек для разных протоколов.

Обработка журналов для протоколов Exchange

Всем нам это хорошо известно: обработка журналов для разных протоколов Exchange занимает очень много времени. При отсутствии специализированных средств администратор Exchange сталкивается с утомительной задачей по перебору таких журналов и их обработке с помощью Log Parser (или другого средства), когда важен формат вывода. При этом также нужен опыт создания SQ-запросов. Также можно использовать специальные скрипты из Интернета, а затем анализировать вывод, чтобы разглядеть какой-либо смысл в огромных журналах. Средство Log Parser Studio создано в первую очередь для быстрой и удобной обработки различных журналов для протоколов Exchange. В открытом окне средства вы увидите вкладки для разных протоколов Exchange, например Microsoft Exchange ActiveSync (MAS), Exchange Web Services (EWS), Outlook Web App (OWA/HTTP) и других. На этих вкладках находятся десятки запросов SQL, написанных под конкретные задачи (в основном интерфейсе также приводятся описание и детали каждого запроса), которые можно запустить одним щелчком мыши.

Давайте познакомимся с некоторыми удобными возможностями Log Parser Studio поближе…

Библиотека запросов и управление

После запуска LPS первым делом вы увидите Библиотеку запросов (Query Library). Здесь осуществляется управление всеми запросами. Библиотека всегда доступна на вкладке Библиотека (Library). Здесь можно загрузить запрос для проверки или выполнения. Самый простой способ — просто выбрать запрос в списке и дважды его щелкнуть. После этого запрос автоматически откроется на собственной вкладке Запрос (Query). Библиотека запросов является хранилищем, где хранятся все запросы средства LPS. Здесь имеются удобные элементы управления, позволяющие быстро находить нужные запросы и заносить их в избранное для удобного доступа в будущем.

image

Восстановление библиотеки

Исходная библиотека, которая поставляется вместе с LPS, встроена в приложение и создается при установке. Если она будет удалена, повреждена или утеряна, ее можно легко вернуть обратно в исходное состояние, воспользовавшись функцией восстановления библиотеки (Параметры (Options) | Восстановить библиотеку (Recover Library)). При восстановлении библиотеки будут удалены все существующие запросы. Если у вас есть созданные самостоятельно или модифицированные запросы, которые нужно сохранить, их сначала нужно экспортировать, а затем после восстановления набора запросов по умолчанию их можно импортировать обратно в LPS.

Импорт и экспорт

В зависимости от потребностей вся библиотека или ее фрагменты можно импортировать и экспортировать либо в XML-формате LPS по умолчанию либо в виде SQL-запросов. Например, если имеется папка с SQL-запросами Log Parser, ее можно частично или целиком импортировать в библиотеку LPS. Обычно после импорта требуется сделать лишь несколько настроек. Все, что нужно сделать для LPS — это заменить вхождения имен файлов в базовом SQL-запросе на "[LOGFILEPATH]" или "[OUTFILEPATH]", что подробно описывается в PDF-руководстве по этому инструменту (LPS | Справка (Help) | Документация (Documentation)).

Запросы

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

image

Искусство создания SQL-запросов для Log Parser не входит в рамки этой публикации, однако все запросы, включенные в LPS, обеспечивают максимально точные результаты и минимальное количество возвращаемых записей. Самое важное — это понимать, какие данные вам нужны и как их получить в минимальном количестве возвращенных строк.

Пакетные задания и многопоточность

Вы увидите, что LPS в сочетании с Log Parser 2.2 является очень мощным средством. Однако если бы вы могли запускать только один запрос за раз, после чего приходилось бы ждать результатов, вы вряд ли бы добились серьезного прогресса в своей работе. Поэтому LPS предлагает пакетные задания и многопоточность.

Пакетное задание — это просто набор готовых запросов, которые можно выполнить разом, нажав одну кнопку. В Диспетчере пакетов (Batch Manager) можно выполнить запросы в пакете или удалить любое их количество из пакета. Запросы также можно выполнить, нажав кнопку Выполнить несколько запросов (Run Multiple Queries) или кнопку Выполнить (Execute) в Диспетчере пакетов. При выполнении LPS подготавливает и выполняет каждый запрос в пакете. По умолчанию LPS отправляет ВСЕ запросы в Log Parser 2.2 по мере подготовки каждого из них. Здесь нам помогает многопоточность. Например, если у нас имеется 50 запросов, объединенных в пакетное задание, у нас будет 50 фоновых потоков, работающих с Log Parser одновременно, позволяя пользователю работать с другими запросами. По мере завершения каждого задания результаты выводятся в таблицу или в CSV-файл в зависимости от типа запроса. Даже в этом случае вы можете продолжать работать с другими запросами, выполнять поиск, редактирование и исполнение. После завершения каждого запроса его поток закрывается, а ресурсы освобождаются. Эти потоки очень эффективно управляются в фоновом режиме, поэтому при одновременном запуске запросов не должно возникать никаких проблем.

image

Но что, если нам нужно, чтобы запросы в пакете выполнялись одновременно для повышения производительности или по другим причинам? В LPS такая возможность имеется. Измените параметры в меню LPS | Options (Параметры) | Preferences (Настройка), установив флажок "Последовательная обработка пакетных запросов" (Process Batch Queries in Sequence). Когда этот флажок установлен, при выполнении первого запроса в пакете следующий не запускается до завершения предыдущего. Этот процесс продолжается до выполнения последнего запроса в пакете.

Автоматизация

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

Диаграммы

По многим запросам, которые возвращают данные в Таблицу результатов (Result Grid), можно создавать диаграммы с помощью встроенной функции диаграмм. Основные требования к диаграммам такие же, как и для Log Parser 2.2, а именно:

  1. Первый столбец в таблице может быть любого типа данных (строковый, числовой и т. д.)
  2. Второе столбец должен иметь один из числовых типов (Integer, Double, Decimal), строковые типы не допускаются.

Имейте в виду эти требования при создании своих запросов, чтобы в них во втором столбце всегда использовались числа. Для создания диаграммы нажмите кнопку диаграммы после завершения запроса. Для выполнения требования #2 выше, даже если вы забыли о нем, можно перетащить любой числовой столбец и вставить его на второе место в таблице постфактум. Таким образом, при наличии нескольких нумерованных столбцов достаточно просто перетащить один нужный на второе место в таблице, чтобы создать разные диаграммы на основании одних данных. Дополнительные сведения о функции диаграмм также см. в руководстве.

image

Сочетания клавиш/команды

В LPS имеется множество сочетаний клавиш. Их список можно просмотреть в любое время при работе в LPS в меню LPS | Справка (Help) | Сочетания клавиш (Keyboard Shortcuts). В настоящий момент имеются следующие сочетания:

Сочетание клавиш Действие
CTRL+N Создать новый запрос.
CTRL+S Сохранить активный запрос в библиотеке или на вкладке запроса в зависимости от того, где находится фокус.
CTRL+Q Открыть окно библиотеки.
CTRL+B Добавить выбранный в библиотеке запрос в пакет.
ALT+B Открыть диспетчер пакетов.
CTRL+B Добавить выбранные запросы в пакет.
CTRL+D Копировать текущий активный запрос на новую вкладку.
CTRL+ALT+E Открыть журнал ошибок, если такой существует.
CTRL+E Экспортировать текущие выбранные результаты запроса в CSV-файл.
ALT+F Добавить выбранный в библиотеке запрос в список избранных.
CTRL+ALT+L Открыть библиотеку в первом доступном текстовом редакторе.
CTRL+F5 Перезагрузить библиотеку с диска.
F5 Выполнить активный запрос.
F2 Изменить имя/описание выбранного запроса в библиотеке.
F3 Показать список полей IIS.

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

Log Parser 2.2 может выполнять запросы к разным типам журналов. Поскольку LPS находится в процессе разработки, в настоящее время поддерживаются только самые распространенные типы. Дополнительные типы входных и выходных данных будут добавляться по возможности в следующих версиях и обновлениях.

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

Полная поддержка W3SVC/IIS, CSV, ошибок HTTP и базовая поддержка всех встроенных входных форматов Log Parser 2.2. Кроме того, некоторые специализированные форматы LPS, такие как особые форматы Microsoft Exchange, отсутствующие в установке Log Parser 2.2 по умолчанию.

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

В настоящее время выходные данные могут быть представлены в формате CSV и TXT.

Log Parser Studio — Краткое руководство

Хотите не вникать в детали, а сразу запустить несколько запросов? Начните здесь…

Во-первых, Log Parser Studio необходимо знать, где находятся файлы журналов, а также расположение по умолчанию, где будут сохраняться CSV-файлы с экспортированными результатами запросов.

1. Задайте каталог для сохранения результатов в CSV-файлах:

a. Откройте меню "LPS | Параметры (Options) | Настройка (Preferences) | Папка вывода по умолчанию (Default Output Path).

b. Выберите папку, которая будет использоваться для экспорта результатов.

c. Нажмите кнопку Применить (Apply).

d. В этой папке будут сохраняться все CSV-файлы с результатами запросов.
Примечание. Если эта папка не будет задана до начала работы, то CSV-файлы будут сохраняться в каталоге "%AppData%\Microsoft\Log Parser Studio" по умолчанию, однако это расположение рекомендуется сменить.

2. Укажите, где находятся файлы журналов, в Диспетчере файлов журналов (Log File Manager). Если попытаться выполнить запрос до этого шага, LPS запросит указать путь к журналам. После нажатия кнопки OK в этом запросе откроется Диспетчер файлов журналов (Log File Manager). Нажмите кнопку Добавить папку (Add Folder), чтобы добавить папку, или Добавить файл (Add File), чтобы добавить один или несколько файлов. При добавлении папки также необходимо выбрать по крайней мере один файл, чтобы указать для LPS тип обрабатываемых журналов. При этом LPS автоматически преобразует его в шаблон (*.xxx), который указывает, что поиск будет проводиться по всем соответствующим журналам в папке.

Узнать, какая папка или какие файлы обрабатываются в настоящий момент, можно в строке состояния в нижней правой части окна Log Parser Studio. Для просмотра полного пути наведите указатель мыши над строкой состояния.

Примечание. LPS и Log Parser могут работать с множеством типов журналов и объектов, для которых можно выполнять запросы. Важно помнить, что тип журнала, к которому выполняется запрос, должен соответствовать выполняемому запросу. Другими словами, при выполнении запроса, ожидающего на входе журналы IIS, в диспетчере файлов необходимо выбирать только журналы IIS. Если об этом забыть (а это легко), то при запуске запроса могут возникнуть ошибки или непредвиденное поведение программы.

3. Выберите запрос в библиотеке и запустите его:

a. Перейдите на вкладку "Библиотека" (Library).

b. Выберите запрос в списке и дважды его щелкните. В результате он откроется в отдельной вкладке.

c. Нажмите кнопку Выполнить один запрос (Run Single Query), чтобы выполнить запрос.

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

В общем, рекомендуется, чтобы запросы, которые могут возвращать очень большие результирующие наборы, выводили результаты в CSV-файл для дальнейшей обработки в Excel. После получения результатов имеется много функций для работы с ними. Дополнительные сведения см. в руководстве.

Пользуйтесь Log Parser Studio! на свое усмотрение — Для него всегда найдется запрос!

Кэри Уолл (Kary Wall)
инженер по расширению технической поддержки
служба поддержки Microsoft Exchange

Это локализованная запись блога. Исходная статья находится по адресу: Introducing: Log Parser Studio


Comments (1)

  1. Ник says:

    Парсить CSV можно, но так довольно скучно. Почти всегда какой-то костыль. Даже в всеми известном
    http://catalogloader.com/ csv обрабатывается только простые формы. а так программировать надо.

Skip to main content