Wstęp
Zarządzanie infrastrukturą IT to nie tylko serwery, sieci i oprogramowanie. Coraz częściej w zakres odpowiedzialności inżynierów i administratorów wchodzi również monitoring fizycznych warunków pracy sprzętu — temperatury serwerowni, wilgotności, stanu zasilania awaryjnego czy kontroli dostępu. W tym artykule pokażę, jak połączyć Supla.org.pl — polską, otwartą platformę automatyki budynkowej — z Zabbixem, czyli jedną z najpopularniejszych platform monitoringu IT klasy enterprise.
Czym jest Supla.org.pl?
Supla to otwartoźródłowy system automatyki budynkowej rozwijany przez polskich programistów. W odróżnieniu od zamkniętych ekosystemów (np. Fibaro, KNX), Supla oferuje:
- w pełni otwarte API REST (wersjonowane, z dokumentacją Swagger)
- możliwość uruchomienia własnego serwera (self-hosted) lub korzystania z chmury
cloud.supla.org - szeroką gamę modułów sprzętowych: przekaźniki, czujniki temperatury i wilgotności, mierniki energii, rolety, bramki i wiele więcej
- integracje z Home Assistant, openHAB, Amazon Alexa, Google Home
Z punktu widzenia infrastruktury IT szczególnie interesujące są moduły pomiarowe: czujniki temperatury DS18B20 lub DHT22 podłączone do kontrolerów Supla pozwalają na ciągły monitoring warunków w serwerowniach, szafach rack czy pomieszczeniach technicznych — za ułamek ceny dedykowanych rozwiązań przemysłowych.
Czym jest Zabbix?
Zabbix to dojrzała, open-source’owa platforma monitoringu IT przeznaczona dla środowisk produkcyjnych. Umożliwia zbieranie metryk z serwerów, urządzeń sieciowych, aplikacji i usług chmurowych, a następnie ich wizualizację, korelację i alertowanie. Kluczowe cechy istotne w kontekście tej integracji:
- HTTP Agent — natywna obsługa odpytywania zewnętrznych API REST bez potrzeby pisania agentów
- Preprocessing — parsowanie JSON bezpośrednio w konfiguracji elementu (JSONPath)
- Triggers i escalations — elastyczne reguły alertowania z powiadomieniami (email, Slack, PagerDuty)
- Dashboardy — wizualizacja w czasie rzeczywistym
Scenariusze użycia
Połączenie Supla z Zabbixem otwiera szereg praktycznych zastosowań w środowiskach biznesowych:
- Monitoring temperatury i wilgotności w serwerowniach, szafach rack i pomieszczeniach technicznych
- Nadzór nad zasilaniem — wykrywanie zaników napięcia, monitorowanie pracy UPS
- Kontrola dostępu — rejestrowanie otwarć drzwi do pomieszczeń IT
- Zużycie energii — pomiar poboru mocy przez poszczególne urządzenia za pomocą modułów z licznikiem energii
- Alerty środowiskowe — powiadomienie on-call gdy temperatura w serwerowni przekroczy próg
Integracja krok po kroku
1. Przygotowanie tokena API w Supla
Zaloguj się do panelu cloud.supla.org (lub własnej instancji), przejdź do Moje konto → Tokeny dostępu i utwórz nowy token z uprawnieniami tylko do odczytu (channels_read, iodevices_read).
Token: YOUR_SUPLA_TOKEN
Base URL: https://cloud.supla.org/api/v2.4.02. Sprawdzenie dostępnych kanałów
Przed konfiguracją Zabbix warto zidentyfikować ID kanałów, które chcemy monitorować:
curl -H "Authorization: Bearer YOUR_SUPLA_TOKEN" \
https://cloud.supla.org/api/v2.4.0/channels?include=state \
| jq '.[] | {id, caption, type: .type.name, state}'Zanotuj id kanałów — będą potrzebne w konfiguracji Zabbix.
3. Konfiguracja elementu w Zabbix (HTTP Agent)
W Zabbix przejdź do Configuration → Hosts → Items → Create item:
- Type: HTTP agent
- URL:
https://cloud.supla.org/api/v2.4.0/channels/{$SUPLA_CHANNEL_ID}?include=state - Request headers:
Authorization: Bearer {$SUPLA_TOKEN} - Type of information: Text
- Update interval: 60s
Następnie dodaj preprocessing (zakładka Preprocessing):
| Name | Type | Parameters |
|---|---|---|
| Temperatura | JSONPath | $.state.temperature |
| Wilgotność | JSONPath | $.state.humidity |
Dla prostszych kanałów (przełącznik, czujnik otwarcia) użyj $.state.on lub $.state.hi.
4. Makra hosta
Na poziomie hosta zdefiniuj makra:
{$SUPLA_TOKEN} → twój token (typ: Secret text)
{$SUPLA_CHANNEL_ID} → ID kanału (np. 12345)5. Trigger — alert przekroczenia temperatury
last(/ServerRoom/supla.temperature) > 28Severity: High. Możesz dodać eskalację do Slack/PagerDuty w sekcji Actions.
Szablon wielokanałowy (Low Level Discovery)
Jeśli masz wiele kanałów Supla, możesz użyć Low Level Discovery (LLD) aby automatycznie tworzyć elementy dla każdego sensora. Endpoint discovery:
GET /channels?type=THERMOMETER&include=stateW regule LLD ustaw LLD macros:
{#CHANNEL_ID} → $.id
{#CHANNEL_NAME} → $.captionZabbix automatycznie utworzy elementy i triggery dla każdego odkrytego termometru.
Self-hosted Supla Server
Jeśli zależy Ci na pełnej kontroli danych i braku zależności od zewnętrznego cloudu, Supla udostępnia obraz Docker:
services:
supla-server:
image: supla/supla-server:latest
environment:
MYSQL_ROOT_PASSWORD: secret
ports:
- "2015:2015" # protokół urządzeń
- "8080:80" # panel webowy / API
W takim przypadku Base URL w Zabbix zmień na adres swojej instancji, np. http://supla.local:8080/api/v2.4.0.
Podsumowanie
Integracja Supla z Zabbixem pozwala włączyć monitoring fizycznej infrastruktury budynkowej w ten sam ekosystem, w którym śledzimy serwery, sieci i aplikacje. Otwarte API Supla, natywna obsługa HTTP Agent w Zabbix i możliwość samodzielnego hostowania obu systemów sprawiają, że całe rozwiązanie jest niezależne od zewnętrznych dostawców i łatwe do dostosowania do specyfiki każdej organizacji.
Koszt wdrożenia jest niski — sprzętowe moduły Supla dostępne są od kilkudziesięciu złotych, a oprogramowanie po obu stronach jest open source. W zamian zyskujemy pełną widoczność warunków środowiskowych w dashboardach Zabbix, centralny alerting i historię danych pomiarowych — bez konieczności wdrażania oddzielnych, dedykowanych systemów BMS.
