Statystyki Exchange ActiveSync

Ostatnimi czasy zastanawiałem się w jaki sposób można analizować aktywność mobilnych klientów pocztowych do serwerów Microsoft Exchange 2013 pracujących w ramach usług wysokiej dostępności.

Mianowicie aktywność połączeń klientów pocztowych rejestrowana jest w logach samego IIS’a, gdyż łączność za pośrednictwem HTTP jest podstawową formą komunikacji dla klientów serwera Microsoft Exchange 2013. Logi te najczęściej są przechowywane w katalogu C:\inetpub\logs\LogFiles\W3SVC1, chyba, że zostaną przekierowane w inne miejsce.

Niestety ręczna analiza tych zdarzeń nie należy do najprzyjemniejszych i w natłoku informacji często można pominąć istotne elementy. Na szczęście z pomocą przychodzi tutaj PowerShell, a konkretnie dedykowany cmdlet dostępny w ramach zestawu narzędzi do administracji Exchengem.

Mianowicie wybieramy cmdlet Export-ActiveSyncLog wskazujemy odpowiedni plik dziennika zdarzeń i podajemy ścieżkę pliku wynikowego:

Export-ActiveSyncLog -Filename "C:\inetpub\logs\LogFiles\W3SVC1\u_ex140412.log" –OutputPath "C:\ActiveSyncLog"

Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 7/13/2014 6:42 AM 841 Users.csv
-a--- 7/13/2014 6:42 AM 131 Servers.csv
-a--- 7/13/2014 6:42 AM 2692 Hourly.csv
-a--- 7/13/2014 6:42 AM 92 StatusCodes.csv
-a--- 7/13/2014 6:42 AM 104 PolicyCompliance.csv
-a--- 7/13/2014 6:42 AM 101 UserAgents.csv

Jest to najprostsza forma analizy logów, która tak naprawdę polega zebraniu konkretnych jego elementów i przedstawieniu w formie kilku przyjaznych raportów dla Excela.

Problem zaczyna się robić w momencie gdy chcemy przeanalizować wiele plików z dziennikami naraz, wtedy musimy posłużyć się dodatkowym cmdletem.

Get-ChildItem "C:\inetpub\logs\LogFiles\W3SVC1\*.log" |
Export-ActiveSyncLog –OutputPath "C:\ActiveSyncLog" -Force

Można powiedzieć dobrze, ale nadal ograniczamy się do jednego serwera, a co gdy mamy ich wiele? Nic prostszego, wystarczy, że w analogiczny sposób odwołamy się do zasobów zdalnych wskazujących na poszczególne serwery Client Access:

Get-ChildItem "\\ex1.contoso.com\c$\inetpub\logs\LogFiles\W3SVC1\*.log",
"\\ex2.contoso.com\c$\inetpub\logs\LogFiles\W3SVC1\*.log",
"\\ex3.contoso.com\c$\inetpub\logs\LogFiles\W3SVC1\*.log"|
Export-ActiveSyncLog –OutputPath "C:\ActiveSyncLog" -Force

Niestety, cmdlet nie posiada zbyt wielu metod filtrowania danych, a jedyne możliwe to ograniczenie czasowe w formie parametrów StartDate oraz EndDate.

Get-ChildItem "\\ex1.contoso.com\c$\inetpub\logs\LogFiles\W3SVC1\*.log",
"\\ex2.contoso.com\c$\inetpub\logs\LogFiles\W3SVC1\*.log",
"\\ex3.contoso.com\c$\inetpub\logs\LogFiles\W3SVC1\*.log"|
Export-ActiveSyncLog –OutputPath "C:\ActiveSyncLog" -StartDate "07/10/14" –EndDate "07/12/14" -UseGMT -Force

Wynikiem niniejszej procedury, jak już wcześniej wspomniałem będą pliki raportów Excela, zawierające zestaw podstawowych statystyk odnośnie wykorzystania usługi Exchange ActiveSync w ramach usługi wysokiej dostępności serwerów Client Access.

Jak widzimy samo narzędzie jest bardzo proste w obsłudze i pozwala zaoszczędzić sporo czasu na ręcznej analizie dzienników zdarzeń.

Źródła:
http://technet.microsoft.com/en-us/library/bb123821(v=exchg.150).aspx

Advertisements

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s