← Zpět na všechny články blogu

Munin pro kvalitní monitoring serveru

David Janík
David Janík 12. 5. 2020 - 9 min. čtení
Blog

Dnes se podíváme na šikovný nástroj jménem Munin, který pomáhá s monitoringem serveru. Design je trochu zastaralý, ale data jsou důvěryhodná a to je nejdůležitější. V článku se dozvíte, jak Munin funguje, jak číst nejdůležitější grafy nebo jaké máme alternativy.

Co je Munin?

Munin je open source aplikace, která slouží k monitorování systémových prostředků přímo na serveru. Narozdíl od Sysinfo, zde naleznete dlouhodobější vývoj sledovaných hodnot. Pomůže vám ověřit správnou konfigurací serveru nebo vám pomůže detekovat pomalejší zapisování dat či velkou emailovou frontu.

Munin zobrazuje grafy, které hned prozradí, jak na tom server je. Pokud se na tyto grafy podíváte podrobněji, můžete predikovat i to, kdy prostředky serveru stačit už nebudou. Při pravidelné kontrole lze vyřešit nefunkční aplikace a podobné nepříjemnosti ještě před tím, než nastanou.

Je to skvělý pomocník, který pomůže i méně zkušeným uživatelům monitorovat jejich server a porovnávat výkonnost s předchozím obdobím. To se hodí, když se dělají změny v konfiguraci serveru, velká reklamní kampaň nebo při realeasu změn v aplikacích.

VPS Centrum

Vyzkoušejte zdarma naši aplikaci pro správu serveru a domén. Budete si připadat jako zkušený administrátor.

Jak to funguje?

Munin má dvě části. Jádro celé aplikace (master) a tzv. munin-nody. Master má za úkol katalogizovat a zobrazovat výsledky, které munin-nody pošlou do mastera. Nody pracují na jednotlivých serverech a starají se pouze o sběr dat a jejich přeposílání.

Výhoda takového způsobu monitoringu je, že vám stačí jedna instalace Muninu. Do něj můžete přidat veškeré servery, které máte ve správě. Nemusíte se tak přihlašovat do každé instance Muninu zvlášť.

Muninu můžete přidávat funkcionalitu nebo nové grafy pomocí pluginů. Ty si můžete vytvářet a modifikovat podle potřeby.

Munin se instaluje přímo na server. Instalace a konfigurace není nic těžkého pro mírně pokročilého uživatele. Stačí menší znalost SSH a vědět, kde hledat konfigurační soubory.

Munin a VPS Centrum

Ve Váš Hosting ale moc dobře víme, že se Munin bude hodit většině uživatelů. Proto je na naše virtuální servery s VPS Centrem instalujeme rovnou.

Munin naleznete na adrese: jméno serveru.vas-server.cz/munin. Přihlašovací jméno je vždy munin a heslo posíláme v instalačním protokolu při instalaci serveru. Pokud email nemůžete najít, tak nás kontaktujte a pošleme vám nový.

Freelo - Nástroj na řízení úkolů a projektů

Přidej se, pozvi svůj tým a klienty, rozděl práci a sleduj, jak se úkoly dají do pohybu.

Ze zkušenosti víme, které grafy klienti potřebují. Proto jsme Munin rozšířili i pluginy, které se o ně postarají. Mezi ně patří například monitoring RAM nebo dotazy do databáze. Máte tak veškeré grafy k dispozici ihned po objednání virtuálního serveru.

