Mokan Monitor
Natívna aplikácia pre Windows v Ruste, ktorá naživo sleduje môj domáci server: procesor, pamäť, teploty, disk, sieť aj procesy.
- Typ
- Desktopová aplikácia
- Platformy
- Windows, Linuxový server
- Trvanie
- Pár dní
- Technológie
- Rust, egui, Node.js, Server-Sent Events, Debian
O projekte: Vlastný server pod dohľadom
Na starom notebooku mi doma beží server s Debianom, na ktorom žijú backendy mojich projektov vrátane Laterny. Mokan Monitor ho sleduje v reálnom čase priamo z pracovnej plochy vo Windowse.
Aplikácia je napísaná v Ruste s knižnicou egui, je to jeden 3,6 MB súbor .exe bez webového prehliadača vo vnútri. Dáta jej posiela malý agent v Node.js, ktorý na serveri číta systémové údaje každých 5 sekúnd.
Výzva
Nechcel som ďalší webový dashboard ani Electron, ale obyčajnú rýchlu aplikáciu. A agent na serveri nesmel sám zaťažovať stroj, ktorý má sledovať.
Riešenie
Agent nemá žiadne npm závislosti, číta priamo /proc a /sys a posiela snímky cez Server-Sent Events. Jeho pamäť som stiahol zo 149 na 88 MB a z výpisu procesov automaticky skrýva heslá a tokeny.
Čo vie
- Natívne v Ruste
Jeden súbor .exe, žiadny prehliadač ani Electron - Živé dáta
Procesor, pamäť, teploty, disk, sieť a procesy každých 5 sekúnd - Ľahký agent
Node.js bez závislostí, číta priamo /proc a /sys - Bezpečne
Tokeny a heslá z výpisu procesov sa skryjú
Výsledok
Výsledkom je okno, ktoré ukáže stav servera na jeden pohľad, s farebnými prahmi pre záťaž a teploty.
Všetky nastavenia, od intervalu po prahy, sa menia priamo v aplikácii bez zásahu do kódu. Interval sa pošle agentovi a platí hneď.
Ako vznikal
- Server
Debian, pm2, firewall, SSH len s kľúčom a Cloudflare tunel. - Agent
Zber metrík zo systému a stream cez Server-Sent Events. - Aplikácia
Rozhranie v Ruste a egui s grafmi a zoznamami procesov. - Doladenie
Nastavenia v aplikácii, úspora pamäte a skrývanie tajných údajov.
Máte podobný nápad?
Napíšte mi pár viet a do 24 hodín sa ozvem.
Napíšte mi · mokansro@gmail.com · +421 902 554 927
Ďalší projekt: ParentsHub