Proč potřebujeme monitorování? Přehled služby HostTracker. Část 1

Publikováno: Alex Shashenko 2016-12-14 všechny články | Glosář | FAQ

Společnost HostTracker je jedním z lídrů na trhu v oblasti poskytování monitorovacích služeb pro weby a různé webové služby. Překypuje množstvím různých neustále vylepšovaných nástrojů, které zohledňují nejnovější tendence a trendy. Jak tato společnost vznikla? Proč je monitorování potřeba? Jak může monitoring pomoci při vývoji a testování webů a serverů? Tento přehled vám na tyto otázky odpoví a také vám ukáže, jak se může prostá touha po optimalizaci vaší práce proměnit v užitečný produkt pro ostatní, a také, jak neztratit ‘startupového ducha’ a vždy držet krok se svými klienty.

Úvod aneb historie startupu

Každý, kdo se pohybuje v oblasti IT, jistě zná ten pocit, kdy se zdá, že je server (webová stránka, databáze, software, síť) perfektně nakonfigurován, ale najednou přestane správně fungovat. Řešení tohoto problému může zabrat spoustu času. Mezitím by tento nešvar pokračoval, odehrával by se pravidelně nebo by se’vůbec nestal – ale přesto je to’nejhorší, protože by’nebylo jasné, kdy se objeví jindy. Co když se to navíc stane při předávání projektu zákazníkovi? Zamyšlení nad všemi těmito věcmi způsobilo, že se objevil HostTracker.

Zakladatel se vždy snažil, aby jeho práce na objektech byla stejně brilantní jako v jeho hlavní práci, a proto se rozhodl proces monitorování automatizovat. Kdyby v té době (na začátku roku 2000) existovaly spolehlivě fungující monitorovací služby – možná by se HostTracker nikdy neobjevil. Proto musel napsat jednoduchý skript, který by kontroloval jeho velké množství webů. Skript se však potýkal se stejnými problémy, které byly zmíněny na začátku tohoto odstavce. Čas od času se stalo, že skript nefungoval vůbec nebo nefungoval správně.

Proto jsme museli skript trochu optimalizovat a učinit jej spolehlivějším a také jej pomocí duplikace a distribuce rozeslat na několik počítačů. Po řadě optimalizací nás napadlo, že by mohl být užitečný i pro někoho jiného, a HostTracker jsme zveřejnili. S příchodem řady klientů – jsme se rozhodli zpeněžit toto úsilí. Jak vidíte, naše služba se objevila jako řešení osobních problémů, ale v průběhu vývoje se stala dostupnou i ostatním, aby jim pomohla řešit stejné problémy, kterým jsme svého času čelili my.

Monitorování: hlavní body

Tato část přehledu obsahuje informace o nejoblíbenější funkci - pravidelné kontrole webu nebo jiného subjektu dostupného ze sítě pro okamžitou identifikaci vznikajících problémů. Tyto kontroly lze provádět na různých protokolech: http (s), icmp (alias Ping), port (kontrola libovolného portu přes TCP) atd. Stojí za zmínku, že existují různé přístupy k monitorování. Existuje interní monitorování - kdy je stav webu odhadován softwarem umístěným na stejném serveru. Orientačně řečeno, mohou zde být zahrnuty takové nástroje, jako je Google Analytics– zabudovaný skript stránky odesílá informace o zákaznících, kteří na stránku vstoupili, a může vyvozovat nepřímé závěry o výkonnosti stránky. Druhý typ monitorování - externí, neboli, jak říkají právníci, "monitorování třetí stranou." Je ztělesněn v simulaci přihlašování skutečných uživatelů se skutečnými adresami na stránky a vyvozování závěrů na základě skutečných odpovědí serveru na zaslané požadavky. O této metodě budeme dále hovořit v recenzi.

Infrastruktura aneb jak to funguje

Pro snazší pochopení lze infrastrukturu rozdělit na dvě části: "interní" a "externí". “interní” je umístěna v cloudu a skládá se z výpočetních serverů, databází, souborových serverů atd. Všechny tyto komponenty patří společnosti HostTracker a jsou provozovány přímo zaměstnanci společnosti HostTracker. Komponenta “externí” - uzly nebo agenti, kteří jsou umístěni po celém světě a slouží jako nezávislí kontroloři serverů, podobně jako "Tajní zákazníci" v obchodech. Testují stránky a další subjekty tím, že vytvářejí standardní požadavky na kontrolní protokol. Pokud se jedná o test webových stránek, pak se jedná o běžné požadavky http a mezi těmito požadavky a požadavky skutečných návštěvníků nebude žádný rozdíl.