Veškeré konfigurační soubory najdete po připojení na SSH ve složce /etc/munin/*

Nejdůležitější grafy a jak je číst?

Teď si rozebereme jednotlivé grafy a co vlastně znamenají. První místo kam by měl směřovat váš zrak hned po přihlášení, je doleva nahoru na Problems

Rozkliknul jsem varování a dostal se hned na příslušné grafy. V tomto případě dochází serveru místo na disku.

Grafy disk

Nalevo je graf vývoje za poslední den a napravo za poslední týden. Disk usage (modrá) je nad 90%. Proto se dostal do varování. Vývoj za poslední týden nevykazuje nárůst. Abychom byli jistější, podívejme se na stejný server v měsíčním vývoji:

Při měsíčním pohledu tam už nárůst vidět je. Dole jsou vidět i konkrétní hodnoty. Nejméně (Min:) obsazený disk byl za poslední 4 týdny z 93,81. Teď (Cur:) je obsazený z 96,3%. To znamená 2,5 % za měsíc. Prostou úvahou jde dojít k hypotéze, že při současném vývoji budu mít za 6 týdnů problém. Stačí hodit úkol do Freela a za měsíc navýšit disk. 🙂

To dokážete i vlastními silami z našeho zákaznického centra pomocí naši nápovědy.

Aby byl výčet kompletní, přidávám obrázek stejného serveru a disku za poslední rok:

Náhlý pokles a nárůst dat na disku koncem roku 2018 ukazuje na změnu účelu serveru. Daleko zajímavější ale je, že nárůst dat je opravdu lineární po celý rok a vše nahrává potvrzení hypotézy, že za 6 týdnů místo dojde úplně.

RAM a SWAP

Další z důležitých grafů je pro operační paměť na serveru a SWAP. Doporučujeme náš detailní článek, jak funguje RAM na Linuxu. Do operační paměti si server nebo aplikace ukládá data. Pokud paměť dojde, tak nastoupí na řadu plán B. Server nebo aplikace začne využívat tzv. SWAP. To je místo na pevném disku, který je ale mnohem pomalejší než RAM.

Ideální stav je SWAP nevyužívat vůbec. To zajistíme pravidelnou kontrolou právě operační paměti pomocí Muninu. V levém sloupci najdeme kategorii memory

Uvidíme dva důležité grafy. Physical memory usage (RAM) a SWAP usage. V grafu pro RAM vidíte horní hodnotu 4.0G. To znamená, že můj virtuální server disponuje operační pamětí 4 GB a to je také horní hranice.

Na grafu RAM vidíte také více barev. Žlutá znamená, kolik paměti si bere cache. Tu si server vytváří a ukládá sám a po každém restartu se smaže. Rozebírali jsme v článku, jak funguje RAM na Linuxu. Pokud se žlutá barva přibližuje ke 100% hranici, tak se nic neděje. Jednoduše se přestane ukládat nová cache a procesy budou mít vždy větší prioritu, takže postupně bude žlutá barva klesat.

Žlutá je ale jediná barva, která když je nahoře, neukazuje na zpomalení serveru. Pokud stoupají i jiné hodnoty, je vhodné najít příčinu.

Změnila se konfigurace na serveru? Nový update aplikace? Rozbitý skript apod. Důvodů je bohužel dost a každý musí najít ten svůj. Určitě pomůže, když se podíváte, kdy se problém začal objevovat.

Graf SWAPU je velice jednoduchý. Graf by měl v ideálním případě vypadat jako ten náš  výše. Jakmile uvidíte zelenou barvu “Swap used”, tak serveru dochází RAM a musí ukládat data na pevný disk. 

Zkontrolujte, jestli to byl pouze ojedinělý případ a nebo se problém pravidelně opakuje. Pravděpodobně bude stačit navýšit RAM. To na našich virtuálních serverech zvládnete ze zákaznického centra manuálně.

Graf pro MySQL

Důležitá součást serveru je databáze. Bez ní by si aplikace nebo server nic nepamatoval. Proto je dobré se 1x za týden na grafy podívat a prověřit jestli je vše v pořádku.

Najdeme tam tyto grafy:

  • InnoDB free – Kontroluje volné místo. Ukáže varování pokud bude pod 2GB.

  • MySQL queries – ukazuje počet dotazů za sekundu

  • MySQL slow queries – ukazuje počet pomalých dotazů

  • MySQL threads – počet běžících vláken

  • MySQL throughput – přehled o přijatých a odeslaných bitech / za sekundu

Nejdůležitější jsou první tři. InnoDB nemusíte už brát v potaz pokud máte u nás servery s VPS Centrem. Automaticky vám pošle e-mail, že dochází místo a ze zákaznické administrace můžete disk samostatně navýšit.

MySQL queries nám dává reálný přehled, kolik dotazů databáze průměrně zpracovává. Na grafu vidíte data za den/týden/měsíc/rok. Můžete si tedy udělat reálnou představu, jak postupem času databázi zatěžuje. Důležité je mít dotazy dobře optimalizované. Na stejné databází může běžet 150 dotazů za vteřinu a další databáze nemusí zpracovávat ani 1 dotaz za vteřinu, pokud dotazy nejsou správně optimalizované.

Právě k tomu slouží graf Slow queries. Ten vám ukáže dotazy, které nesplňují limit nastavený v konfiguračním souboru pro MySQL. Na ročním grafu je vidět chvilkový kolaps, který jsem na serveru měl, protože byl přetížený. Je totožný s výkyvem v grafu výše, kde je vidět peak v počtu dotazů za sekundu na 80.

Graf Postfix

Poslední graf který si dneska představíme je pro poštovní server Postfix. Munin hlídá emailovou frontu, kterou většinou uvidíte jako vertikální čárku. V takovém případě je dobré zkontrolovat emailové logy a zjistit, jestli je provoz legitimní. Pokud ne, je nutné odhalit příčinu. Většinou se jedná o slabá hesla ke schránkám. 

Servery s VPS Centrem hlídají e-mailovou frontu za vás. Pokud nastane podobný výkyv jako na grafu, tak vám pošleme e-mail i se schránkou, která problém způsobuje.

Alternativy k Muninu

Na internetu najdete samozřejmě i mnoho jiných alternativ. Určitě i lepších. Ale většinu z nich pocítíte v peněženkách. Kolem Muninu je velká komunita, stejně jako u většiny open source projektů a vždy budou za stejnou cenu. Zdarma. Ty prémiové nástroje se hodí při hlídání větších a důležitějších infrastruktur než jeden virtuální server s blogem.

V našem článku, jak zrychlit web, server a databáze jsme monitoring rozebírali více do detailu. Kromě Muninu i Zabbix, který monitoruje celé infrastruktury, databáze, cloud a jednotlivé servery. Také jsme se podívali na Perconu, která se soustředí zase na databáze.

V článku o zrychlení najdete také dva placené konkurenty Muninu. New Relic, který stojí 5 tisíc měsíčně, ale za to dostanete moderní monitorovací nástroj, který podrobně monitoruje i PHP a databázi. Levnější řešení je Datadog za 15 USD / měsíc, který nemá tak pěkný design jako New Relic, ale s menšími omezením nabízí stejný monitoring.

Hlidam.to pro jednoduchý monitoring serveru

Jednoduchý a levný způsob, jak monitorovat svůj web nebo server. Jedná se samozřejmě o jednodušší monitoring, který hlavně hlídá:

  • Web – Jestli se web načítá a jak dlouho mu to trvá

  • Servery – Kontroluje jestli je server dostupný

  • E-maily – Pravidelně kontroluje, jestli funguje mailserver

Monitoring nastavíte na pár kliknutí a první 3 měsíce jsou zdarma. Nastavíte si notifikace na email nebo SMS a v případě problému budete první, kdo se o tom dozví. Do emailu dostanete i report s analýzou problému.

V dalším dílu se podrobněji podíváme, jak plugin nainstalovat nebo jak nakonfigurovat zasílání notifikací.

Zůstaňte s námi v kontaktu

Jednou za měsíc posíláme souhrn novinek. Nemusíte se bát, spam neposíláme a odhlásit se můžete kdykoliv...

Karel Dytrych
Tým Váš Hosting
Vyzkoušejte náš trial na týden zdarma

Garance 14denní záruky vrácení peněz

Vyzkoušejte server na týden zdarma

Vyzkoušet server