Friday, April 9th, 2010...12:43 am

Logowanie diagnostyczne AD WS

Jump to Comments

Obiecałem do tematu AD WS powrócić tak więc obiecanki cacanki … i jestem. Ostatnio pisałem o tym jak ADWS jest lokalizowany przez klienta. A gdy klient już taką usługę zlokalizuje to przeważnie jest w potrzebie wykonania jakiś zapytań czy operacji. A gdybyśmy mieli ochotę takie działania klienta w celach diagnostycznych przejrzeć, ponieważ kończą się one jakiś magicznym problemem? Lub gdybyśmy chcieli mieć log z błędami ADWS jako usługi? I tutaj przydaje nam się mechanizm logowania diagnostycznego … jak go włączyć?

(cc) ehpien

AD WS to web service napisany w oparciu o WCF zainstalowana na każdym kontrolerze Windows Server 2008 R2 i na wybranych przez administratora kontrolerach W2003 / 2008. Usługa jak usługa – ma swoją konfigurację. W przypadku ADWS konfiguracja tejże leży w pliku Microsoft.ActiveDirectory.WebServices.exe.config w folderze instalacyjnym AD WS (%WINDIR%\ADWS).

Parametry konfiguracyjne opisane są na stronie TechNET, jednak tych związanych z logowaniem diagnostycznym na tej stronie nie ma. W celu włączenia logowania diagnostycznego AD WS należy w pliku konfiguracyjnym, w sekcji <appSettings> dodać następujące klucze:

<add key="DebugLevel" Value="<log_level>" />

gdzie log_level może być jedna z wartości: None, Error, Warn oraz Info. Info to najwyższy poziom logowania, gdzie oprócz komunikatów o błędach zapisywane są w pliku logu również wykonywane operacje i przesyłane komunikaty pomiędzy klientem a usługą. Plik logu natomiast wskazuje się poprzez następny wpis w pliku konfiguracyjnym:

<add key="DebugLogFile" value="<ścieżka do pliku logu>" />

Tutaj większych wyjaśnień raczej nie trzeba. Całość może wyglądać mniej więcej tak:

<add key="DebugLevel" Value="Info" />

<add key="DebugLogFile" value="C:\ADWSLog\Adws_trace_log.txt" />

Po wprowadzeniu zmian w pliku konfiguracyjnym należy zatrzymać i ponownie uruchomić usługę.

Wada rozwiązania jest taka, że konfigurację taką w razie potrzeby należy wykonać na każdym z DC osobno. W zasadzie wystarczy skopiować odpowiedni plik.

I jak przy każdym mechanizmie logowania diagnostycznego należy pamiętać, że nie ma czegoś takiego jak darmowy obiad – logowanie kosztuje. Więc bez potrzeby go nie nadużywajmy, w szczególności w najbardziej rozwiniętej opcji (Info).

2 Comments

  • Sam pomysł z konfiguracja logowania OK ale do produkcyjnej funkcjonalności to jeszcze trochę mu brakuje… tak na pierwszy rzut oka to bym chciał móc dodać inne niz flat-file handlery przyjmujące logi np. java.util.logging.SocketHandler ;), no i oczywiście dla każdego z handlerów powinno sie dać zdefiniować inny formater.

    A tak swoją drogą to ADWS wydaje się obiecującym mechanizmem dla exploitów.

  • @Krzysiu … co do różnych handlerów to się zgodzę … co do reszty – i dlatego zawsze ceniłem sobie Twoje krytyczne spojrzenie na temat 😉

Leave a Reply