No i stało się, postawiłem Zabbixa do monitoringu homelab..ów. Tak, kilku homelabów, bo dzielę instancję Zabbixa z dwoma kolegami, co pozwala na podział kosztów. Postaram się niedługo przygotować na ten temat artykuł na bloga, ale mogę dać krótkie tl;dr.
Początki Zabbixa w domu
Już wcześniej uznałem, że postawienie na Zabbixa to może być dobry pomysł, jedynie co, to byłem ciekawy jak inni go hostują. Niestety, te deploymenty, o których się dowiedziałem, nie były dla mnie ciekawe, dlatego też postanowiłem przetestować własny, najpierw u siebie w domu.
Dlatego też utworzyłem dwie VM z Debianem 13 – jedna hostująca MariaDB jako bazę danych dla Zabbixa, a druga hostująca Zabbix-Server oraz Zabbix-Frontend “zainstalowane” Dockerem. Następnie rozpocząłem testy, patrząc jak sprawdza się taki monitoring domowych maszyn. Dodałem monitoring w miarę wszystkich urządzeń, w tym routera z OpenWrt (z użyciem Zabbix-Agent dostępnego w repo) czy Home Assistanta (z użyciem nieoficjalnej templatki). Większość maszyn/serwerów ogarnąłem Zabbix Agentem w wersji 2, oprócz VM na Proxmox - tutaj monitoring zapewniający przez oficjalną templatkę do Proxmox mi wystarczył. Dlaczego Agent2? Agent w wersji 2.0 oferuje monitoring Dockera, co przydało mi się do właśnie bycia na bieżąco z usługami wystawionymi tą metodą.
Byłem bardzo zadowolony z Zabbixa, dlatego uznałem, że czas z tym wyjść dalej.
Zabbix w chmurze (ale nie Zabbix Cloud)
Cały stack monitoringowy trzymany w tym samym domu, co sprzęt, który ma być monitorowany, to kiepski pomysł. Dlatego też wiedziałem, że chcę z tym wyjść na zewnątrz. Mikrus Frog za 5 zł to rozwiązanie wyjątkowo za słabe (ale do Beszela jest OK), mikrus 2.1 to też kiepska droga (zresztą postanowiłem się z Mikrusa offboardować). Dlatego wybór padł na chmurę Hetzner ponieważ:
- Podstawowa instancja Compute jest całkiem wydajna i tania
- Dostępne są security groups (nazwane tutaj Firewall)
- Dostępny jest wbudowany mechanizm backupów (choć ubogi)
- Dostępny jest provider do Terraforma/OpenTofu wraz z oficjalnymi modułami (ale są one słabe, musiałem co nieco poprawiać).
Hetzner ma jednak wady, oprócz ulotnie wspomnianych wyżej, mogę dodać brak wbudowanego Secret Managera czy niejasny pricing za S3.
Deployment wyglądał dosyć podobnie - dwie maszyny, gdzie jedna hostuje MariaDB, a druga Zabbix-Server i Zabbix-Frontend (obydwie usługi wrzucone Dockerem). Do tego mam firewall ograniczający ruch tylko dla adresów IP prawdziwych użytkowników.
Aby nie utrudniać monitoringu urządzeń sieciowych i tych dostępnych w domu, każdy z użytkowników używa własne Zabbix Proxy. Zabbix Proxy to jedyne komponenty komunikujące się z Zabbix-Server, natomiast wszelkie urządzenia łączą się z Zabbix-Proxy w danej lokalizacji (lub grupy Proxy). Do tego doszło szyfrowanie z użyciem certyfikatów.
Tak jak wspomniałem, zamierzam przygotować wpis na bloga, gdzie postaram się wyjaśnić jak rozdzieliliśmy widoczność hostów między userów, jak działają Proxy czy deployment z użyciem OpenTofu.





