Создание графических отчетов в Exchange 2007 (часть 3)

OSzone.net » Microsoft » Exchange Server » Exchange Server 2007 » Создание графических отчетов в Exchange 2007 (часть 3)
Автор: Руи Силва
Иcточник: www.msexchange.ru
Опубликована: 11.12.2009

Рассмотрев программу Log Parser, мы теперь рассмотрим другие инструменты, которые доступны в интернете бесплатно и способны создавать графические отчеты для Exchange.

Но прежде есть пара моментов, которые бы я хотел обсудить относительно использования Log Parser:

Несколько серверов

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

Итак вопрос заключается в следующем: как собирать и объединять информацию из нескольких журналов? Есть пара различных способов сделать это, например:

Я покажу вам, как справиться с этой задачей, используя последний вариант: многошаговый файл командного сценария Log Parser. Давайте используем последний график, созданный нами из журналов IIS, тот график, который показывает активность OWA в течение дня.

Предположим, у нас есть два сервера Exchange CAS, SERVER01 и SERVER02. Запрос утилиты Log Parser на извлечение этой информации с обоих серверов будет выглядеть примерно так:

"C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT TO_STRING(time, 'HH') AS Hour, COUNT(*) AS Hits INTO
AggregateOWALog.log FROM \\SERVER01\C$\Inetpub\logs\LogFiles\W3SVC1\u_ex*.log GROUP BY Hour ORDER BY Hour ASC" -i:IISW3C -
o:TSV -headers:Auto -filemode:1 "C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT TO_STRING(time, 'HH') AS Hour,
COUNT(*) AS Hits INTO AggregateOWALog.log FROM \\SERVER02C$\Inetpub\logs\LogFiles\W3SVC1\u_ex*.log GROUP BY Hour ORDER BY
Hour ASC" -i:IISW3C -o:TSV -headers:Auto -filemode:0 "C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT Hour, Sum
(Hits) AS TotalHits INTO OWAAggregate.gif FROM AggregateOWALog.log GROUP BY Hour ORDER BY Hour ASC" -i:TSV -o:CHART -
chartType:AreaStacked3D -chartTitle:"Hourly Hits" -view:ON -legend:OFF -categories:ON

Примечание:

Первые две команды Log Parser извлекают данные в TSV (Tab Separated Values) файл. Затем мы используем полученный файл, AggregateOWA.log, для создания диаграммы (рисунок 24) в последнем шаге.

Первая команда Log Parser записывает AggregateOWA.log файл в режиме перезаписи (-filemode:1), гарантируя, таким образом, что все предыдущие объединения были перезаписаны. Вторая команда использует режим добавления (-filemode:0), чтобы все прежде созданные данные сохранились.

*

Рисунок 25: Комбинированное использование OWA

Как вы видите, не трудно собирать и объединять данные с различных серверов. Возможно, вам придется немного изменить предыдущие запросы Log Parser, но, думаю, что у вас есть все необходимые технические навыки для этого!

Планирование задач

В зависимости от количества журналов, которые будут анализироваться, процесс запроса может занимать довольно много времени. Более того, список генерируемых отчетов может быть довольно длинным. Так как же автоматизировать процесс выполнения команд Log Parser? Ответ прост: планировщик задач Windows Task Scheduler.

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


START /WAIT AgentAcceptedRejected.bat START /WAIT AgentReasonSpread.bat START /WAIT Devices.bat START /WAIT EAS-user-
activity.bat START /WAIT OWA-user-activity.bat START /WAIT radar-send.bat START /WAIT suspicious-senders.bat START /WAIT top-
users-internal-senders.bat START /WAIT TopExternalReceiversCombined.bat START /WAIT TopReceiversCombined.bat START /WAIT
TopRejectionErrors.bat START /WAIT total-bytes-send-receive.bat [...]

Для ежедневного создания графических отчетов нужно лишь запланировать выполнение предыдущего пакетного файла каждый вечер (рисунок 26).

*

Рисунок 26: Планировщик задач

В качестве варианта вы можете даже объединить все отчеты в страницу HTML, опубликованную в вашей локальной интрасети, используя свой любимый язык написания командных сценариев. Я не буду расписывать необходимый код, поскольку это не входит в пределы данной статьи, но думаю, для вас это не составит большого труда.

Отличные командные сценарии для создания графических отчетов от Глена

Глен Скейлз является Exchange Server MVP, который тратит большую часть своего свободного времени на написание кода (в основном в PowerShell) для использования в Microsoft Exchange. Одним из моих любимых сценариев является Exchange 2007 Content Agent Log Message Tracker Gui, который позволяет вам с легкостью находить любые сообщения, проходившие через обработку агентом фильтрации содержимого.

