Supla.org.pl + Zabbix — monitoring infrastruktury IT z automatyką budynkową

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.0

2. 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):

NameTypeParameters
TemperaturaJSONPath$.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) > 28

Severity: 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=state

W regule LLD ustaw LLD macros:

{#CHANNEL_ID}    → $.id
{#CHANNEL_NAME}  → $.caption

Zabbix 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.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry