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

01

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.

02

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.

03

Expected status

Výchozí `200` je rozumný základ, ale správný status závisí na tom, co váš endpoint skutečně vrací.

04

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.
Související článek

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í

DNS lookup
dig app.example.com

Pomůže ověřit, že doména vrací očekávané A nebo AAAA záznamy.

HTTPS response
curl -I https://app.example.com/health

Rychlý způsob, jak zkontrolovat status code a základní odpověď endpointu.

Obsah stránky
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.