Tyto servery jsou zcela nezávislé na sobě navzájem i na vnitřní struktuře systému. Vše, co dělají – přijímají seznam webů ke kontrole z centrálního serveru a předávají mu zpět výsledky kontroly. Některé z těchto serverů si pronajímá společnost HostTracker, zatímco většina z nich patří partnerům. Tito partneři je poskytují zdarma nebo s výraznou slevou výměnou za zpětné odkazy nebo slevy na naše služby, případně jen z důvodu přátelského vztahu.

Tento druh přidělování infrastruktury je výsledkem algoritmu sledování výkonnosti služeb.

Algoritmus výkonu služby

Pravidelné kontroly se provádějí kvůli předem definovanému intervalu klienta’od jedné minuty. Pokud jde o testování, server odešle úlohu jednomu náhodně vybranému agentovi – součásti externí sítě HostTracker. Ten provádí kontroly podle daného protokolu a odesílá zpět odpověď kontrolujícího serveru. Tyto výsledky se zpracovávají na “externí” straně. Pokud se stane, že je odpověď kladná - nic se neděje, pouze o tom vznikne záznam v databázi (je k dispozici klientovi ve formě protokolu kontrol). Pokud byla zaznamenána chyba, jsou okamžitě vytvořeny úlohy k ověření, opět této stránky jinými náhodně vybranými servery z obecné sítě. Poté se analyzují odpovědi ze všech těchto serverů.

Pokud chyba nebyla’potvrzena většinou serverů - zůstává v protokolu a není důvod k obavám. Zřejmě se může stát cokoli: zpoždění sítě, přetížení požadavky a vůbec. Pokud většina nebo všichni agenti chybu potvrdí - pak se předpokládá, že došlo k potížím a je zde vážný problém – pravděpodobně se v té době mnoho lidí nemůže’dostat na web. Navíc téměř všechny komerční weby v této situaci utrpí velkou ztrátu peněz.

Zpracování chyb a upozorňování klientů

Podle nastavení se po zjištění problémů může také stát mnoho různých věcí. Počáteční diagnostika problému se provádí najednou. Pokud dojde k nějaké chybě, zaznamená se kód této chyby, v opačném případě se zaznamená odpověď protokolu. Tyto údaje lze použít pro zjištění příčin chyby, například selhání sítě, selhání serveru atd. V první řadě má však klient zájem dozvědět se o problému. Pokud tedy chcete být kdykoli informováni o případných chybách, měli byste zaregistrovat své telefonní číslo, e-mail nebo jiný komunikační kanál, abyste mohli dostávat oznámení z nástroje HostTracker.

Tato oznámení mohou být zasílána různým osobám, s různými kontakty a kdykoli. Skutečně se zde nabízí mnoho zajímavých funkcí. Zprávu lze odeslat okamžitě, což se děje nejčastěji. I když to’ke spokojenosti konkrétního zákazníka nestačí. Za prvé, "nedůležité" stránky existují a bylo by nevhodné budit správce kvůli krátkodobému výpadku. Zadruhé, existují "důležité" stránky, které by neměly" být obtěžovány kvůli různým nepodstatným problémům. Proto HostTracker nabízí funkci eskalace výstrah. Stejně tak by HostTracker po určité době pádu webu zaslal upozornění na konkrétní adresu, pokud by se web sám nezotavil.

Mimo to můžete pro každou smlouvu vytvořit "pracovní plán" - nastavit časový interval, během kterého je možné odesílat upozornění. HostTracker by tak’tuto osobu nerušil v jinou dobu. To bývá pro některé zákazníky velmi užitečné. Tato konfigurace například odešle upozornění konkrétní osobě mezi 8:00 a 19:00 hodinou v případě, že web byl “vypnut” po dobu jedné nebo více hodin:

V dalších přehledech popíšeme celou řadu dalších funkcí služby. Najdete zde také všechny historie jejich vzniku a vývoje, příklady jejich použití a další věci z vlastních zkušeností. Za zmínku stojí, že jednou z hlavních výhod služby je orientace na klienty. Mnoho funkcí služby bylo vymyšleno na základě požadavků klientů, přátel a partnerů, které jim umožňují řešit jejich specifické technické problémy, jejichž řešení by si samo o sobě vyžádalo mnohem více prostředků. Proto se těšíme na vaše ohlasy a návrhy!


O autorovi

Oleksii Shashenko
Ředitel pro komunikaci a technologie společnosti HostTracker. Alex je součástí týmu od počátků společnosti. Jeho práce se zaměřuje na business reporting, analýzu databázových statistik a správu systému. Alex se také stará o komunikaci s vývojovým týmem a
Loading...