Хотя журналами агента антиспама можно управлять из PowerShell, как мы увидим позже, для тех из вас, кто не любит работу с командной строкой, сценарий Глена Скейлза может сделать жизнь проще.

Вот, как выглядит этого графический интерфейс (рисунок 27):

*

Рисунок 27: Графический интерфейс Content Agent Log Message Tracker

Если вы загрузите сценарий и сохраните его в "%ProgramFiles%\Microsoft\Exchange Server\Scripts\", вы сможете создать ярлык для запуска утилиты с помощью следующей команды:

%windir%\system32\windowspowershell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -command ". 'C:\Program Files\Microsoft\Exchange Server\Scripts\cagentTracker.ps1'"

Однако замечательная работа Глена на этом не заканчивается. Взгляните на эти замечательные командные сценарии (описания взяты с блога Глена):

*

Рисунок 28: Mailbox Size Summary Reporting GUI

*

Рисунок 29: Mailbox Size GUI

*
Увеличить

Рисунок 30: Message Tracking GUI

*

Рисунок 31: Exchange Server Store Size Report

Как на счет PowerShell?

Как на счет старой доброй утилиты PowerShell, вы можете спросить. Для начала скажу, что сервер Exchange включает предварительно созданные сценарии PowerShell (расположенные в %ProgramFiles%\Microsoft\Exchange Server\Scripts\ по умолчанию), которые могут создавать удобные для чтения результаты, используя журналы агентов. Вот список:

  1. Get-AntispamFilteringReport.ps1: предоставляет 10 (по умолчанию, если не указан более высокий параметр) основных источников (то есть агентов), которые несут ответственность за обрыв соединения, отмену команд или блокирование /удаление / помещение в карантин сообщения.
  2. Get-AntispamSCLHistogram.ps1: предоставляет все записи для фильтра содержимого (Content Filter) и группирует их по значению SCL (рисунок 32).
    *
  3. Рисунок 32: Get-AntispamSCLHistogram
  4. Get-AntispamTopBlockedSenderDomains.ps1: предоставляет N число самых активных отправителей, которые были заблокированы агентами антиспама.
  5. Get-AntispamTopBlockedSenderIPs.ps1: предоставляет N число IP адресов отправителей, которые были заблокированы агентами антиспама.
  6. Get-AntispamTopBlockedSenders.ps1: предоставляет N число отправителей, которые были заблокированы агентами антиспама.
  7. Get-AntispamTopRBLProviders.ps1: предоставляет N число самых веских причин для блокировки по поставщикам черных списков.
  8. Get-AntispamTopRecipients.ps1: предоставляет N число самых активных получателей, заблокированных агентами антиспама.

Поскольку PowerShell не поддерживает создание графических отчетов, есть некоторые бесплатные дополнения, доступные в интернете, как например, PowerBoots, Visifire или ZedGraph. Используя эти дополнения, можно создавать отличные диаграммы и отчеты, но я решил оставить эти примеры до следующего раза :)

ExInsight

Во время моего поиска определенных инструментов для создания графических отчетов для Exchange в интернете я обнаружил инструмент ExInsight for Microsoft Exchange, отличное ПО, разработанное компанией Bitrunes.

ExInsight – это бесплатный инструмент ведения статистики и мониторинга, предоставляющий вам возможность просмотра в режиме реального времени параметров среды Exchange и внутреннюю работу MAPI, OWA, POP3, IMAP4, NNTP и других протоколов, позволяя вам оценивать использование ресурсов сервера Exchange отдельными пользователями.

Основная консоль программы может показывать отличную статистическую панель инструментов, как показано на рисунке 33, но если вы хотите получить отчет с красивыми диаграммами (рисунок 34), то в окне Статистика (Statistics) выберите опцию Файл, а затем Сохранить как (Save As).

*

Рисунок 33: Статистика ExInsight

*

Рисунок 34: Отчет о статистике ExInsight

Заключение

Надеюсь, к концу этого цикла вы не будете считать, что единственным способом создания хорошего графического отчета в Exchange Server 2007 является приобретение продукта стороннего производителя у партнеров компании Microsoft. Почти 20 Log Parser отчетов и некоторые бесплатные инструменты в интернете являются очень ценным дополнением набора инструментов каждого администратора почтовой системы. Поскольку в системе ведения логов Exchange Server 2010 не будет значительных изменений, я считаю, что большинство (или все) этих отчетов все еще будут работать на следующей версии почтового сервера от Microsoft.

Дополнительные ссылки


Ссылка: http://www.oszone.net/10783/Exchange-2007