🟢 Beginner

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.