Monitor HTTP
Monitor HTTP sprawdza dostępność i czas odpowiedzi serwerów WWW.
Może monitorować pojedyncze strony WWW, w tym te, które korzystają z mechanizmu CGI, co zwykle wymaga, aby użytkownik wprowadził dane w polach. Może także monitorować czas pobierania elementów strony, takich jak obrazy na stronie WWW.
| Pliki monitora | Nazwa lub położenie |
|---|---|
| Plik wykonywalny monitora | nco_m_http |
| Plik właściwości | $ISHOME/etc/props/http.props |
| Plik reguł | $ISHOME/etc/rules/http.rules |
| Plik dziennika | $ISHOME/log/http.log |
- Wytyczne dotyczące konfigurowania monitora HTTP
-
Monitory HTTP i HTTPS sprawdzają dostępność oraz czasy odpowiedzi serwerów WWW. Monitora HTTP należy używać w następujących sytuacjach:
- Docelowy serwis WWW jest statyczny.
W przypadku dynamicznych serwisów WWW należy użyć monitora TRANSX.
- Docelowy serwis WWW jest udostępniany za pomocą protokołu HTTP.
W przypadku serwisów WWW udostępniających treść za pomocą protokołu HTTPS należy użyć monitora HTTPS.
- Przy wykonywaniu monitorowania na wielu platformach.
- W sytuacji, w której ważnym czynnikiem jest szybkość (monitor HTTP zapewnia wysoką wydajność).
- Docelowy serwis WWW jest statyczny.
- Typy żądań HTTP
-
Monitor HTTP emuluje przeglądarkę WWW obsługującą protokół HTTP/1.0. Aby przetestować serwer WWW, monitor wysyła do niego żądanie udostępnienia strony WWW za pomocą dowolnego spośród następujących typów żądań HTTP:
HEADKomenda
HEADpróbuje uzyskać dostęp do strony WWW i zwrócić nagłówek HTTP. Użycie komendyHEADjest szybkim sposobem sprawdzenia, czy dana strona WWW jest dostępna.GETKomenda
GETpróbuje uzyskać dostęp do strony WWW i zwrócić całą stronę, w tym nagłówek HTTP. Nie próbuje ona zwrócić innych plików powiązanych z tą stroną, takich jak obrazki.GETALLKomenda
GETALLpróbuje uzyskać dostęp do strony WWW i zwrócić całą stronę, w tym nagłówek HTTP, tło, obrazki, aplety, ramki pliki CSS oraz skrypty. Podobnie jak komendyHEADiGET, ta komenda także sprawdza, czy strona WWW jest dostępna, ale ponieważ komendaGETALLzwraca całą stronę i wszystkie powiązane z nią pliki, może ona dać bardziej realistyczny obraz czasu wymaganego do uzyskania dostępu do strony. Monitor wykorzystuje wiele wątków podczas używania komendyGETALL, aby dokładniej odzwierciedlić działanie przeglądarek WWW.POSTKomenda
POSTpróbuje uzyskać dostęp do strony WWW zawierającej formularz HTTP i wypełnić pola tego formularza. Dodaj tekst treści dla żądania POST do karty Treść w konfiguracji Internet Service Monitoring albo użyj obiektu@Bodyw konfiguracji programu Internet Service Monitoring lub ismbatch. Alternatywnie można użyć parametrów FORM. W żądaniu POST nie można używać zarówno parametru Body, jak i FORM.
- Używanie serwera proxy
-
Użytkownik może sprawdzić dostępność stron WWW przez serwer proxy. Po skonfigurowaniu monitora do korzystania z serwera proxy wysyła on żądania HTTP poprzez serwer proxy. Jeśli jest to wymagane, można obejść pamięć podręczną serwera proxy. Parametry serwera proxy można skonfigurować na karcie Szczegóły proxy. Monitor HTTP obsługuje uwierzytelnianie dostępu do serwerów proxy. To uwierzytelnienie jest niezależne od uwierzytelnienia wymaganego przez docelową stronę WWW.
- Elementy serwera proxy
-
We wcześniejszych wersjach podczas konfigurowania elementu profilu do korzystania z serwera proxy, domyślnie monitor HTTP wstawiał nazwę serwera proxy i port do elementów
$serveri$portzamiast nazwy i portu serwera docelowego. Aby zachować żądaną nazwę serwera i port docelowy z poprzedniej wersji, należy ustawić właściwośćgenerateProxyTokensna wartość1lub uruchomić monitor, podając parametr wiersza komend-generateproxytokens.Oprócz zachowania wartości elementów
$serveri$portw przypadku ustawienia tej właściwości lub podania parametru wiersza komend monitor generuje następujące elementy:$proxyServer,$proxyPort,$proxyAuthType,i$proxyUsername.$proxyCache
- Uwierzytelnianie
-
Jeśli strona WWW, która ma być monitorowana, lub serwer proxy, który ma być testowany, wymagają uwierzytelnienia, należy podać informacje autoryzacyjne umożliwiające dostęp do strony w polach
Typ uwierzytelniania,Nazwa użytkownikaiHasłona karcie Zaawansowane lub Szczegóły proxy.Aby wyłączyć uwierzytelnianie, dla parametru
typ uwierzytelnianiapodaj wartośćBRAK.Aby wybrać uwierzytelnianie podstawowe:
- Dla parametru
typ uwierzytelnianiaustaw wartośćPODSTAWOWE. - Dla pól
nazwa użytkownikaihasłoustaw wartości wymagane przez stronę WWW lub serwer proxy.
Aby wybrać NTLM:
- Dla parametru
typ uwierzytelnianiaustaw wartośćNTLMv1lubNTLMv2. - Dla pól
nazwa użytkownikaihasłoustaw wartości wymagane przez stronę WWW lub serwer proxy.
Uwaga:Monitor ogranicza długość żądań HTTP do 4096 znaków. Jeśli długość dodatkowych danych formularza spowoduje przekroczenie tego limitu długości przez żądanie, monitor nie umieści ich w żądaniu.
- Dla parametru
- Konfigurowanie testu usługi monitora HTTP
-
Do zdefiniowania testów usługi HTTP użyj parametrów konfiguracyjnych monitora HTTP.
Tabela 2. Konfiguracja monitora HTTP Pole Opis Serwer Nazwa hosta monitorowanego serwera. Przykład: mail.mojafirma.pl Strona Adres URL strony, która ma być monitorowana. Przykład: index.html Opis Pole tekstowe do umieszczenia informacji opisowych dotyczących elementu. Przykład: Monitorowanie za pośrednictwem serwera proxy Port Port na serwerze HTTP, który ma być używany.
Wartość domyślna:
80Lokalny IP Określa adres IP interfejsu sieciowego używanego przez monitor do testu. Jeśli pole to jest puste, monitor użyje interfejsu określonego we właściwości Adres IP.Wersja Wersja protokołu HTTP, która będzie używana: - 1.0
- 1.1
Wartość domyślna: 1.0
Komenda Typ żądania HTTP:
HEADGETGETALLPOST
Wartość domyślna:
GETNazwa formularza Jeśli monitor HTTP zostanie użyty w transakcji, skanuje określony formularz w poszukiwaniu wartości domyślnych. Wszystkie znalezione wartości są automatycznie wprowadzane do następnego kroku HTTP w transakcji. Typ uwierzytelniania Określa mechanizm uwierzytelniania pytanie kontrolne-odpowiedź na potrzeby uwierzytelniania użytkowników sieci:
NONE- bez uwierzytelniania.BASICNTLMv1- Uwierzytelnianie Windows NTLM w wersji 1 wykorzystujące odpowiedź na pytanie.NTLMv2- Windows NTLM wersja 2.
Wartość domyślna:
NONENazwa użytkownika Nazwa użytkownika (nazwa konta), której monitor będzie używać przy logowaniu do serwera. Hasło Hasło odpowiadające nazwie użytkownika, której monitor będzie używał przy logowaniu do serwera. Limit czasu Czas (w sekundach) oczekiwania na odpowiedź serwera.
Wartość domyślna:
30Odpytywanie Czas w sekundach między operacjami odpytywania.
Wartość domyślna:
.300Liczba niepowodzeń Liczba testów przed zgłoszeniem niepowodzenia.
Wartość domyślna:
0Odstęp czasu ponownego testowania Czas (w sekundach) oczekiwania między kolejnymi niepowodzeniami testowania.
Wartość domyślna:
10Weryfikuj certyfikat Domyślnie opcja ta jest wyłączona. Szczegóły proxy Serwer Nazwa hosta serwera proxy. Port Port na serwerze proxy, który ma być używany.
Wartość domyślna:
8080Typ uwierzytelniania Typ uwierzytelniania serwera dla serwera proxy. Więcej informacji na ten temat zawiera wcześniejszy opis
authenticationtype.Wartość domyślna:
NONENazwa użytkownika Używana przez monitor razem z hasłem w celu zalogowania do serwera proxy. Hasło Używane przez monitor razem z nazwą użytkownika do zalogowania się na serwerze proxy. Użyj proxy Konfiguruje monitor w taki sposób, aby przesyłał żądania, wykorzystując serwer proxy. proxy(użyjtruew programie ismbatch)noproxy(użyjfalsew programie ismbatch)
Wartość domyślna:
noproxyhostnamelookuppreference Określa wersję IP, IPv6 lub IPv4, która ma być stosowana do podanej nazwy hosta. Dostępne opcje: - default konfiguruje monitor pod kątem używania ustawień właściwości dla monitora. Jest to opcja domyślna.
- 4Then6 wybiera protokół IPv4, a następnie IPv6. Używa adresów IPv4, jeśli są dostępne. Jeśli nie zostaną znalezione żadne adresy IPv4, zostaną użyte adresy IPv6.
- 6Then4 wybiera protokół IPv6, a następnie IPv4. Używa adresów IPv6, jeśli są dostępne. Jeśli nie zostaną znalezione żadne adresy IPv6, zostaną użyte adresy IPv4.
- 4Only wybiera tylko protokół IPv4. Używane będą tylko adresy IPv4. Jeśli nie ma adresów IPv4, odpytywanie zwraca błąd.
- 6Only wybiera tylko protokół IPv6. Używane będą tylko adresy IPv6. Jeśli nie ma adresów IPv6, odpytywanie zwraca błąd.
- 6Or4 wybiera protokół IPv4 lub IPv6. Używa pierwszego adresu zwróconego z nazwy hosta.
nocache Domyślnie opcja ta jest wyłączona.
- Wyrażenie regularne
-
Wyszukiwanie w pobieranych informacjach z użyciem wyrażeń regularnych można przeprowadzać, wprowadzając maksymalnie 50 różnych wyrażeń regularnych. Monitor HTTP próbuje dopasować pobraną treść do każdego z wyrażeń regularnych. Jeśli zostanie znalezione dopasowanie dla określonego wyrażenia regularnego, dopasowane wiersze (lub tyle danych, ile się może zmieścić w wewnętrznym buforze monitora) są zwracane w odpowiednim elemencie
$regexpMatchn. Jeśli wyrażenie regularne zostanie dopasowane wiele razy, zwrócona będzie tylko pierwsza zgodna wartość. Status każdego testu wyrażenia regularnego jest wskazywany przez elementy$regexpStatusn. Zgodne wyrażenia regularne i ich informacje o statusie mogą być stosowane jako kryteria klasyfikacji poziomu usług. Więcej informacji na temat składni wyrażeń regularnych zawiera sekcja Tabela 3.
- Parametry Head i Form
-
Monitor HTTP może wysłać dodatkowe dane w polach nagłówka i w treści komunikatu żądań HTTP.
Parametry dla tych dodatkowych danych można skonfigurować na karcie Parametry. Są to parametry Nazwa, Wartość i Typ. Działają one w następujący sposób:
- Pary nazwa-wartość typu HEAD określają dodatkowe pola nagłówka, takie jak
User-AgentiReferer, umieszczone we wszystkich żądaniach HTTP wysyłanych przez monitor. Pola nagłówka można określić dla każdego typu metody HTTP (GET,GETALL,HEADlubPOST).Dla produktu ITCAM for Transactions w wersji 7.4.0.1 i nowszych, dla każdego nowego elementu HTTP lub HTTPS do nagłówka jest dodawany domyślny parametr User-Agent
Mozilla/5.0 (ISM-MONITOR). Domyślny nagłówek User-Agent jest taki, aby monitory HTTP i HTTPS mogły być używane do monitorowania serwisów, które przełączają rodzaj wyświetlanych treści odpowiednio dla używanej przeglądarki. - Pary nazwa-wartość typu FORM określają dodatkowe dane zawarte w treści komunikatu żądania HTTP
POSTwysyłanego przez monitor. Jeśli strona docelowa zawiera formularz zgodny z nazwą podaną w polu Nazwa formularza, monitor traktuje wszystkie pary nazwa-wartość w tym formularzu tak, jakby były one skonfigurowane w elemencie profilu.
Uwaga:Monitor ogranicza długość żądań HTTP do 4096 znaków. Jeśli długość dodatkowych danych formularza spowoduje przekroczenie tego limitu długości przez żądanie, monitor nie umieści ich w żądaniu.
- Pary nazwa-wartość typu HEAD określają dodatkowe pola nagłówka, takie jak
- Elementy monitora
-
Oprócz wyników testowych wspólnych dla wszystkich elementów, monitor HTTP generuje zestaw wyników testowych zawierających dane specyficzne dla testów usługi HTTP. Elementy oznaczone gwiazdką (*) są dostępne jako atrybuty. Nazwy atrybutów są przedstawione w nawiasach kwadratowych. Brak gwiazdki oznacza, że nie ma odpowiadającego mu atrybutu. Atrybuty wyświetlane w nawiasach kwadratowych, ale bez elementu wskazują, że są one dostępne tylko jako atrybut, nie istnieje żaden równoważny im element.
Tabela 3. Elementy monitora HTTP Element Opis $bytesPerSec*
(BytesPerSec)Średnia liczba bajtów przesłanych w ciągu każdej sekundy. $bytesTransfered*
(BytesTransferred)Liczba bajtów przesłanych lub pobranych. $checksumElement sumy kontrolnej zwykle nie zawiera sensownych wartości
dla klasyfikacji poziomu usługi, ponieważ suma kontrolna nie jest znana, gdy element profilu jest tworzony
(monitor oblicza sumę kontrolną w momencie trwania testu). Elementy monitora $checksum i $previousChecksum
są przeznaczone do wzbogacania alertów za pomocą pliku reguł monitora.$commandKomenda HTTP wysłana przez monitor. Na przykład: HEAD,GET,GETALLlubPOST.$connectTime*
(ConnectTime)Określa czas trwania nawiązywania połączenia z serwerem. $downloadTime*
(DownloadTime)Określa czas pobierania pliku. ( Elements)Liczba odebranych elementów strony. $formnameNazwa formularza użytego w działaniu POST.$lastStatus*(PageStatus)Jeśli element profilu pobiera wiele stron, ten element zawiera łańcuch
wyniku pobrania ostatniej strony. Ta wartość jest taka sama, jak w przypadku produktu$urlResultn
.gdzienjest równa wartości$pageCount.$lastModifiedWartość pola nagłówka HTTP Last-Modifieddla pobranej pierwszej strony.$page*(Page)Strona, do której uzyskano dostęp na serwerze HTTP. $pageCountŁączna liczba zasobów pobranych podczas testu GETALL, z wyłączeniem
samej strony testowej. Jeśli testowana strona nie odwołuje się do żadnych innych zasobów, ten
element nie jest generowany.$port*(Port)Port używany do uzyskania dostępu do serwera HTTP. Jeśli test używany przez serwer proxy, jest to
wartość portu serwera proxy, do którego wysłano
żądanie. Aby zachować port docelowego serwera docelowego, ustaw
właściwośćgenerateProxyTokensma wartość1, albo uruchom monitor z
parametrem wiersza komend-generateproxytokens.$previousChecksumElement poprzedniej sumy kontrolnej zwykle nie zawiera sensownych wartości dla klasyfikacji poziomu usług
, ponieważ suma kontrolna nie jest znana, gdy element profilu jest tworzony
(monitor oblicza wartość sumy kontrolnej w momencie trwania testu).
Elementy monitora $previousChecksum i $checksum są przeznaczone
do wzbogacania alertów za pomocą pliku reguł monitora.$proxyAuthTypeTyp uwierzytelniania serwera dla serwera proxy. $proxyCacheWartość true oznacza, że serwer proxy pobrał stronę WWW z serwera, a nie z własnej pamięci podręcznej. $proxyPortNumer portu serwera proxy, na który zostało wysłane żądanie. $proxyServerNazwa hosta serwera proxy. $proxyUsernameUżywana przez monitor razem z hasłem w celu zalogowania do serwera proxy. $regexpMatchnTreść wiersza zgodnego z wyrażeniem regularnym. $regexpnWyrażenie regularne. $regexpMatchnTreść wiersza zgodnego z wyrażeniem regularnym. $regexpStatusnStatus zgodności wyrażenia regularnego: NONE- nie skonfigurowano sprawdzania za pomocą wyrażenia regularnegoMATCHED- znaleziono dopasowanie dla wyrażenia regularnegoFAILED- nie znaleziono dopasowania dla wyrażenia regularnego$responsetime*
(ResponseTime)Czas, który upłynie od utworzenia połączenia do momentu odebrania pierwszego bajtu strony. $timeSinceModificationCzas, który upłynął od ostatniej modyfikacji strony. Jest to
różnica między czasem testu i wartościąLast-Modified
pola nagłówka HTTP z pierwszej pobranej strony.$urlDownloadTimesn*
(UrlDownloadTime)Czas pobierania URL dla każdego elementu w żądaniu GETALL. Każdy element jest ponumerowany, zaczynając od 000 ($urlDownloadTime000,$urlDownloadTime001,$urlDownloadTime002itd.).$urln*(Url)Adres URL każdej strony w teście GETALL. Każda strona jest ponumerowana, zaczynając od 000 ($url000,$url001,$url002itd.).$urlResultn*
(UrlResultString)Łańcuch wyniku dla każdej strony pobranej w żądaniu GETALL. Każdy wynik jest ponumerowany, począwszy od 000 ($urlResult000,$urlResult001,$urlResult002,
itd.)$usernameNazwa używana w celu uzyskania dostępu do stron, które wymagają, aby użytkownik był uwierzytelniony.
- Komunikaty statusu
-
Monitor HTTP udostępnia komunikaty o statusie w atrybucie
ResultMessagepodczas korzystania z produktu IBM® Application Performance Management. Komunikaty te wskazują wynik testu.Tabela 4. Tabela 4. Komunikaty statusu monitora HTTP Komunikat Opis OKŻądanie monitora się powiodło. Nie znaleziono formularzaNie znaleziono żądanej strony. Zainicjowanie pobierania strony nie powiodło sięBrak wystarczającej ilości pamięci, aby przydzielić miejsca dla mechanizmu pobieranie strony HTTP. Poprzedni wiersz komunikatu powinien zawierać dodatkowe informacje. Połączenie nie powiodło sięNie powiodło się połączenie monitora z przyczyn innych niż wyłączenie odsyłacza, zresetowanie połączenia, nieosiągalność łącza, przekroczenie limitu czasu połączenia, przerwanie połączenie lub host jest wyłączony. Więcej informacji można znaleźć w pliku dziennika monitora HTTP.
- Parametry formularza i dopasowywanie wyrażenia regularnego
-
Monitoruj działanie formularza
http://support.mojafirma.pl/cgi-bin/search.cgi, wysyłając żądania HTTPPOSTz parametrem formularzasearch=ismi używając wyrażenia regularnego do dopasowania łańcucha Twoje wyszukiwanie powiodły się w odpowiedzi. Jeśli w odpowiedzi zostanie zwrócony ten łańcuch, sklasyfikuj poziom tej usługi jako Dobry, a w przeciwnym razie - jako Niepowodzenie.Utwórz nowy element profilu HTTP i ustaw pola w sposób przedstawiony w poniższej tabeli.
Tabela 5. Przykład elementu profilu formularza HTTP Pole konfiguracyjne elementu profilu Wartość Serwer support.mojafirma.plStrona /cgi-bin/search.cgiOpis Przykład - parametry formularza i wyrażenia regularneSzczegóły wyrażenia regularnego Dopasowanie 1 Wyszukiwanie powiodło sięSzczegóły klasyfikacji poziomu usług Instrukcja Regexp Status 1 = MATCHED then status GOODSzczegóły nagłówka i formularza Nazwa searchWartość ismTyp FORM
- Właściwości
-
W zamieszczonej w tej sekcji tabeli opisano właściwości i opcje wiersza komend specyficzne dla monitora HTTP.
Tabela 6. Właściwości monitora HTTP Nazwa właściwości
Parametr właściwości
Opis
AllowDuplicateDownload0|1Wymusza pobranie stron za każdym razem, gdy są znalezione.0- wyłączone (pobieranie wykonywane jest tylko raz)1- włączone
ForceHTMLParse0|1Wymusza, aby strony bez ustawionego typu zawartościtext/htmlbyły analizowane jak dane HTML.0- wyłączone1- włączone
GenerateProxyTokens0|1Określa, czy monitor generuje dodatkowe elementy zawierające informacje na temat serwera proxy, jeśli podczas testowania używany jest serwer proxy.0- wyłączone1- włączone (dodatkowe elementy$serveri$portzawierają wartości dla serwera proxy)
GETALLThreadNum1|2|3|4|5Określa liczbę osobnych wątków używanych w żądaniu
GETALL.GetLinkTags0|1Aktywuje pobieranie powiązanych arkuszy stylów w żądaniuGETALL:0- wyłączone1- włączone (jeśli strona docelowa zawiera znaczniklinkz wartością atrybuturel=stylesheet, monitor spróbuje pobrać zasób wskazany w atrybuciehrefznacznikalink).
HostnameLookupPreferencełańcuch
Określa wersję IP, IPv6 lub IPv4, która ma być stosowana do podanej nazwy hosta. Możliwe wartości:- 4Then6 wybiera protokół IPv4, a następnie IPv6. Używa adresów IPv4, jeśli są dostępne. Jeśli nie zostaną znalezione żadne adresy IPv4, zostaną użyte adresy IPv6.
- 6Then4 wybiera protokół IPv6, a następnie IPv4. Używa adresów IPv6, jeśli są dostępne. Jeśli nie zostaną znalezione żadne adresy IPv6, zostaną użyte adresy IPv4.
- 4Only wybiera tylko protokół IPv4. Używane będą tylko adresy IPv4. Jeśli nie ma adresów IPv4, odpytywanie zwraca błąd.
- 6Only wybiera tylko protokół IPv6. Używane będą tylko adresy IPv6. Jeśli nie ma adresów IPv6, odpytywanie zwraca błąd.
- 6Or4 wybiera protokół IPv4 lub IPv6. Używa pierwszego adresu zwróconego z nazwy hosta.
Wartość domyślna: 4Then6
Ipv6Addressliczba całkowita
Adres lokalny używany jako adres źródłowy żądań HTTP, gdy używany jest protokół HTTP IPv6.
Wartość domyślna: brak adresu
NoParseExtensionsłańcuch
Lista rozszerzeń plików oddzielonych przecinkami określająca typy plików, które nie będą analizowane przez monitor, a tylko pobierane.
OutputDirectoryłańcuch
Określa katalog wyjściowy, który będzie używany, jeśli parametr
OutputResultzostanie ustawiony (będzie mieć wartość1).Wartość domyślna:
$ISHOME/var.OutputResult0|1Określa, czy monitor zapisuje dane odebrane od usługi.0- wyłączone1- włączone
RelativeRedirects0|1Pozwala, aby pola Location w kodzie statusu HTTP 301 i HTTP 302 mogły zawierać względne adresy URL, zamiast adresów bezwzględnych.0- bezwzględne adresy URL1- względne adresy URL
RFCPOST0|1Określa, że monitor powinien zachować zgodność z dokumentami RFC1945 oraz RFC2616 i wysyłać drugie żądaniePOSTpo przekierowaniu. Wiele serwerów WWW nie oczekuje żądaniaPOSTpo przekierowaniu i większość przeglądarek nie zachowuje zgodności z tymi dokumentami RFC.0- wyłączone1- włączone