Proč sledovat web? Jednoduše proto, že web, který neběží, nevydělává a neplní jiný svůj případný účel. Dlouhé roky používám službu Uptimerobot, chvíli jsem si hrál s hostovaným projektem PHP Server Monitor. Vyzkoušel jsem i Statusdroid. Každé z těch řešení má nějaké plus.
Ale nedávno jsem narazil na aplikaci Statping napsanou v jazyce Go. Už mám s řešeními na této platformě kladné zkušenosti, konkrétně používám GIT repozitář Gogs a jeho fork Gitea. Je to vždy lehké, rychlé řešení a obvykle s pěkným rozhraním. Statping není výjimkou.
Instalace Statping
Aplikace je napsána v jazyce Go, takže ji stačí překompilovat a spustit ve vašem systému. Já jsem využil oficiální Docker image postavený na Alpine Linuxu. Složku /app mám mapovanou na hostitelský systém kvůli případným upgradům aplikace. Jsou v ní konfigurace a také SQLite databáze s daty.
Pokud dáváte přednost klasickým databázím, pak si při instalaci Statping zvolíte mezi MySQL a Postgresem. Instalace proběhne včetně ukázkových měření služeb Google a GitHubu. Ty stačí v nastavení smazat a můžete začít plnit vlastní.
Po instalaci, a to i opakované, se mi Statping zadrhl s točícím se kolečkem. Nevadí. Stačí přejít na adresu /login, zadat přihlašovací údaje zvolené při administraci a můžete Statping začít používat.
Mimochodem, uživatelských účtů lze mít samozřejmě více. Zároveň odlišujete, kdo bude administrátorem aplikace a kdo bude moci jen koukat.
Přehled služeb
Jednotlivé weby se zadávají na stránce Services. Nejprve doporučuji vytvořit skupiny. V mém případě jsou to například „Moje weby“ a „Weby klientů“. Každý web, který chcete sledovat, pak zařazujete do některé ze skupin, které pak jsou graficky odděleny v jednotlivých přehledech.
Důvod, proč se tato část jmenuje Services a ne Websites, je prostý. Statping vám totiž nesleduje pouze HTTP s metodou GET, tedy běžné načtení webu. Lze s ní sledovat i komunikaci na TCP, UDP, gRPC a ICMP ping. U webů navíc volíte mezi metodami GET, POST, DELETE, PATCH a PUT.
Jsou tu různé vychytávky:
- url adresa monitorovací podstránky pro danou službu
- veřejné zobrazení monitoringu nebo jeho ukrytí jen pro přihlášené uživatele
- interval kontroly
- timeout požadavku
- http hlavičky a očekávaná odezva v podobě HTTP kódu a regexu stavové odpovědi
- kontrola SSL certifikátu, což mimochodem neuměl zmíněný PHP Server Monitor
- použití TLS certifikátu
- notifikace s nastavením maximálního počtu opakovaní
Na tak jednoduchou aplikaci to myslím není vůbec špatné.
Nástěnka a detaily měření dostupnosti webů
Výsledky měření vám Statping zobrazuje hned v několika podobách a na několika místech. Výchozí je uvítací stránka aplikace. Zobrazuje čárky pro posledních devadesát dní a červeně na nich zobrazí, pokud měla daná služba v tu dobu jakýkoli výpadek. Rovněž uvidíte, jak je na tom v danou chvíli.
Trošku mi vadí, že červeně se označí i případ, kdy web neodpovídal dostatečně rychle. Na druhou stranu, od toho je možnost upravit timeout odpovědi a pokud web reaguje pomalu, je třeba to nějak řešit.
Pod přehledem dlouhodobé statistiky uvidíte grafy s vývojem rychlosti odezvy. Každou službu lze rozkliknout do detailu na její samostatnou stránku, kde uvidíte historicky naměřenou latenci a zaznamenané výpadky.
Administrační stránka Dashboard zase zobrazuje aktuální stav všech sledovaných služeb ve formě dlaždic s naměřenou odezvou. Další rychlý přehled podobný tomu z titulní strany najdete na stránce Services.
Široké možnosti upozornění na výpadky webu
Silnou stránkou Statping jsou možnosti upozorňování, které kromě klasického mailování zahrnují Slack, Discord, Telegram, Twilio a další komunikátory, zavolání Webhooku a také notifikaci do aplikace v mobilním telefonu. Tu stačí s webovým rozhraním spárovat pomocí QR kódu.
Další postřehy
Statping obsahuje rovněž RESTFUL API, takže měření služeb do něj můžete ládovat i vzdáleně, stejně tak z něj načtete zjištěné údaje. Zatím jsem nenašel nic, co by mi zde vyloženě chybělo. Snad jen spárování jednotlivých služeb nebo skupin s uživatelskými účty. Statping by pak byl výrazně univerzálnější. Zkuste a uvidíte sami.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.
Uz mrtvy projekt, treba sledovat jeho klon statping-ng kde je zaujem pokracovat vo vyvoji