Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

Monitoring Vašeho serveru

Modul 8: Zálohy a monitoring · Doba čtení: 10 min.

Cíl lekce: Po této lekci budete umět určit, co na svém serveru hlídáte (zvenku i zevnitř), jaké prahy dávají smysl a jak zajistit, aby Vás upozornění opravdu zastihlo, aniž byste se v upozorněních utopili.

Klíčové pojmy: monitoring zvenku, monitoring zevnitř, uptime, kontrola http, kontrola portu, vypršení certifikátu, místo na disku, paměť, load, heartbeat (dead man's switch), práh, kanál pro upozornění, únava z upozornění, grafy poskytovatele

Proč monitorovat?

Bez monitoringu se o problémech dozvíte od svých zákazníků, nebo vůbec. Web, který od soboty nefunguje, certifikát, který vypršel, disk, který se zaplnil, záloha, která už tři týdny potichu selhává: to vše jste mohli včas zachytit. Monitoring znamená, že program nepřetržitě sleduje stav a upozorní Vás, když něco nesedí.

Dobrý monitoring odpovídá na dvě otázky:

  1. Funguje to pro uživatele? To měříte zvenku.
  2. Pokazí se brzy něco? To měříte zevnitř: disk, paměť, aktualizace, zálohy.

Zvenku: co vidí uživatel

Monitoring zvenku běží na jiném stroji než Váš server, nejlépe u jiného poskytovatele. Je to logické: když Váš server nefunguje, sám už upozornit nemůže.

KontrolaCo děláProč
http(s)každou minutu načte stránku a zkontroluje stavový kód (200), případně slovo na stránceweb opravdu funguje, nejen server
portnaváže spojení například na port 22 nebo 443služba naslouchá a je dostupná
pingpošle paket ICMPserver žije (o Vašem webu ale nic neříká)
certifikátpřečte certifikát a datum vypršeníupozorní s dostatečným předstihem před vypršením
DNSdotáže se na záznam Anázev stále ukazuje na správný server

Certifikát si zaslouží zvláštní pozornost. Certifikáty Let's Encrypt mají krátkou platnost a obnovují se automaticky (lekce 7.3), ale pokud obnova potichu selže, zjistíte to až ve chvíli, kdy návštěvníci uvidí varování. Let's Encrypt od června 2025 už neposílá připomínkové e-maily o končících certifikátech a sám doporučuje monitoring. Kontrola certifikátu, která upozorní při platnosti kratší než 14 dní, tedy není žádný luxus.

Běžným programem, se kterým to zvládnete sami, je Uptime Kuma, který v lekci 9.4 nainstalujete do kontejneru. Neinstalujte ho pokud možno na stejný server, který má hlídat, nebo ho zkombinujte s druhou, externí kontrolou. Existují také služby třetích stran, které dělají totéž; vyberte si takovou, která Vám vyhovuje, a pokud se v upozorněních mohou objevit údaje Vašich zákazníků, dbejte na to, kde tato služba sídlí.

Zevnitř: co se brzy pokazí

Některé problémy zvenku uvidíte, až když je pozdě. Ty měříte přímo na serveru:

CoJak to zjistíteRozumný práh
Místo na diskudf -hvarování nad 80 %, poplach nad 90 %
Inody (počet souborů)df -itotéž; disk může být "plný" miliony malých souborů
Paměťfree -h, hlášení "Out of memory" v journalctl -kkaždé hlášení OOM je signál
Loaduptime, topdlouhodobě vyšší než počet vCPU
Selhané službysystemctl --failed (lekce 6.1)každá selhaná služba
Aktualizace a restart/var/run/reboot-required, apt list --upgradable (lekce 4.2)bezpečnostní aktualizace starší než dva dny
Zálohykonec Vašeho zálohovacího skriptu (lekce 8.2)každý selhaný nebo vynechaný běh

Můžete to řešit jednoduchým skriptem a časovačem (lekce 6.3), který při překročení prahu pošle upozornění, nebo monitorovacím programem s agentem na serveru (známými open-source příklady jsou Netdata a kombinace Prometheus s node_exporter). Začněte v malém: disk, selhané služby a zálohy zachytí většinu problémů.

Grafy v panelu Vašeho poskytovatele (procesor, paměť, síť, disk za období od jednoho dne po rok) jsou výborným doplňkem pro sledování trendů: pokud Váš disk každý měsíc naroste o několik procent, víte, kdy se zaplní. U WebOké je najdete na obrazovce VPS, u jiných poskytovatelů podobně. Obvykle ale neposílají upozornění, takže monitoring nenahrazují.

Heartbeat: upozornění, když se nic nestane

Některé věci je naopak potřeba hlídat podle toho, že signál nepřijde. Nejlepším příkladem je dnešní noční záloha: když se skript vůbec nespustí (vypnutý časovač, vypnutý server, rozbitý skript), nepřijde ani chybová zpráva.

Řešení se jmenuje heartbeat neboli dead man's switch: Váš monitoring každý den očekává signál. Zálohovací skript na konci, a jen pokud vše proběhlo úspěšně, pošle malý http požadavek na pevnou, tajnou URL Vašeho monitoringu:

restic backup ... && restic check && curl -fsS -m 10 https://status.example.com/api/push/Xyz123abc?status=up >/dev/null

Pokud signál jeden den nepřijde, dostanete upozornění. Uptime Kuma má pro tento účel typ monitoru Push; existují i programy, které můžete hostovat sami, například Healthchecks. Jediným řádkem tak ohlídáte, zda Vaše záloha opravdu proběhla.

Upozornění, která dorazí, a ne příliš mnoho

Upozornění, které nikdo nečte, není monitoring. Zajistěte tři věci:

  1. Kanál pro upozornění, který opravdu sledujete: push notifikaci v telefonu, chatovací kanál, SMS. E-mail je možný, ale jen pokud Váš server umí spolehlivě odesílat poštu, a e-mail se snadno přehlédne. Pro nejdůležitější upozornění používejte dva kanály.
  2. Nezávislost na tom, co hlídáte. Pokud e-mail o plném disku posílá samotný server, nedorazí, když je disk plný. To zachytí monitoring zvenku a heartbeat.
  3. Málo, ale oprávněně. Pokud každý den dostáváte deset upozornění, se kterými nic neděláte, začnete je ignorovat, i to jedno, na kterém záleží. Tomu se říká únava z upozornění. Nastavte prahy tak, aby upozornění znamenalo: musíte něco udělat. Nechte upozornění spustit až po několika neúspěšných kontrolách za sebou (například třikrát), aby Vás jeden ztracený paket nevzbudil.

Svá upozornění otestujte: na chvíli vypněte službu a sledujte, zda upozornění přijde a jak dlouho to trvalo.

Čemu se vyhnout

  • Monitorovací stránky přístupné všem s interními názvy a adresami. Veřejná stavová stránka je v pořádku, ale ukazujte na ní jen to, co návštěvníci smějí vědět.
  • Správcovský účet monitoringu bez silného hesla a 2FA. Kdo se dostane do Vašeho monitoringu, může upozornění vypnout.
  • Agenti s většími oprávněními, než je nutné. Monitorovací agent obvykle nemusí běžet jako root.

Shrnutí

  • Zvenku, z jiného stroje, hlídejte, zda vše funguje (http, port, certifikát, DNS), a zevnitř, zda se brzy něco nepokazí (disk, paměť, služby, aktualizace, zálohy).
  • Certifikáty si zaslouží vlastní kontrolu: Let's Encrypt od června 2025 už neposílá připomínkové e-maily.
  • Heartbeat upozorní, když signál nepřijde; ideální pro zálohy a plánované úlohy.
  • Zvolte kanál pro upozornění, který opravdu sledujete, nezávislý na samotném serveru, a nastavte prahy tak, aby každé upozornění vyžadovalo akci.
  • Grafy Vašeho poskytovatele ukazují trendy, ale obvykle neposílají upozornění.

Kvíz

1. Proč běží monitoring zvenku na jiném stroji než samotný server?



2. Váš zálohovací skript při chybě posílá e-mail. Tři týdny žádný e-mail nepřišel, ale nevznikla ani žádná záloha. Co by to zachytilo?



3. Váš monitoring každý den posílá desítky upozornění na krátkodobé špičky. Jaké je riziko?



4. Která kontrola nejlépe včas upozorní na certifikát, který se automaticky neobnovil?



5. df -h ukazuje 45 % volného místa, ale Váš server už nemůže vytvářet nové soubory. Co zkontrolujete?



Úkol

Úkol O8.3: Váš seznam pro monitoring. Sestavte pro svůj server seznam pro monitoring: které kontroly zvenku (s jakým intervalem a odkud), které zevnitř (s prahy), jaký heartbeat (případně jaké) a jakým kanálem budou upozornění přicházet. Nastavte alespoň jednu externí kontrolu http nebo certifikátu a jeden heartbeat (například pro Vaši zálohu) a upozornění otestujte tak, že na chvíli vypnete službu. Poznamenejte si, jak dlouho trvalo, než upozornění přišlo.

Úkol O8.3: Váš seznam pro monitoring

Tento úkol provádíte sami; nikdo ho nekontroluje. Odškrtněte, co jste udělali, a označte úkol jako splněný.




Vaše zaškrtnutí a poznámky zůstávají pouze v tomto prohlížeči; nikam je neposíláme. Pokud jste přihlášeni, ukládáme v sekci Moje kurzy pouze to, že jste úkol splnili.

Doporučujeme k přečtení

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…