vpsAdmin a status.vpsf.cz poskytují metriky ve formátu pro monitorovací systém Prometheus. O původním návrhu už jsem tady psal, výsledné metriky se trochu liší, takže spíš koukejte na aktuální stav ve vpsAdminu.
Metriky
Funguje to tak, že nejprve si ve vpsAdminu v Edit profile → Metrics access tokens vytvoříte nový přístupový token. vpsAdmin vám ukáže scrape URL, kterou přidáte do konfigurace Prometheuse, úplně stejně jako tam nejspíš máte node_exporter. Danou URL si můžete otevřít i v prohlížeči nebo v terminálu a podívat se, jaké metriky jsou k dispozici.
Najdete tam třeba informace o využití CPU, zabrané paměti a disku, load average, přenosy dat, počty zásahů OOM killera, ale taky třeba datum do kdy máte zaplacené členství. Jsou tam i statusy jednotlivých nodů a výpadky/odstávky. Statusy VPS se ve vpsAdminu aktualizují co dvě minuty, takže moc nemá cenu metriky stahovat častěji.
Pomocí Prometheuse můžete jednotlivé hodnoty sledovat v čase, popř. si vytvořit vlastní pravidla a zasílat si upozornění přes alertmanager. Export metrik ve formátu pro Prometheus jsme zvolili zejména proto, že jej sami používáme na monitorování naší infrastruktury. S jinými systémy zkušenost nemám, ale třeba v Zabbixu to prý taky jde použít.
Metriky najdete i na https://status.vpsf.cz, odkaz je v patičce.
Heatmapy
Na titulní stránce vpsAdminu se můžete podívat na zatížení jednotlivých nodů v reálném čase. V seznamu nodů klikněte na ikonku heatmapy vpravo:
Otevře se vám okno s aktuální zatížením CPU a disků:
Jednotlivé sloupce zobrazují zleva CPU user, system, idle pro jednotlivé CPU a I/O disků. Každý řádek je jeden moment v čase pro všechny CPU a disky. Barvy jsou v rozsahu černá (zatížení 0 %) a bílá (zatížení 100 %). Bílá ve sloupcích user/system znamená plné vytížení, ve sloupci idle to ale naopak znamená, že má dané CPU volno. Okno zavřete buď kliknutím na Close vpravo nahoře, případně klikem kdekoli mimo okno.
Vykreslování heatmapy v prohlížeči je poměrně náročné na výkon CPU. Aplikace se to snaží detekovat a postupně upraví velikost heatmapy tak, aby fungovala plynule, tj. zkrátí se délka historie. Na větších nodech se 128/256 CPU se tedy může stát, že jako já uvidíte jen ~200px vysoký pruh, rychleji to holt nefunguje
Klikem do heatmapy se vykreslování pozastaví a shora se vypíšou popisky jednotlivých CPU a disků. Opětovným klikem se vykreslování zase spustí. Odkaz s názvem nodu v titulku okna otevře heatmapu přes celou obrazovku.
Když se vám tedy nebude něco zdát na výkonu VPS, můžete se rychle podívat, jak to na vašem nodu vypadá právě teď. Kdo si např. všimnete zvyšeného zatížení co 15s, tak to je synchronizace ZFS transakce (txg) na disky.
Koho by to zaujalo, zdrojové kódy najdete na GitHubu. Je to aplikace napsaná v Go, která ve výchozím stavu na portu 8080 pustí web server s heatmapou pro daný systém.