Uptime Monitoring — Dostupnosť a SLA
Uptime monitoring je sledovanie dostupnosti služieb z pohľadu používateľa. Nezáleží, či váš server beží — dôležité je, či zákazník dokáže službu používať. Healthchecky, SLO/SLA a status pages sú základné nástroje.
Čo je Uptime Monitoring?
Uptime monitoring pravidelne kontroluje, či sú vaše služby dostupné a funkčné. Na rozdiel od infraštruktúrneho monitoringu (CPU, RAM) sa zameriava na používateľskú perspektívu — odpovie server? Je odozva prijateľná? Vracia správne dáta?
Typy kontrol:
- HTTP(S) checky — kontrola status kódu, response time a obsahu odpovede
- TCP/UDP checky — overenie, že port je otvorený
- DNS checky — rozlíšenie domény funguje správne
- Ping (ICMP) — základná kontrola dostupnosti
- Multi-step checky — simulácia celého používateľského flow (login → akcia → výsledok)
Ako funguje
Healthcheck endpoint v aplikácii:
app.get('/health', async (req, res) => {
const checks = {
database: await checkDB(),
redis: await checkRedis(),
storage: await checkS3()
};
const healthy = Object.values(checks).every(c => c.ok);
res.status(healthy ? 200 : 503).json({
status: healthy ? 'healthy' : 'degraded',
checks,
uptime: process.uptime()
});
});
SLO/SLA definície:
- SLA (Service Level Agreement) — zmluvný záväzok voči zákazníkovi (napr. 99.9% uptime)
- SLO (Service Level Objective) — interný cieľ, prísnejší ako SLA (napr. 99.95%)
- SLI (Service Level Indicator) — metrika, ktorá SLO meria (napr. % úspešných requestov)
Error budget: Ak máte SLO 99.9%, máte ~43 minút výpadku mesačne. Keď budget vyčerpáte, zastavíte deploymenty a riešite stabilitu.
Praktické použitie
Nástroje na uptime monitoring:
- UptimeRobot — jednoduchý a populárny, free tier pre 50 monitorov
- Pingdom — enterprise riešenie s RUM (Real User Monitoring)
- Uptime Kuma — self-hosted, open-source alternatíva
- Blackbox Exporter — Prometheus modul na externé probing
Status Pages komunikujú stav služieb zákazníkom:
- Statuspage.io (Atlassian) — hosted riešenie
- Cachet — open-source, self-hosted
- Uptime Kuma — má zabudovanú status page
- Automatická aktualizácia z monitoringu — incident sa objaví na stránke bez manuálneho zásahu
Monitoring z viacerých lokácií je dôležitý — služba môže byť nedostupná len z určitého regiónu. Testujte z EU, US, Ázie.
Best Practices
- Healthcheck endpoint v každej službe — nie len
/ale dedikovaný/health - Kontrolujte závislosti — databáza, cache, externé API
- Alerting na degradáciu, nie len na úplný výpadok
- SLO je prísnejšie ako SLA — nechajte si buffer
- Status page pre transparentnú komunikáciu so zákazníkmi
- Interval 30-60s pre bežné checky, 10s pre kritické služby
Uptime monitoring je most medzi technickým monitoringom a zákazníckym zážitkom.