Komplexní monitoring webové aplikace: best practices
U webové aplikace obvykle nestačí jeden check. Web může vracet `200 OK`, ale mít rozbitý DNS záznam, špatný certifikát, maintenance page místo skutečného obsahu nebo problém jen v části uživatelských cest. Smysluplný monitoring proto kombinuje více typů kontrol a ověřuje nejen to, že server odpověděl, ale i to, že aplikace opravdu funguje tak, jak má.
Jak o monitoringu webové aplikace přemýšlet
Webová aplikace není jedna vrstva. Je to kombinace DNS, síťové dostupnosti, TLS, HTTP odpovědi a často i konkrétního obsahu nebo chování stránky. Pokud monitorujete jen jednu část, získáte jen úzký výsek reality.
Dobře navržený monitoring proto kombinuje více signálů. U veřejného webu to obvykle znamená ověřit, že doména správně resolvuje, že HTTPS odpovídá očekávaným stavem a že se vrací i správný obsah, ne jen technicky zelená odpověď.
Co chcete u webové aplikace zachytit
Doména se přestala překládat správně
DNS check odhalí, že hostname už nevrací očekávanou IP nebo se nerozkládá vůbec.
Host je dosažitelný, ale webserver neposlouchá
Základní port check pomůže odlišit problém s dostupností služby od problému na vyšší aplikační vrstvě.
HTTPS vrací chybný obsah
Stránka může mít status 200 a přesto být obsahově špatně. Tady pomůže `body_match`.
Certifikát se blíží expiraci
HTTPS check v nsmonu umí označit fail i ve chvíli, kdy certifikát expiruje do 7 dnů.
Doporučená skladba checků pro web
DNS check
Začněte ověřením, že se doména správně resolvuje. Pokud je pro vás důležité hlídat konkrétní IP, má smysl kontrolovat i očekávaný cíl.
HTTPS check se správnou cestou
Nepoužívejte automaticky jen homepage. Často dává větší smysl health endpoint nebo stránka, která lépe reprezentuje skutečnou dostupnost aplikace.
Expected status
Výchozí `200` je rozumný základ, ale správný status závisí na tom, co váš endpoint skutečně vrací.
Body match
Pokud chcete ověřit i skutečnou funkčnost stránky, přidejte stabilní marker, který musí být v odpovědi přítomen.
Jak si monitoring webu poskládat prakticky
Rozumný monitoring webové aplikace často kombinuje několik pohledů na stejnou službu:
Doména app.example.com Kontrola 1 DNS překlad Kontrola 2 HTTPS /health -> 200 Kontrola 3 Homepage obsahuje očekávaný marker Kontrola 4 Port 443 je dosažitelný
DNS zachytí špatný překlad
Když doména ukazuje na jinou IP nebo se nerozkládá vůbec, poznáte to dřív než přes samotný web check.
TCP ověří základní listener
Hodí se pro odlišení dostupného portu od problému v TLS nebo HTTP vrstvě.
HTTPS health endpoint ověří službu
Health endpoint bývá technicky čistší a stabilnější signál než homepage.
Body match ověří správný obsah
Pomáhá odhalit maintenance page, chybový fallback nebo jinou falešně zelenou odpověď.
Proč samotný status code často nestačí
Aplikace může vracet `200 OK` a přesto být z pohledu uživatele rozbitá. Typicky jde o maintenance page, chybný frontend fallback nebo jiný obsah, než očekáváte.
Právě proto je `body_match` tak užitečný. Neříká jen, že server odpověděl, ale i to, že odpověděl něčím smysluplným.
Jednoduchý web check vs komplexní monitoring
| Téma | Jednoduchý check | Komplexní monitoring |
|---|---|---|
| Co ověřuje | Jednu vrstvu, typicky jen HTTP odpověď. | DNS, HTTPS, obsah stránky a další důležité vrstvy. |
| Riziko | Snadno přehlédne maintenance page nebo špatný DNS. | Lépe oddělí, jestli je problém v DNS, síti, TLS nebo obsahu. |
| Hodnota pro troubleshooting | Nižší, protože neukazuje, kde problém vzniká. | Vyšší, protože různé checky dávají různé signály. |
Chcete detailněji rozumět tomu, co dělá HTTP a HTTPS check?
Samostatný článek o HTTP/HTTPS monitoringu rozebírá status kódy, body match a proč `200 OK` nemusí znamenat zdravou aplikaci.
Přečíst článek o HTTP/HTTPS monitoringu →Typické scénáře
DNS je rozbitý, ale IP přímo funguje
Samotný webserver může běžet, ale uživatelé se přes doménu nedostanou. Proto je DNS check důležitý.
Port 443 je otevřený, ale certifikát expiruje
Základní port check vypadá zdravě, zatímco HTTPS kontrola správně odhalí problém na TLS vrstvě.
Homepage vrací 200, ale místo appky je maintenance page
Status code problém neodhalí, ale `body_match` ano.
Health endpoint je zelený, ale homepage je rozbitá
Proto má smysl kombinovat technický health endpoint a jeden user-facing content check.
Důležitá omezení
- ● Pokud máte frontend, API a admin na různých doménách nebo subdoménách, dává smysl monitorovat je odděleně.
- ● Špatně zvolený `body_match` může vytvářet false positives i false negatives.
- ● Port check neprokazuje zdravou aplikaci, jen dostupný listener.
- ● Ping nemusí být u veřejných webů vždy rozhodující, protože některé hosty ICMP blokují a přesto fungují.
Ruční kontroly, které lidé často používají
dig app.example.com Pomůže ověřit, že doména vrací očekávané A nebo AAAA záznamy.
curl -I https://app.example.com/health Rychlý způsob, jak zkontrolovat status code a základní odpověď endpointu.
curl -s https://app.example.com/ | grep "Welcome to Example" Ruční obdoba body match validace.
Časté dotazy
Webová aplikace je zdravá teprve tehdy, když fungují všechny důležité vrstvy.
nsmon vám umožní kombinovat DNS, HTTPS, obsahové kontroly i další signály do jednoho monitoringu, který lépe odpovídá reálnému chování vaší webové aplikace. Vytvořte si účet zdarma a nastavte monitoring tak, aby odhalil nejen výpadky, ale i falešně zelené stavy.