Monitorowanie i rozwiązywanie problemów w witrynie Microsoft.com .png)
Techniczne studium przypadku
Autor: Chris Stoneff
Opublikowano: 12 stycznia 2009
Zawartość strony
Microsoft.com to jedna z najczęściej odwiedzanych i jednocześnie najbardziej dostępnych witryn w Internecie. Połączenie aktywnych i reaktywnych metod monitorowania stanowi klucz do maksymalizacji dostępności oraz skalowalności witryny.
| Sytuacja | Rozwiązanie | Korzyści | Produkty i technologie |
| Microsoft.com to jedna z najczęściej odwiedzanych witryn bazujących na usługach IIS. Obejmuje ona tysiące serwerów i aplikacji pomocniczych. Zespół operacyjny odpowiedzialny za tę witrynę musi mieć możliwość szybkiego identyfikowania, diagnozowania i naprawiania wszelkich problemów wpływających na dostępność oraz wydajność witryny. | Zespół operacyjny Microsoft.com wykorzystuje w swojej pracy wiele różnych technologii Microsoft, a także niezależną, globalną, zewnętrzną usługę monitorowania. Te technologie pozwoliły na zaimplementowanie systemów i procesów, które umożliwiają dokładne identyfikowanie dostępnych zasobów serwerowych, ich konfiguracji oraz efektywności wykorzystania w centrum danych. System ten dostarcza również informacje o ogólnej wydajności witryny z perspektywy użytkowników końcowych pochodzących z 35 różnych regionów na całym świecie. | - Microsoft.com to najbardziej dostępna witryna sieci Web, jak wskazują wyniki badań przeprowadzonych przez firmę Keynote (99.83 procent w ciągu trzech kolejnych lat).
- Zespół operacyjny pomaga we wprowadzaniu ulepszeń produktów Microsoft, dzięki szybkiemu i precyzyjnemu identyfikowaniu problemów, które mogą wystąpić na najbardziej obciążonych woluminach. Ponieważ zespół operacyjny jest jednym z pierwszych klientów wdrażających nowe produkty, uwagi dotyczące ich działania są zazwyczaj zgłaszane jeszcze przed ich opublikowaniem.
- Cenny czas pracowników jest poświęcany głównie na projektowanie przyszłych systemów zamiast na rozwiązywanie problemów związanych z istniejącymi systemami.
| - Microsoft Windows Server 2003
- Internetowe usługi informacyjne (IIS) 6.0
- Microsoft Operations Manager 2005
- Microsoft SQL Server 2005
- Microsoft Identity Integration Server 2003
- Active Directory oraz Active Directory Application Mode
- Monitor wydajności (Performance Monitor)
- SQL Server Reporting Services
|
Wprowadzenie
Microsoft.com to jedna z najczęściej odwiedzanych, bazujących na usługach IIS witryn w Internecie, która obejmuje tysiące serwerów i aplikacji pomocniczych . Zespół operacyjny, który jest odpowiedzialny za witrynę Microsoft.com, musi mieć możliwość szybkiego identyfikowania, diagnozowania i naprawiania wszelkich problemów wpływających na dostępność oraz wydajność witryny. Odpowiada również za przewidywanie i planowanie przyszłego rozwoju witryny.
Zespół operacyjny Microsoft.com realizuje ten cel przy współpracy z wieloma innymi działami firmy Microsoft, takimi jak zespoły ds. rozwoju aplikacji, testowania i zarządzania wydaniami. Zespół operacyjny współpracuje także z różnymi departamentami odpowiedzialnymi za rozwój produktów Microsoft, komunikuje się z dostawcami usług (m.in. centrów danych) oraz konsultuje z partnerami dostarczającymi usługi CDN (Content Delivery Network) Akamai Technologies oraz SAVVIS Communications kwestie dotyczące globalnego równoważenia obciążenia oraz buforowania zawartości. Diagnozowanie problemów związanych z wydajnością oraz dostępnością witryny Microsoft.com często wymaga nawiązania współpracy z tymi organizacjami partnerskimi. Monitorowanie ogólnej wydajności witryny wiąże się z gromadzeniem oraz korelowaniem danych pochodzących z różnych źródeł.
Niniejsze studium przypadku ma na celu ogólne omówienie rozwiązania do monitorowania, które zostało zaprojektowane i zaimplementowane przez zespół operacyjny Microsoft.com. Ponadto zaprezentowane zostaną zalety obecnych na rynku rozwiązań Microsoft, które pomagają w zapewnieniu wysokiej dostępności oraz wydajności witryn sieci Web. W studium przypadku pokrótce przedstawione zostaną również reaktywne oraz aktywne metody monitorowania wchodzące w skład rozwiązania, najlepsze praktyki monitorowania i diagnozowania problemów, a także korzyści, jakie odniosła witryna Microsoft.com w wyniku wdrożenia takiego rozwiązania.
W niniejszym studium przypadku przyjęto założenie, że czytelnikami są osoby podejmujące decyzje techniczne, którym znane są technologie serwera www dostępne w systemie Microsoft® Windows Server™ 2003, w tym IIS wersja 6.0 oraz Monitor wydajności (Performance Monitor), a także technologie pomocnicze, takie jak Microsoft Operations Manager (MOM) 2005, usługa katalogowa Active Directory®, Microsoft Identity Integration Server (MIIS) 2003 oraz Microsoft SQL Server™ Reporting Services.
Zasady i techniki opisane w tym studium przypadku mogą pomóc innym organizacjom w planowaniu własnego systemu monitorowania sieci Web. Co więcej wytyczne projektowe dotyczące monitorowania wysoce dostępnej infrastruktury serwera www mogą zostać zastosowane w większości korporacyjnych środowisk IT.
Nie należy jednak zapominać, iż niniejsze studium przypadku bazuje na doświadczeniach i rekomendacjach zespołu operacyjnego Microsoft.com. Nie stanowi ono materiału instruktażowego. W każdej firmie panują inne, unikalne warunki, a zatem zaprezentowane plany i doświadczenia mogą jedynie pomóc w spełnieniu charakterystycznych potrzeb danej organizacji.
Sytuacja
Szeroki zasięg witryny Microsoft.com sprawia, że monitorowanie i diagnozowanie problemów stanowi ogromne wyzwanie. Witryna Microsoft.com, która obejmuje trzy centra danych i składa się z tysięcy serwerów oraz aplikacji obsługujących średnio 13 milionów różnych użytkowników dziennie, stanowi jedną z największych, najbardziej obciążonych i najbardziej złożonych witryn. Kod i zawartość nadsyłane są przez ponad sześciuset programistów z setek organizacji (także spoza firmy Microsoft) zlokalizowanych w różnych częściach świata. Wielu z nich przesyła zawartość i aktualizacje aplikacji, takie jak strony ASP.NET, pliki XML oraz skrypty VBScript bezpośrednio do odpowiednich katalogów wirtualnych, korzystając z własnych procesów zarządzania wydaniami o zróżnicowanym poziomie zaawansowania.
Witryna Microsoft.com jest nieustannie celem ataków dokonywanych z różnych lokalizacji na całym świecie. Tak duża aktywność oraz złożoność sprawia, że monitorowanie witryny Microsoft.com oraz jej pojedynczych komponentów stanowi kolosalne zadanie.
Filozofia monitorowania
Zgodnie z filozofią przyświecającą zespołowi operacyjnemu Microsoft.com rozwiązanie do monitorowania powinno zapewniać możliwość szybkiego i precyzyjnego identyfikowania źródła błędów, aby można je było wyizolować, przeanalizować oraz naprawić. Rozwiązanie do monitorowania powinno być inteligentne, aby ułatwiać korelowanie zdarzeń z wielu źródeł oraz wystosowywać użyteczne alerty.
Większość rozwiązań do monitorowania w swojej domyślnej konfiguracji generuje ogromną liczbę alertów i w konsekwencji administratorzy zaczynają traktować je jak spam. W związku w tym bardzo ważne jest, aby organizacje (w szczególności te posiadające duże systemy) z rozwagą definiowały aspekty, które wymagają monitorowania oraz zdarzenia lub serie zdarzeń, które powinny być wywoływane w celu przyciągnięcia uwagi pracowników działu operacyjnego.
Organizacje powinny również zaplanować, jak wyglądać będzie proces wyciągania wniosków ze zgromadzonych dotychczas danych. Podobnie jak projektowanie systemu powiadamiania, ten aspekt rozwiązania stanowi także spore wyzwanie. Wymaga stworzenia zasad przechowywania i agregowania danych oraz połączenia i skorelowania wszystkich danych w hurtowni danych, na podstawie której administratorzy będą mogli generować zarówno predefiniowane, jak i zaimprowizowane raporty.
Akcje podejmowane w odpowiedzi na inteligentne raporty bądź analiza historycznych danych powinny sprzyjać wprowadzaniu ulepszeń w jednej z trzech ogólnych kategorii:
- Aplikacje
- Sieci
- Doskonałość działania
W wielu przypadkach problemy z wydajnością wynikają ze sposobu zaprojektowania lub zaimplementowania aplikacji. Problemy mogą mieć różne źródła, począwszy od szeregu błędów w kodzie po przecieki w pamięci bądź nieefektywne kwerendy bazodanowe. Komplikacje związane z aplikacjami są najtrudniejsze w monitorowaniu i identyfikowaniu, ale oferują największy potencjał ulepszeń.
Problemy związane z siecią występują rzadko, choć czasem się zdarzają. Redundantność komponentów w każdej z warstw minimalizuje ryzyko awarii sieci, ale gdy takowa nastąpi, jest ona krytyczna i wymaga natychmiastowej akcji naprawczej.
Kategoria doskonałość działania obejmuje to, co wiele organizacji nazywa po prostu ludzkim błędem. Pod terminem "ludzki" kryją się zazwyczaj administratorzy sieci, serwerów, sieci SAN bądź aplikacji. Zespół operacyjny Microsoft.com wykorzystuje termin doskonałość działania do podkreślenia, iż właściwie zaprojektowany system powinien obejmować mechanizmy kontroli, procesy i procedury, które minimalizują prawdopodobieństwo występowania ludzkich błędów oraz ich konsekwencje.
Rozwiązanie
Monitorowanie witryny Microsoft.com wiąże się z nieustannym obserwowaniem stanu poszczególnych komponentów sieciowych i serwerowych oraz aplikacji, a także ogólnej dostępności, wydajności oraz pojemności witryny.
Nie istnieje pojedyncza technologia, która umożliwiałaby monitorowanie wszystkich tych aspektów, a już na pewno żaden standardowo skonfigurowany produkt nie potrafi inteligentnie monitorować tak złożonego środowiska. Z tego względu zespół operacyjny rozwinął rozwiązanie monitorujące zbudowane na bazie wielu produktów Microsoft oraz kilku produktów firm zewnętrznych.
Rozwiązanie do monitorowania zaimplementowane z myślą o witrynie Microsoft.com rozpoczyna się od stworzonej przez zespół operacyjny struktury Operations Workbench.
Operations Workbench to zestaw najlepszych praktyk, które agregują wiele luźno powiązanych ze sobą składników rozwiązania. Struktura ta stanowi niestandardową, rozszerzalną aplikację Microsoft .NET Framework, która koordynuje różne komponenty rozwiązania do monitorowania, komunikując się z nimi zwykle przy pomocy usług sieci Web.
Do podstawowych komponentów rozwiązania do monitorowania należą następujące technologie:
- Active Directory to usługa katalogowa, która wchodzi w skład systemu Windows Server 2003 i pełni rolę hosta obiektów zabezpieczeń dla wszystkich serwerów. Obiekty te są rozmieszczone w strukturze jednostek organizacyjnych (OU) posiadających charakterystyczne właściwości.
- Active Directory Application Mode (ADAM) to wersja usługi Active Directory zaprojektowana z myślą o specyficznym dla aplikacji magazynie danych. Przechowuje szczegółowe informacje dotyczące zasobów i obiektów wchodzących w skład witryny Microsoft.com.
- MIIS 2003 zawiera metakatalog oraz aparat synchronizacji, który automatyzuje proces aktualizowania magazynów danych pomiędzy usługą Active Directory a programem ADAM wykorzystywanym przez platformę Operations Workbench.
- Skrypty Windows Management Instrumentation (WMI) wywołują na serwerach kwerendy, które pobierają szczegółowe informacje konfiguracyjne dodawane do magazynu danych programu ADAM.
- MOM 2005 to służąca do monitorowania wydajności zdarzeń infrastruktura klasy enterprise, która odpowiada za większość funkcji związanych z gromadzeniem informacji o zdarzeniach oraz wydajności.
- Serwery Microsoft SQL Server 2000 oraz SQL Server 2005 dostarczają magazyn danych klasy enterprise oraz możliwości prezentacji, raportowania i korelacji.
- Mercury SiteScope to zewnętrzny produkt do monitorowania, który oferuje specyficzny dla aplikacji, kompleksowy mechanizm testowania transakcji wewnątrz centrum danych.
- Wysoce dostosowana wersja narzędzia Cluster Sentinel bazująca na wersji zawartej w pakiecie Microsoft Windows® 2000 Server Resource Kit. Odpowiada za monitorowanie serwera wewnątrz centrum danych, w uzupełnieniu do funkcji automatycznego zarządzania członkowstwami w klastrach.
- Keynote Global 35 to dostarczana przez zewnętrzną firmę usługa, która monitoruje ogólną dostępność witryny Microsoft.com i przeprowadza specyficzne dla aplikacji testy transakcji z 35 regionów na całym świecie.
IIS Log Monitor to niestandardowa aplikacja, która gromadzi dzienniki IIS. Log Parser analizuje ogromne ilości logów IIS.
Ogółem system przetwarza dziennie ponad 60000 alertów dziennie, przeprowadza około 11,5 miliona testów dostępności, analizuje 1,7 terabajta danych dziennika IIS oraz gromadzi 185 milionów wskazań liczników wydajności z częstotliwością próbkowania wynoszącą 45 sekund.
Do osiągnięcia tak zaawansowanego mechanizmu monitorowania prowadziła długa droga, która wymagała wiele wysiłku oraz współpracy różnych organizacji. Rozwój rozwiązania następował zgodnie z poniższym czterostopniowym procesem, przy czym każdy etap bazował na poprzednim:
- Zarządzanie zasobami
- Reaktywne metody monitorowania
- Aktywne metody testowania i monitorowania
- Raportowanie oraz analiza
Zarządzanie zasobami
Kolejnym krokiem w procesie tworzenia rozwiązania do monitorowania (po stworzeniu struktury Operations Workbench) było uzyskanie kontroli nad mechanizmem zarządzania zasobami. Aby zespół operacyjny mógł odpowiednio i kompleksowo monitorować wszystkie systemy należące do systemu, musiał najpierw ustalić, jakie systemy zostały wdrożone, gdzie się znajdują, do czego są wykorzystywane i kto jest ich właścicielem. Zespół musiał również opracować metody sprawdzania, kiedy serwer osiągnął swoją maksymalność pojemność lub przewidywany czas życia.
W procesie zarządzania zasobami witryna Microsoft.com wykorzystuje usługę Active Directory do rozmieszczenia wszystkich serwerów w jednostkach organizacyjnych (OU) według typu właściwości oraz łączności sieciowej. Wyłącznie administratorzy Microsoft.com oraz wybrani pracownicy centrów danych posiadają prawo do zarządzania serwerami w ramach tych jednostek OU.
Agent zarządzania MIIS regularnie przeszukuje katalog Active Directory w celu zsynchronizowania informacji z bardziej szczegółowym, bazującym na trybie ADAM magazynem zasobów. Zespół operacyjny zdecydował się zaimplementowanie magazynu zasobów przy pomocy programu ADAM (zamiast relacyjnej bazy danych), ponieważ doskonale wspiera on organizowanie danych w strukturze hierarchicznej.
Po zaktualizowaniu danych w programie ADAM na podstawie usługi Active Directory na każdym z serwerów wykonywane są skrypty WMI, które pobierają szczegółowe informacje. Dzięki temu magazyn ADAM uwzględnia nowe dane oraz aktualizacje.
Reaktywne metody monitorowania
Po odpowiednim przeanalizowaniu i scharakteryzowaniu standardowego działania środowiska serwerów, zespół operacyjny zaimplementował system monitorowania, który pozwala na reagowanie na problemy tuż po ich wystąpieniu.
System MOM 2005 służy do kolekcjonowania danych dotyczących zdarzeń oraz wydajności, korzystając z podzbioru ustawień różnych pakietów zarządczych MOM oraz zdarzeń przekazywanych z wielu innych źródeł.
Zespół operacyjny zaimplementował dwa główne typy metod monitorowania reaktywnego witryny Microsoft.com. Pierwszy typ monitorowania został zaprojektowany z myślą o mierzeniu wydajności oraz dostępności serwerów i aplikacji. Natomiast drugi, prawdopodobnie ważniejszy i bardziej skomplikowany typ polega na monitorowaniu wydajności oraz dostępności z perspektywy klienta.
Wydajność serwerów i aplikacji
Zespół operacyjny Microsoft.com stosuje wielowarstwową infrastrukturę monitorowania ogólnego stanu środowiska. Infrastruktura ta obejmuje sprzęt serwerowy, łączność sieciową, kluczowe elementy systemu operacyjnego na poszczególnych serwerach, ogólną dostępność klastrów oraz reaktywność wybranych funkcji aplikacji. Pod lupą znajduje się również system wykrywania anomalii w sieci oraz urządzenia do łagodzenia skutków awarii.
Dodatkowo zespół operacyjny potrzebował globalnego widoku stanu aplikacji oraz rozwiązania służącego do zastępowania systemów w przypadku awarii. W tym celu nawiązano współpracę z firmami Akamai oraz SAVVIS i zastosowano ich globalne usługi równoważenia obciążenia. Usługi równoważenia obciążenia stale monitorują wszystkie klastry NLB serwerów należących do rozproszonych sieci innych niż sieci Microsoft i gdy tylko zauważą nieprawidłowości w ich działaniu automatycznie wycofują klastry z rotacji. Usługi te stanowią kluczowy filar modelu wysokiej dostępności oraz projektu umożliwiającego nieprzerwaną pracę.
Monitorowanie serwera rozpoczyna się od agentów sprzętowych dostarczanych przez producentów rozwiązań serwerowych klasy enterprise. Agenci monitorują różne aspekty działania fizycznych komponentów serwera, takie jak zasilanie, praca wiatraka chłodzącego, temperatura procesora i funkcjonowanie dysku twardego. W niektórych przypadkach agenci sprzętowi potrafią przewidywać zbliżającą się awarię wybranego komponentu w oparciu o trendy wykryte na podstawie próbek danych. Budowanie kluczowych systemów biznesowych przy pomocy zaawansowanych serwerów pozwala osiągnąć wysoką wiarygodność komponentów oraz redundancję, a także zapewnia dodatkowe korzyści np. w postaci bezproblemowej integracji z większością rozwiązań do monitorowania. W przypadku witryny Microsoft.com agenci sprzętowi przekazują powiadomienia o zdarzeniach i alertach do infrastruktury MOM 2005.
Jak wspomniano już wcześniej, zespół operacyjny wykorzystuje wysoce dostosowane narzędzie Cluster Sentinel. Narzędzie to służy do monitorowania powierzchni dysku oraz dostarcza funkcje określające, czy serwer odpowiada na proste żądania sieciowe. Ponadto Cluster Sentinel przeprowadza kompleksowe testy aplikacji, wykorzystując do tego celu kombinację niestandardowych plików ASP i ASP.NET oraz specyficzne kryteria oceniające stan aplikacji, które zostały zdefiniowane przez ich twórców. Zastosowana wersja narzędzia Cluster Sentinel może automatycznie usunąć serwer z klastra w przypadku niekorzystnych wyników testu. Do dokładniejszego monitorowania aplikacji zespół operacyjny wykorzystuje narzędzie SiteScope. Służy ono w szczególności do przeprowadzania testów transakcji, które wymagają interakcji. Dodatkowe elementy to IIS Log Monitor, czyli niestandardowa aplikacja gromadząca dzienniki IIS oraz Log Parser, który analizuje wszystkie błędy IIS generowane przez aplikacje.
W przypadku serwerów bazodanowych SQL Server wykorzystywani są również agenci MOM 2005, którzy monitorują stan usługi. Narzędzie Cluster Sentinel regularnie wykonuje kwerendę <SP_Who> w celu przetestowania, czy usługa SQL Server odpowiada we właściwym czasie.
Co 45 sekund z wszystkich serwerów zbierane są wskazania liczników wydajności. Standardowy zestaw 42 liczników jest konfigurowany, pobierany i przesyłany do infrastruktury MOM 2005. Te liczniki obejmują szereg obiektów sprzętowych (procesor, użycie pamięci, użycie dysku) oraz programowych (IIS, SQL, TCP) i zapewniają dodatkowy wgląd w ogólny stan systemu. Więcej informacji na temat liczników wydajności analizowanych przez zespół operacyjny Microsoft.com zawiera webcast Troubleshooting and Debugging Web Applications.
Witryna Microsoft.com wykorzystuje urządzenia Cisco Guard do wykrywania anomaliów ruchu w sieci, które mogą być wynikiem różnego typu ataków np. ataku typu „odmówienie usługi (DoS). Urządzenie przekazuje pułapki protokołu SNMP (Simple Network Management Protocol) do bazy danych SQL Server, która zapewnia wgląd we wzorce ruchu oraz specyficzne zdarzenia w strukturze Operations Workbench. Za monitorowanie i zarządzanie urządzeniami Cisco Guard oraz pozostałymi urządzeniami sieciowymi odpowiadają głównie zespoły operacyjne centrów danych, w których ulokowane są serwery Microsoft.com.
Wydajność z perspektywy klienta
Zespół Microsoft.com współpracuje z inną firmą (Keynote Systems), która regularnie przeprowadza badania z 35 lokalizacji na całym świecie i na ich podstawie raportuje ogólny stan witryny, a także dostępność oraz wydajność poszczególnych aplikacji.
Usługa Keynote Global 35 obejmuje rozmieszczonych na serwerach agentów, którzy mniej więcej co minutę uruchamiają test, próbując załadować stronę domową Microsoft.com. W przypadku braku możliwości załadowania któregokolwiek z elementów strony domowej, takiego jak plik .gif bądź ciąg tekstowy (nawet niewidzialny), test wygeneruje błąd. Zespół operacyjny napisał usługę sieci Web, która przekazuje analizowane metryki Keynote do systemu monitorowania Microsoft.com. Na zakończenie każdego dnia firma Keynote dostarcza również raport podsumowujący wyniki dostępności.
Poza buforowaniem zawartości w wielu globalnych lokalizacjach, partnerzy CDN SAVVIS oraz Akamai monitorują poszczególne serwery znajdujące się poza centrum danych i mogą usunąć wybrany serwer z klastra, gdy nie odpowiada on na żądania.
Aktywne metody testowania i monitorowania
Po zaimplementowaniu i pełnym wdrożeniu systemów do zarządzania zasobami oraz reaktywnego monitorowania uwaga zespołu operacyjnego skupiła się na aktywnym testowaniu aplikacji oraz definiowaniu aktywnych zdarzeń monitorujących.
Kompleksowy i dogłębny mechanizm wykonywania testów transakcji oraz testów obciążeniowych aplikacji pomaga w ujawnieniu wielu potencjalnych problemów przed opublikowaniem aplikacji w środowisku produkcyjnym. Proces testowania pomaga również w określeniu, które zdarzenia mają duże znaczenie oraz jakie działania naprawcze warto podjąć w przypadku wystąpienia tych zdarzeń.
Wszystkie informacje będące wynikiem testów transakcji oraz obciążeniowych są szczegółowo dokumentowane w ramach procesu zarządzania wydaniami Microsoft Solutions Framework (MSF), który jest stosowany przez wiele zespołów programistycznych.
Te same systemy, które dostarczają alerty o zdarzeniach wymagających natychmiastowego, reaktywnego działania, są również wykorzystywane do generowania alertów o naturze prognostycznej, które wskazują trendy potencjalnie prowadzące do niepożądanych sytuacji.
Po wnikliwym przetestowaniu aplikacji i długotrwałych obserwacjach działania komponentów ogólnego systemu, a także uwzględnieniu doświadczeń zdobytych w trakcie rozwiązywania problemów, można zidentyfikować niektóre symptomy oraz przyczyny, które prowadzą do błędów aplikacji. Definiowanie i redefiniowanie zdarzeń wraz z upływem czasu ilustruje ewolucyjną naturę systemu monitorowania i pokazuje, jak ważne jest wyciąganie wniosków na podstawie pozyskanych danych oraz wykorzystywanie zdobytej wiedzy w praktyce.
Raportowanie oraz analiza
Zespół operacyjny Microsoft.com opracował niestandardową usługę sieci Web, która integruje w czasie rzeczywistym dane pochodzące ze wszystkich źródeł w celu zapewnienia holistycznego przeglądu. Każdej nocy automatyzowany proces agreguje dane w hurtowni danych służącej do przeprowadzania długoterminowych analiz. Dane są normalizowane przy pomocy wspólnego schematu i reprezentują informacje pochodzące z wielu różnych źródeł. Typy danych to m.in. dane Keynote Global 35 oraz wszystkie pozostałe dane monitorowania. Na podstawie szczegółowych danych dotyczących wydajności wyliczane są godzinne oraz dobowe średnie, a także liczebność próbki, odchylenie standardowe, minimum, maksimum oraz błąd standardowy służące do szczegółowej analizy trendów.
Codziennie tworzona jest także migawka magazynu konfiguracji zasobów. Charakterystyczne dla serwera informacje przechowywane w magazynie zasobów to między innymi:
- Szczegółowe informacje o zasobach (np. kto jest właścicielem serwera, kto nim administruje, jaki jest model serwera)
- Data wygaśnięcia gwarancji
- Trendy wydajności
- Historia żądań zmiany
- Zużycie miejsca na dysku
- Trendy błędów IIS
Następnie zespół operacyjny, korzystając z usług SQL Server Reporting Services, generuje standardowe dzienne, 30-dniowe, 90-dniowe i roczne raporty, które zawierają następujące informacje:
- Zasoby i obiekty
- Trendy wydajności
- Dostępność (wewnętrzna i zewnętrzna)
- Błędy w dzienniku IIS
- Raport wyjść
- Użycie miejsca na dysku
- Wydajność SLA
Zespoły ds. debugowania oraz inne organizacje potrzebują dostępu do danych znajdujących się w hurtowni danych w celu przeprowadzania wnikliwych analiz. Zamiast przyznawać dostęp do hurtowni danych, zespół operacyjny wykorzystuje usługi SQL Server Data Transformation Services (DTS) do dostarczania danych w dopowiedzi na predefiniowane lub niestandardowe potrzeby. Dzięki ograniczeniu dostępu do hurtowni danych zespół operacyjny unika ryzyka występowania niezarządzanej oraz jednorazowej aktywności kwerend, która mogłaby obniżać wydajność hurtowni.
Monitorowanie i raportowanie jutro
Zespół operacyjny planuje jako jeden z pierwszych wdrożyć system Microsoft System Center Reporting Manager 2006, aby zastąpić niektóre aktualnie dostosowywane funkcje struktury Operations Workbench. Zespół wkłada również wiele wysiłku w ulepszenie mechanizmu zarządzania konfiguracjami na platformie Operations Workbench, co umożliwi definiowanie standardowych konfiguracji przy pomocy manifestów XML. Zarówno manifesty charakterystyczne dla platformy, jak i charakterystyczne dla aplikacji będą tworzone w ramach cyklu rozwoju przed opublikowaniem ich w środowisku produkcyjnym.
Planowane są również inne działania, które umożliwią standaryzację wsparcia dla aplikacji. Setki programistów dostarczają kod do witryny Microsoft.com, wykorzystując różne metody przygotowania kodu do rejestrowania zdarzeń na różnych poziomach szczegółowości. Zespół operacyjny chciałby stworzyć wspólną klasę obsługi zdarzeń i rejestrowania w oparciu o rekomendacje grupy Microsoft Patterns and Practices wraz z mechanizmem szczegółowego śledzenia aplikacji. Więcej informacji na temat zaleceń Microsoft Patterns and Practices znaleźć można pod adresem http://msdn.microsoft.com/practices/.
Zarządzanie problemami stanowi kolejne wyzwanie. Zespół operacyjny chce zdobyć jak największą wiedzę na podstawie ogromnych ilości danych poprzez skorelowanie źródeł danych oraz opatrzenie tych korelacji adnotacjami. Podstawową korzyścią, jaką przynosi hurtowania danych, jest możliwość uczenia się na podstawie danych. Zespół operacyjny chce wykorzystywać aparat sztucznej inteligencji wraz z genetycznymi algorytmami, które potrafią uczyć się normalnych wzorców w celu przeszukiwania danych i odnajdowania statystycznych anomaliów. Te algorytmy mogą być następnie stosowane na najświeższych danych, co umożliwi prognozowanie problemów, zanim staną się one odczuwalne.
Podobnie jak wiele innych organizacji, zespół Microsoft.com przewiduje powstawanie "centrów danych ze zgaszonymi światłami", które będą wymagały co najwyżej sporadycznych wizyt administratorów i w których wszystkie serwery będą mogły być zarządzane zdalnie, w sposób maksymalnie zautomatyzowany. Na przykład panele kontroli zdalnej wbudowane w serwery mogą zostać skonfigurowane tak, aby programowo wyłączać serwery, gdy ich zużycie jest niskie oraz w razie potrzeby włączać je ponownie. Celem strategii "zgaszonych świateł" jest to, aby inżynierowie systemów mogli skoncentrować się na najważniejszych zadaniach, takich jak ścisła współpraca z zespołem programistów, odkrywanie nowych technologii czy opracowywanie najlepszych praktyk rozwoju.
Diagnozowanie problemów
Problemy z wydajnością witryny Microsoft.com można zasadniczo podzielić na trzy kategorie:
- Aplikacje
- Sieci
- Doskonałość działania
System monitorowania został zaprojektowany po to, aby prezentować jedynie zdarzenia wymagające podjęcia określonych działań przez pracowników działu wsparcia. Jednocześnie zespół operacyjny chce dokumentować wszystkie zdarzenia zachodzące podczas testowania aplikacji w taki sposób, aby powiązać większość zdarzeń z akcjami naprawczymi, które mogą być realizowane na pierwszym poziomie wsparcia. Niektóre zdarzenia wymagają przejścia do kolejnego poziomu wsparcia. Podobnie jak większość dużych organizacji, zespół operacyjny Microsoft.com posiada kilka linii wsparcia odpowiedzialnych za rozwiązywanie problemów lub przekazanie zgłoszenia wyżej.
Linia 1
Linia 1 zapewnia wsparcie 24 godziny na dobę, siedem dni w tygodniu i odpowiada za wstępne rozpoznanie, przekazanie lub jeżeli to możliwe rozwiązanie problemu. Pracownicy pierwszej linii wsparcia wykorzystują informacje monitorowania oraz podręczniki diagnozowania problemów, które są dynamicznie powiązywane z zasobem lub właściwością przez platformę Operations Workbench i pomagają w przeprowadzeniu wstępnej analizy oraz rozwiązaniu problemu. Jeśli problem nie może zostać rozwiązany przez pracowników działu wsparcia linii pierwszej, jest przypisywany i przekazywany do Linii 2.
Linia 2
Linia 2 zapewnia pomoc w problemach związanych z infrastrukturą i sprzętem serwerowym, a także wsparcie dla poszczególnych aplikacji. Pracownicy drugiej linii wsparcia posiadają szczegółową wiedzę w zakresie tych aplikacji i także wykorzystują informacje monitorowania oraz podręczniki diagnozowania problemów (w rozwiązywaniu problemów również pomaga im platforma Operations Workbench). Jeśli problem nie może zostać rozwiązany przez pracowników działu wsparcia linii drugiej, jest przypisywany i przekazywany do Linii 3. Jeśli problem zostanie rozwiązany przez pracownika tej linii, podręczniki diagnozowania problemów zostają zaktualizowane przy pomocy nowo odkrytych informacji, które mogą pomóc w rozwiązywaniu problemu w przyszłości.
Linia 3
Linia 3 odpowiada za dogłębną analizę i składa się inżynierów systemu i administratorów baz danych przypisanych do określonych aspektów sieci Web oraz menedżerów produktów oraz programistów zajmujących się poszczególnymi aplikacjami. Pracownicy linii 3 wykorzystują informacje monitorowania do opracowywania podręczników diagnozowania problemów. Ponieważ posiadają uprawnienia administratora, mogą realizować również inne działania diagnostyczne na serwerze. Jeśli problem nie może zostać rozwiązany przez pracowników działu wsparcia linii trzeciej, jest przypisywany i przekazywany do Linii 4, zwanego również zespołem ds. debugowania. Jeśli problem zostanie rozwiązany na tym poziomie, podręczniki diagnozowania problemów zostają zaktualizowane przy pomocy nowo odkrytych informacji, które mogą pomóc w rozwiązywaniu problemu w przyszłości.
Linia 4
Linia 4 odpowiada za debugowanie aplikacji i jądra. Zasadniczo ten typ inwazyjnego diagnozowania problemów wymaga usunięcia serwera ze środowiska produkcyjnego na czas przeprowadzania testów. Pracownicy czwartej linii wsparcia analizują historię diagnozowania problemów w celu ustalenia niepożądanego zdarzenia i powtórzenia kroków, które doprowadziły do powstania problemu. Celem zespołu ds. debugowania jest zidentyfikowanie źródła problemu, aby kompleksowe informacje mogły zostać przekazane do odpowiedniego zespołu zajmującego się rozwojem aplikacji, który może zaimplementować poprawkę. Jeśli problem zostanie rozwiązany przez pracownika tej linii, podręczniki diagnozowania problemów zostają zaktualizowane przy pomocy nowo odkrytych informacji, które mogą pomóc w rozwiązywaniu problemu w przyszłości.
Uwaga:Więcej informacji na temat kroków debugowania, które zwykle wykorzystywane są przez zespół operacyjny Microsoft.com, zawiera webcast zatytułowany "Troubleshooting & Debugging Web Applications" dostępny pod adresemhttp://blogs.technet.com/mscom/.
Najlepsze praktyki
Do najlepszych praktyk monitorowania należą:
- Maksymalna centralizacja. Zaprojektowanie rozwiązania, które agreguje w centralnej lokalizacji możliwie jak najwięcej znaczących informacji, co pomaga w zarządzaniu niepożądanymi zdarzeniami oraz problemami. Infrastruktura MOM 2005 umożliwia rejestrowanie wielu zdarzeń i zbieranie danych, które są niezbędne dla rozwiązania do monitorowania. Procesy i podręczniki diagnozowania programowania powinny również zostać scentralizowane oraz ustandaryzowane, aby wszyscy członkowie zespołu podchodzili do problemu w podobny sposób i posiadali dostęp do tych samych informacji oraz mogli w razie problemy zaktualizować dokumentację.
- Zarządzanie zasobami. Określenie, które zasoby są w użyciu, jaki jest ich cel oraz kto jest ich właścicielem, a także kontrolowanie aktualności tych informacji przy pomocy zautomatyzowanego procesu. Struktura hierarchiczna zapewnia możliwość dokumentowania i wyświetlania relacji między zasobami oraz potencjalnie pracownikami i dokumentacją.
- Określenie najistotniejszych danych. Większość produktów do monitorowania domyślnie generuje nieopisane ilości danych i zdarzeń. Dlatego bardzo ważne jest zidentyfikowanie i uaktywnienie jedynie tych danych oraz zdarzeń, które są przydatne i mogą stanowić podstawę do podjęcia określonych działań.
- Implementacja reaktywnych metod monitorowania oraz aktywnych metod testowania i monitorowania. Po wdrożeniu systemu reaktywnego monitorowania należy skoncentrować się na aktywnym testowaniu aplikacji. Warto spróbować zidentyfikować zdarzenia o naturze predykcyjnej.
Czerpanie wniosków z danych. Agregowanie, korelowanie oraz adnotowanie danych pochodzących z różnych źródeł w celu zidentyfikowania wzorców. Warto rozważyć zastosowanie algorytmów genetycznych w celu wydobycia danych, które pozwolą określić linie bazowe i zidentyfikować anomalia.
Do najlepszych praktyk diagnozowania problemów należą:
- Testy obciążeniowe aplikacji. Oprócz kompleksowego testowania transakcji aplikacje powinny zostać poddane testom obciążeniowym w celu sprawdzenia ich wydajności w sytuacjach krytycznych. W procesie zarządzania wydaniami warto uwzględnić dołączanie definicji alertów oraz powiązanie z nimi akcji naprawczych, które zostały opracowane na podstawie testów. To może pomóc w identyfikowaniu zdarzeń umożliwiających aktywne monitorowania, a także sygnalizowaniu problemów z wydajnością danej aplikacji przed opublikowaniem jej w środowisku produkcyjnym.
- Wybranie zdarzeń stanowiących podstawę do działania. Zapewnienie możliwie jak najdokładniejszego kontekstu dla pracowników pierwszej i drugiej linii wsparcia, aby mogli oni rozwiązywać znane problemy bez ich przekazywania. Opracowywanie łatwo dostępnych podręczników diagnozowania problemów, które ilustrują wnioski zaczerpnięte na podstawie dotychczasowych procesów rozwiązywania problemów.
- Przeprowadzanie analiz. Najpoważniejsze problemy wynikają często z niedoskonałości działań ludzkich. Przeprowadzenie kompleksowej analizy tych sytuacji pomaga w zidentyfikowaniu procesów wymagających udoskonalenia.
Korzyści
Podstawowym celem zespołu operacyjnego Microsoft.com jest osiągnięcie wysokiej dostępności w Internecie. Dostępność można zapewnić jedynie poprzez wykorzystanie kompleksowego rozwiązania do monitorowania, które obejmuje: reaktywne metody monitorowania, aktywne metody testowania i monitorowania, alerty będące podstawą działań oraz stały dostęp do informacji umożliwiających inteligentne diagnozowanie problemów. Dzięki zaimplementowaniu tego rozwiązania, witryna Microsoft.com osiągnęła 99.83 procent dostępności w ciągu ostatnich trzech lat (według wyników badań przeprowadzonych przez Keynote Global 35). W ciągu tych trzech lat witryna Microsoft.com przodowała w rankingach dostępności na tle innych głównych witryn sieci Web w branży.
Zespół operacyjny pomaga także w ulepszaniu produktów Microsoft, ponieważ w sposób szybki i precyzyjny identyfikuje potencjalne problemy związane z wdrażaniem tych produktów na najbardziej obciążonych woluminach. Zespół operacyjny wdrażał wiele technologii Microsoft jeszcze przed opublikowaniem ich na rynku i często dostarczał informacje, które pomagały w poprawieniu ich skalowalności oraz stabilności. Produkty, które są skalowalne oraz wiarygodne, zapewniają solidną podstawę dla wysoce dostępnych usług o dużej aktywności.
Kolejną ogromną zaletą kompleksowego rozwiązania do monitorowania jest to, że specjaliści mogą skoncentrować się na projektowaniu, zamiast poświęcać czas na reagowanie na aktualne problemy. Gdy architekci i inżynierowie mają czas na projektowanie i testowanie przyszłych systemów oraz aktualizacji, istnieje większa szansa, że wynikowe systemy będą dopracowane oraz zostaną dobrze przetestowane przed wdrożeniem.
Zespół operacyjny Microsoft.com planuje obecnie wzbogacenie platformy Operations Workbench poprzez dodanie bazującego na manifestach systemu do zarządzania konfiguracjami dla serwerów i aplikacji. To ulepszenie zapewni dodatkową korzyść w postaci pełnej spójności między systemami. Aktualnie stosowane skrypty, które służą do wstępnego instalowania i aktualizowania serwerów oraz usług, zapewniają spójność w obrębie wybranych akcji. Jednak nie istnieje metoda, która umożliwiałaby wykrywanie zmian dokonywanych poza tymi akcjami. W przyszłości tego typu anomalie wykrywane będą przez okresowo wykonywane, kompleksowe procesy skanowania konfiguracji.
Wnioski
Witryna Microsoft.com stanowi jedną z najczęściej odwiedzanych witryn sieci Web na świecie. Jej monitorowanie wymaga stałego kontrolowania stanu poszczególnych komponentów sprzętowych oraz aplikacji, a także ogólnej dostępności, wydajności i pojemności całej witryny z różnych miejsc na świecie.
Nie istnieje jedna technologia, która umożliwiałaby monitorowanie wszystkich tych aspektów, a już na pewno żaden standardowo skonfigurowany produkt nie potrafi inteligentnie monitorować tak złożonego środowiska. Z tego względu zespół operacyjny opracował rozwiązanie do monitorowania, które zostało zbudowane na bazie wielu produktów Microsoft oraz kilku produktów firm zewnętrznych.
Kompleksowe rozwiązanie do monitorowania obejmuje reaktywne metody monitorowania oraz aktywne metody testowania i monitorowania, które umożliwiają przewidywanie sytuacji problemowych oraz ich unikanie. Podstawą rozwiązania Microsoft.com jest rozszerzalna architektura, która integruje luźno powiązane komponenty systemu oraz system zarządzania zasobami i obiektami, który w sposób dynamiczny śledzi wszystkie obiekty wchodzące w skład systemu. Stosowany jest zaawansowany proces zarządzania wydaniami, który zapewnia odpowiednie testowanie i dokumentowanie aplikacji przed opublikowaniem ich w środowisku produkcyjnym. Dokumentacja ważniejszych zdarzeń oraz sposobu reagowania na ich wystąpienie ułatwia zarządzanie zgłoszonymi incydentami oraz diagnozowanie problemów po opublikowaniu systemów w środowisku produkcyjnym.
Rozwiązanie opracowane przez zespół operacyjny Microsoft.com łączy w sobie aspekty zarządzania zasobami, reaktywnego monitorowania, aktywnego testowania i monitorowania, raportowania i analizy oraz wsparcia dla inteligentnego diagnozowania problemów. Projekt oraz implementacja rozwiązania kosztowała sporo czasu i wysiłku, a ponadto wymagała skoordynowania prac wielu organizacji, ale końcowe korzyści są wyraźnie widoczne i umożliwiły stworzenie witryny sieci Web o najwyższej dostępności w branży.
Dodatkowe informacje
Aby uzyskać dodatkowe informacje na temat produktów i usług Microsoft, wystarczy zadzwonić do działu Microsoft Sales Information Center o numerze (800) 426-9400. Klientów z Kanady prosimy o telefonowanie do działu Microsoft Canada information Centre o numerze (800) 563-9048. Natomiast klientów spoza Stanów Zjednoczonych oraz Kanady prosimy o skontaktowanie się z lokalnym oddziałem firmy Microsoft. Dodatkowe informacje są dostępne na stronach WWW:
http://www.microsoft.com
http://www.microsoft.com/technet/itshowcase
Do pobrania
Techniczne studium przypadku , 297 KB, plik Microsoft Word