$ cat projekty/hud.md

hud — serwerownia na pasku zadań

┌─[ status: live ]─[ typ: monitoring ]─[ zależności: 0 ]─[ panel admina otwierany: znacznie rzadziej ]─┐

hud — mały widget, który siedzi w rogu pulpitu i pokazuje na żywo, co właśnie robi domowy serwer i stacja GPU: procesor, RAM, temperatury, dyski, sieć. Powstał z czystego lenistwa — miałem dość otwierania panelu admina za każdym razem, gdy chciałem tylko sprawdzić, czy któryś dysk się nie gotuje.

jeden rzut oka zamiast trzech kliknięć i logowania. najlepszy dashboard to ten, którego nie trzeba otwierać.

Co pokazuje

  • Serwer (NAS): obciążenie i temperatura procesora, RAM, zapełnienie macierzy, a do tego temperatura i prędkość każdego dysku z osobna — łącznie z informacją, który właśnie śpi.
  • Stacja GPU: procesor, RAM i obie karty graficzne — temperatura, obciążenie, zajętość pamięci.
  • Stan na żywo: online / offline. A jak stacja śpi — jeden przycisk ją budzi, drugi usypia z powrotem.

Stack

Po stronie serwera siedzi malutki agent w czystym Pythonie (zero zależności), który zbiera metryki i wystawia je jako JSON. Sekrety zostają na serwerze — widget nie wie nic, czego nie musi. Sam widget to lekkie okno na Windows (tkinter), które odpytuje agenta po prywatnej sieci. Budzenie i usypianie stacji GPU leci przez Wake-on-LAN.

Drobiazgi, które robią różnicę

  • Zawsze na wierzchu, ale przepuszcza kliknięcia — nie zasłania niczego, nie kradnie focusu, nie miga przy odświeżaniu.
  • Ikona w zasobniku do schowania, trzyma się monitora, na którym go zostawisz.
  • Przenośny: jeden plik .exe + config, więc ląduje na kolejnej maszynie w minutę.

// PS: tak, mógłbym użyć gotowej Grafany. ale wtedy musiałbym utrzymywać Grafanę.

Dodaj komentarz

// markdown w komentarzach: tak.