AN41 - SNMP monitoring napájení v Zabbix / Nagios systému s NETIO zásuvkami | Chytré zásuvky NETIO ovládané pomocí WiFi a LAN
Tagy: 
User library

AN41 je ukázka jak pomocí PowerPDU 4C měřit el. proud a spotřebu energie v SNMP systému Zabbix (Linux). Praktické tipy jak na měření napájení a dohled zařízení v SNMP systémech (Nagios, Zenoss, Zabbix a další).

 

Můžeme Vám nějak pomoci?

Supported devices: NETIO 4All, PowerPDU 4C, PowerDIN 4Pz

Aplikační poznámka AN41 demonstruje použití SNMP dohledového systému a ukazuje jak řešit problematiku sledování napájení nejen v IT aplikacích.

 

Zadání dohledu a vyhodnocování naměřených hodnot

Pro demonstraci v AN41 jsme připravili NETIO PowerPDU 4C, do jednotlivých výstupů jsou zapojeny spotřebiče:

  • Output1 - Lednice
  • Output2 - Varná konvice
  • Output3 - Kávovar
  • Output4 - Mikrovlnka

 

Cíle AN41

  • Měřit a zobrazovat do grafů odběr všech zásuvek.
  • Při zapnutí varné konvice zaslat emailem upozornění.
  • Pokud necháme otevřené dveře lednice poslat emailem upozornění.
  • Pokud přestane fungovat lednice poslat emailem upozornění.

 

PowerPDU 4C je připojené do LAN

  • IP adresa:  192.168.101.31
  • SNMP: povoleno čtení se SNMP community:  netioVkuchynce7523
  • z našeho PC a dohledového serveru se systémem Zabbix je možný přístup pomocí SNMP na NETIO zásuvku

 

Jak funguje SNMP

SNMP je protokol pro vzdálený dohled a ovládání zařízení. Na NETIO chytrých zásuvkách lze pomocí SNMP číst hodnoty OID objektů (stav zásuvky (0/1), proud [mA] který přes ni teče, okamžitou hodnotu počítadla [Wh]).

Přes SNMP lze pomocí funkce zápisu hodnoty ovládat výstup (zapnout, vypnout, přepnout, krátce zapnout a krátce vypnout). Doporučujeme ale používat pro zápis zabezpečenou verzi SNMP v3.

Hodnoty jsou identifikovány OID číslem a organizovány v hierarchickém stromu.

Pro označení jedné proměnné lze používat buď číselné označení nebo textové jméno.

 

SNMP OID

V AN41 budeme používat pouze OID v číselné podobě. Použití textových označení je přehlednější, ale vyžaduje importovat MIB NETIO do dohledového software. Ne všechny SW podporují MIB tabulku.

 

V hierarchickém stromu hodnot OID je pro NETIO přidělen prefix/„cesta“ .1.3.6.1.4.1.47952.

 

Podrobný popis SNMP na Netiích i s ukázkami a návodem k instalaci utilit je popsán v AN11 SNMP dohled a řízení napájecích výstupů 110/230V z CMD (command line) pro Windows a Linux

 

Proměnné dostupné v NETIO po SNMP

V následující tabulce jsou uvedena OID vhodná pro AN41:

 

OID

Jmenné označení OID

Typ

Popis/Poznámka

 1.3.6.1.4.1.47952.1.1.1.2.x

NetioOutputName

STRING

Jméno zásuvky/výstupu x (nastavené přes WEB rozhraní)

 1.3.6.1.4.1.47952.1.1.1.3.x

NetioOutputState

INTEGER

Stav zásuvky x (0= vypnuto, 1=zapnuto)

1.3.6.1.4.1.47952.1.1.1.25.x

netioOutputLoad

INTEGER

Odebíraná zátěž ze zásuvky x [W]

1.3.6.1.4.1.47952.1.1.1.26.x

netioOutputEnergy

INTEGER

Odebraná energie ze zásuvky x [Wh]

Čas odkdy je měřen začátek odběru je uložen v OID netioOutputEnergyStart

1.3.6.1.4.1.47952.1.1.1.27.x

netioOutputEnergyStart

DateAndTime

Počáteční čas pro “netioOutputEnergy”. UTC *1 [DateAndTime]

1.3.6.1.4.1.47952.1.1.1.28.x

netioOutputCurrent

INTEGER

Odebíraný proud ze zásuvky x [mA]

 1.3.6.1.4.1.47952.1.1.1.29.x

netioOutputCurrentPowerFactor

INTEGER

Účiník (power factor) odběru ze zásuvky x [cos Fi * 1000]

Pokud je cos(Fi)=0,534 je výstup 534

 

Místo znaku x v OID doplníme číslo výstupu (zásuvky), to znamená 1 až 4 pro NETIO 4 nebo PowerPDU 4C, číslo 1 pro PowerCable REST 101x).

 

Hodnoty jednotlivých OID jsou interně aktualizovány každé 2 sekundy (NETIO 4, NETIO 4ALL a PowerPDU 4C). Častější odečet hodnot pomocí SNMP nemá význam a jen zbytečně zatěžuje NETIO i dohledový systém. Tento čas je také nutno brát do úvahy pro přesnost a možnosti měření okamžité zátěže a proudu – zátěž, jejíž spotřeba se mění častěji než cca jednou za 5 sekund nelze přesně a spolehlivě měřit.

 

Měřit Wh nebo A / W ?

Pro dohled energie lze používat dva typy hodnot:

 

1) Stav počítadla [Wh] - měříme energii přenesenou přes zásuvku (netioOutputEnergy [Wh])

  • přesné určení celkové spotřeby ve Wh
  • o výpočet přenesené energie se stará NETIO
  • menší požadavky na dohledový systém (lze měřit i jednou za den a měření bude stále přesné)
  • méně přehledné a pochopitelné hodnoty v grafech – je tam buď celková spotřeba která trvale stoupá, nebo častěji nárůst celkové spotřeby za jednotku času – například Wh/s.
  • Přesnost měření závisí na interní přesnosti měření NETIO  chytrých zásuvek a není zkreslena dohledem a odečtem.
  • Odečítaná hodnota je ve Wh, což vytváří omezení pro měření a vyhodnocování krátkodobých a menších zátěží. Hodnota je typu Integer a ve Wh – například při zátěži 50 W se zvýší hodnota proměnné o 1 za 72 vteřin.

 

2) Okamžitou proudovou spotřebu [A] -  ((netioOutputCurrent [mA] nebo netioOutputLoad  [W])) a celkovou energii zhruba spočítá dohledový software

  • Pro dohled kapacity jističe je lepší měření okamžité hodnoty (netioOutputCurrent [mA] nebo netioOutputLoad  [W])
  • Pro uživatele může být snazší pochopení některých grafů proudu a výsledků
  • Při měření je potřeba odečítat hodnoty alespoň 2x častěji než je jejich změna. Klasický dohledový software odečítá jednou za 5 minut což je postačující jen pro některé případy.
  • Pokud je zátěž krátkodobá nebo často kolísá, tak potřebujeme odečítat hodnotu častěji než je její změna. Například pokud odběr trvá 30s (zde uvaření vody ve varné konvici) a budeme odečítat jednou za 5 minut (výchozí nastavení většiny dohledových systémů) tak je velice pravděpodobné, že tento odběr ani nezaznamenáme.

 

Pro většinu úloh doporučujeme kombinovat měření obou typů hodnoty.

 

Obecná přesnost měření chytrých zásuvek NETIO je obecně pod 1% pro Power PDU a PowerCable REST 101x, pod 2% pro Netio 4.

 

Nastavení SNMP v PowerPDU 4C

Na NETIO zásuvce zapneme přístup pomocí SNMP. Pro čtení (dohled) nám stačí SNMP v1:

Záložka M2M Api protocols -> SNMP

  • Enable SNMP: X
  • Port: 161 (výchozí hodnota)
  • SNMP version: 1,2c
  • Community: SNMP-community - tento řetězec je „heslo“ a budeme ho zadávat do software který bude číst pomocí SNMP hodnoty z NETIO. V tomto AN budeme používat „netioVkuchynce7523“.
  • Uložíme změny – Save Changes

 

Poznámka: Pokud chceme i zapisovat/ovládat zásuvky je potřeba používat SNMP v3.

 

Čtení přes SNMP z příkazové řádky pomocí utilit z balíku Net-SNMP

Tento způsob čtení se nám hodí pro kontrolu funkce, nebo pro jednoduché použití ve vlastních skriptovacích jazycích.

Uvedené příklady jsou pro Net-SNMP a Linux. Příklady pro windows jsou uvedeny v AN 11 SNMP dohled a řízení napájecích výstupů 110/230V z CMD (command line) pro Windows a Linux

 

Syntaxe (SNMP v1:

  snmpget -v 1 -c <SNMP-community> <IP> <OID>

 

$ snmpget -v 1 -c netioVkuchynce7523 192.168.101.31 .1.3.6.1.4.1.47952.1.1.1.28.1

iso.3.6.1.4.1.47952.1.1.1.28.1 = INTEGER: 17

Kde hodnota 17 znamená, že ze zásuvky 1 je odebírán proud 17 mA.

 

snmpget -v 1 -c netioVkuchynce7523 192.168.101.31 .1.3.6.1.4.1.47952.1.1.1.26.1

iso.3.6.1.4.1.47952.1.1.1.26.3 = INTEGER: 25132

Hodnota 25132 znamená, že ze zásuvky 3 bylo odebráno 25132 Wh (od kdy lze zjistit z OID 27.3).

 

Pokud použijeme SNMP v3:

$ snmpget -v 3 -a SHA -A onlinedemo -l authPriv -u onlinedemo -x AES -X onlinedemo netio-4c.netio-products.com iso.3.6.1.4.1.47952.1.1.1.28.1

iso.3.6.1.4.1.47952.1.1.1.28.1 = INTEGER: 2577

 

Analýza zadání a možností NETIO

 

Měřit a zobrazovat do grafů odběr všech zásuvek

Budeme dohledovat a v grafech zobrazovat tyto OID:

  • Output1-Load                                  .1.3.6.1.4.1.47952.1.1.1.25.1
  • Output1-OutputEnergy                  .1.3.6.1.4.1.47952.1.1.1.26.1
  • Output1-Current                             .1.3.6.1.4.1.47952.1.1.1.28.1
  • Output2-Load                                  .1.3.6.1.4.1.47952.1.1.1.25.2
  • Output2-OutputEnergy                  .1.3.6.1.4.1.47952.1.1.1.26.2
  • Output2-Current                             .1.3.6.1.4.1.47952.1.1.1.28.2
  • Output3-Load                                  .1.3.6.1.4.1.47952.1.1.1.25.3
  • Output3-OutputEnergy                  .1.3.6.1.4.1.47952.1.1.1.26.3
  • Output3-Current                             .1.3.6.1.4.1.47952.1.1.1.28.3
  • Output4-Load                                  .1.3.6.1.4.1.47952.1.1.1.25.4
  • Output4-OutputEnergy                  .1.3.6.1.4.1.47952.1.1.1.26.4
  • Output4-Current                             .1.3.6.1.4.1.47952.1.1.1.28.4

 

Při zapnutí varné konvice zaslat emailem upozornění

Varná konvice je v zásuvce Output2 a dle měření z předchozího bodu má příkon cca 2000 W. Uvaření minimálního množství studené vody trvá 93 vteřin.

Vygenerujeme událost při překročení odběru 1500 W ze zásuvky 2 – Output2-Load – OID .1.3.6.1.4.1.47952.1.1.1.25.2.

Víme že měření budeme dělat v Zabbixu, kde je výchozí perioda odečtu 30 vteřin, což je postačující. Přihřátí teplé vody – kratší intervaly neřešíme.

 

Poznámka:

Obdobnou úlohu lze řešit odesláním emailu z Lua skriptu, který běží přímo v NETIO zásuvkách – viz AN03 Vypnutí zásuvky při proudu nad limit a poslání emailu

 

Lednice

Zadání na lednici je:

  • Pokud necháme otevřené dveře lednice poslat emailem upozornění.
  • Pokud přestane fungovat lednice poslat emailem upozornění.

 

Obě zadání budeme hlídat pomocí spotřebované energie. Lednice je ve výstupu Output1, budeme tedy číst a hlídat Output1-OutputEnergy - .1.3.6.1.4.1.47952.1.1.1.26.1.

 

Analýzou chování lednice (z grafů které jsme získali v předchozích krocích) jsme zjistili, že:

            Při běhu kompresoru je spotřeba 53 W.

            Při zavřených dveřích běží průměrně 26 minut za hodinu.

            Celkem to je tedy odebraných cca 23 Wh za hodinu.

 

Nerozeznáme otevřené dveře od naplnění lednice teplými potravinami.

Interval po který budeme počítat spotřebovanou energii volíme 3 hodiny. Zadání na dohledový systém bude tedy:

 

Budeme detekovat spotřebu v intervalu posledních 3 hodin:

  • Příliš malá spotřeba (výpadek lednice):             < 20 Wh
  • Normální běh se zavřenými dveřmi:                        69Wh
  • Příliš velká spotřeba (otevřené dveře)                > 120 Wh
  • Trvalý běh kompresoru (maximální spotřeba):       159 Wh

 

Poznámka: Odběr lednice (kolik času běží kompresor) silně závisí na jakou teplotu je nastavena i na teplotě venkovního prostředí.

Poznámka 2: Měření a dohled odběru lednice můžeme vytvořit i z Load (aktuálnímu odběru ve W). Výhodou bude přehlednější a pochopitelnější zadávání a výpočet hodnot. Nevýhodou by bylo snížení intervalu/přesnosti měření z 2 na 30 sekund, což by ale pro tento případ také stačilo.

 

Zabbix SNMP dohled

Postup nastavení dohledu uživatelských OID je podrobně popsán v dokumentaci Zabbixu:

https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/snmp

 

Přidáme Hosta

Configuration -> Hosts -> Create host

  • záložka Host
    • "Host name": netio-kuchynka
    • "Groups":    jakákoliv skupina Zabbixu
    • "Agent Interfaces": Remove
    • "SNMP interfaces": IP: 192.168.101.31
  • záložka Templates (volitelně přidáme dohled pomocí ICMP piongů že netio žije):
    • Link new Templates: "Template Module ICMP Ping"
      • Add
      • Update

 

Zabbix items

Vytvoříme Items – položky které jsou pravidělně dotazovány a ukládány do databáze – jedné Items bude odpovídat jedno dohledované OID (jedna veličina na jedné zásuvce)

  • záložka Items
    • Create Item
    • záložka Item
      • Name:    netio-kuchynka-SNMP-Output1-OutputEnergy
      • Type:    SNMPv1 agent
      • Key:    netio-kuchynka-SNMP-Output1-OutputEnergy
      • SNMP OID: .1.3.6.1.4.1.47952.1.1.1.26.1
      • SNMP community:    netioVkuchynce7523
      • Type of information:    Numeric (float) (hodnota je celkový součet od zapnutí)
      • History storage period: 365d
  • záložka Preprocessing
    • Preprocessing steps:
      • Add
      • "Change per second"
    • Add

 

A zopakujeme vytvoření items pro další 3 zásuvky ze změněným OID a to vše pro Current, Load a OutputEnergy:

  • Otevřeme Item přidanou v předchozím kroku a v ní zvolíme "Clone".
  • V klonované Item pak změníme:
    • Name:    netio-kuchynka-SNMP-Output2-OutputEnergy
    • Key:        netio-kuchynka-SNMP-Output2-OutputEnergy
    • SNMP OID:        .1.3.6.1.4.1.47952.1.1.1.26.2
  • Add

 

Výsledné Items budou:

  • netio-kuchynka-SNMP-Output1-Current                   .1.3.6.1.4.1.47952.1.1.1.28.1
  • netio-kuchynka-SNMP-Output1-Load                        .1.3.6.1.4.1.47952.1.1.1.25.1
  • netio-kuchynka-SNMP-Output1-OutputEnergy        .1.3.6.1.4.1.47952.1.1.1.26.1
  • netio-kuchynka-SNMP-Output2-Current                   .1.3.6.1.4.1.47952.1.1.1.28.2
  • netio-kuchynka-SNMP-Output2-Load                        .1.3.6.1.4.1.47952.1.1.1.25.2
  • netio-kuchynka-SNMP-Output2-OutputEnergy        .1.3.6.1.4.1.47952.1.1.1.26.2
  • netio-kuchynka-SNMP-Output3-Current                   .1.3.6.1.4.1.47952.1.1.1.28.3
  • netio-kuchynka-SNMP-Output3-Load                        .1.3.6.1.4.1.47952.1.1.1.25.3
  • netio-kuchynka-SNMP-Output3-OutputEnergy        .1.3.6.1.4.1.47952.1.1.1.26.3
  • netio-kuchynka-SNMP-Output4-Current                   .1.3.6.1.4.1.47952.1.1.1.28.4
  • netio-kuchynka-SNMP-Output4-Load                        .1.3.6.1.4.1.47952.1.1.1.25.4
  • netio-kuchynka-SNMP-Output4-OutputEnergy        .1.3.6.1.4.1.47952.1.1.1.26.4

 

Proměnnou outputEnergy budeme ukládat jako přírůstek oproti předchozí hodnotě – grafy nebudou růst, ale budou ukazovat odebrané Wh za sekundu (Zabbix zobrazuje všechny hodnoty a grafy za sekundu).

 

Zabbix Grafy

Configuration -> Hosts -> netio-kuchynka, záložka Graphs

  • "Create graph"
    •     Name:    netio-kuchynka-OutputEnergy
    •     Height: 300
    •     Y axis MIN value: Fixed, 0
    • Items: Add:
      • netio-kuchynka-SNMP-Output1-OutputEnergy
      • netio-kuchynka-SNMP-Output2-OutputEnergy
      • netio-kuchynka-SNMP-Output3-OutputEnergy
      • netio-kuchynka-SNMP-Output4-OutputEnergy
  • Graf si můžeme okamžitě zobrazit v "Preview".
  • Add

 

Vytvoření grafu zopakujeme pro Current a Load.

 

Zabbix Screen (obrazovka) s grafy dostupnými pro uživatele

Monitoring -> Screens

  • Create screen
    • Name: netio-kuchynka-SNMP
    • Columns: 1
    • Rows: 3
  • Add
  • V seznamu vytvořených Screens se „Name“ netio-kuchynka-SNMP, klikneme na „Actions“: Constructor
    • Klikneme na „Change“
      • Graph: Vybereme požadovaný graf - „Select“,
        • Group: Zabbix group ve které jsme vytvořili host netio-kuchynka
        • Host: netio-kuchynka
      • netio-kuchynka-SNMP-Current
      • Add
    • Obdobným způsobem přidáme zbylé 2 grafy pro:
      • netio-kuchynka-SNMP-Load
      • netio-kuchynka-SNMP-OutputEnergy

Zobrazení Screen s grafy je možno přes Monitoring-> Sreens -> „netio-kuchynka-SNMP“.

 

Kde grafy Current jsou v mA a Load ve Wattech. Perioda vzorkování je 30s (výchozí hodnota zabbixu). Zřetelně je vidět cca 2 kW odběr varné konvice na Output2. Při změně rozlišení času jsou hodnoty přepočítány a zobrazeny na průměry za daný čas, takže například při zobrazení za poslední 3 měsíce bude průměrná spotřeba varné konvice jen cca 100 W.

 

Graf OutputEnergy je ve Wh/s, což odpovídá způsobu měření – měří se celková spotřeba od začátku  měření (typicky restart NETIO). Výhodou je perioda vzorkování na maximu které podporuje zařízení (u NETIO 4x jsou to 2 sekundy) a meření i po dobu kdy nefunguje dohledový server nebo konektivita na NETIO.

 

Zabbix „Triggers“ - generování událostí na základě změřených dat

 

Zabbix dohled odešle mail při každém spuštění varné konvice.

Varná konvice je zapojena do Output2 a má spotřebu cca 2kW. Vytvoříme trigger který vytvoří problém se závažností Informational pokud Load na Output2 překročí 1500 W.

 

Postup je:

  • Configuration -> Hosts
  • řádek netio-kuchynka, Triggers
  • Create Trigger“
    • Name: „Trigger netio-kuchynka-SNMP-Output2-Load - Varna konvice zapnuta“
    • Severity: Information
    • Expression: {netio-kuchynka:netio-kuchynka-SNMP-Output2-Load.last()}>1500
  • Add

 

Otestujeme zapnutím varné konvice.

 

Zabbix odešle mail pokud zapomeneme zavřít dveře lednice

Detekce je podle spotřeby – pokud spotřeba za poslední 3 hodiny překročí 120 Wh.

Použijeme funkci avg – průměrná hodnota za interval. Zabbix udává ve výpočtech a grafech jednotky v sekundách.

Hodnotu proti které porovnáváme průměrnou spotřebu získáme jako 120Wh / 3 hodiny / 3600 sekund (hodiny na sekundy) = 0,01111.

 

Postup je:

  • Configuration -> Hosts
  • řádek netio-kuchynka, Triggers
  • Create Trigger“
    • Name: „Trigger netio-kuchynka-SNMP-Output1-OutputEnergy - Lednice ma prilis velkou spotrebu“
    • Severity: Average
    • Expression: {netio-kuchynka:netio-kuchynka-SNMP-Output1-OutputEnergy.avg(3h)}>0.01111
  • Add

 

Otestujeme výrazným snížením požadované teploty v lednici (bude několik hodin dochlazovat) nebo otevřením dveří lednice.

 

Zabbix odešle mail pokud lednice bude mít příliš malou spotřebu

Detekce je podle spotřeby – pokud je spotřeba za poslední 3 hodiny menší než 20 Wh.

Použijeme funkci avg – průměrná hodnota za interval.

Hodnotu proti které porovnáváme průměrnou spotřebu získáme jako 20 Wh / 3 hodiny / 3600 sekund (W hodiny na W sekundy) = 0,00185.

 

Postup je:

  • Configuration -> Hosts
  • řádek netio-kuchynka, Triggers
  • Create Trigger“
    • Name: „Trigger netio-kuchynka-SNMP-Output1-OutputEnergy - Lednice ma prilis malou spotrebu“
    • Severity: Average
    • Expression: {netio-kuchynka:netio-kuchynka-SNMP-Output1-OutputEnergy.avg(3h)}>0.00185
  • Add

 

Otestujeme výrazným zvýšením požadované teploty v ledinici (několik hodin nebude vůbec chladit než teplota stoupne na novou vyšší požadovanou teplotu) nebo odpojením lednice.

Vytvořené triggery je možno vidět a ověřit i v grafech:

 

Nagios SNMP dohled

 

Nejběžnější způsob využití SNMP je pomocí pluginu (skriptu) check_snmp.

Z příkazové řádky můžeme výsledek měření získat pomocí (zde příklad pro Output1 Load):

/usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.25.1

SNMP OK - 0 | iso.3.6.1.4.1.47952.1.1.1.25.2=0

Výsledek spuštění skriptu vrátil, že hodnota OID je 0 (nulový odběr na zásuvce 2 v době měření). Nagios očekává od volání  pluginu/skriptu návratovou hodnotu že je stav OK, Warning nebo Critical. Většinou potřebujeme provést porovnání hodnoty z OID proti námi požadované hodnotě. Porovnávání provádí skript check_snmp který můžeme volat s argumenty:

            -w <Warning range>

            -c <Critical range>

a do range zadáme rozsah hodnot, kdy není alert generován. Pozor - Použití rozsahů ve volání pluginu check_snmp má obrácenou logiku než v nagiosu a než bychom očekávali - (podrobněji viz. https://wiki.xdroop.com/space/nagios/check_snmp).

 

Poznámka: Skript se v nagiosu vždy jmenuje check_snmp, nicméně v různých distribucích a systémech se může lišit cesta. Cesta /usr/lib/nagios/plugins/check_snmp je platná pro Ubuntu 18, na Vašem operačním systému se může lišit - podívejte se kam se instalují soubory z balíčku monitoring-plugins-standard.

 

Poznámka : Nagios plugin check_netio nedoporučujeme používat pro NETIO 4 a novější, neboť využívá přístup na NETIO pomocí kshell a je vyvinut a testován jen pro starší NETIA 230.

 

 

Pro výše uvedené zadání měření není použití Nagiosu příliš vhodné, neboť má ve výchozí instalaci poměrně omezené možnosti a ve výchozí instalaci nepodporuje grafy.

Výhodou Nagiosu je jeho jednoduchost a rozšiřitelnost pomocí skriptů. Ve výchozí instalaci je  snadno realizovatelný dohled překročení hodnoty jednotlivých čítačů. Pro nagios tedy uděláme jednodušší zadání:

  • Spotřeba na Output2 je větší než 2000 W. Omezení Nagiosu kdy je měření jedné hodnoty jen jen jednou za 5 minut (takže se měření musí “trefit” s během konvice) budeme v tomto ukázkovém případě ignorovat a varnou konvici spustíme 3x za sebou.
  • Detekovat zda je Kávovar odpojen nebo nefunkční. Kávovar má trvalý příkon 15mA. Měření pomocí odběru/W není použitelné neboť díky zaokrouhlování trvale udává 0 W. Budeme tedy měřit odběr v mA.

 

Test měření z CLI:

  • Když konvice nevaří:

root@piskoviste:~# /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.25.2

SNMP OK - 0 | iso.3.6.1.4.1.47952.1.1.1.25.2=0

  • Když konvice vaří:

root@piskoviste:~# /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.25.2

SNMP OK - 2202 | iso.3.6.1.4.1.47952.1.1.1.25.2=2202

  • Kávovar je zapojený a má klidový odběr:

root@piskoviste:~# /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.28.3

SNMP OK - 15 | iso.3.6.1.4.1.47952.1.1.1.28.3=15

  • Kávovar běží:

/usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.28.3

SNMP OK - 5259 | iso.3.6.1.4.1.47952.1.1.1.28.3=5259

  • Kávovar je vypojený nebo vadný:

root@piskoviste:~# /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.28.3

SNMP OK - 0 | iso.3.6.1.4.1.47952.1.1.1.28.3=0

 

Navrhneme rozsahy detekce událostí a otestujeme:

  • Varná konvice běží a generuje critical událost

/usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.25.2 -w :10 -c :2000

SNMP CRITICAL - *2165* | iso.3.6.1.4.1.47952.1.1.1.25.2=2165;:10;:2000

  • Varná konvice neběží a stav je OK:

root@piskoviste:~# /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.25.2 -w :10 -c :2000

SNMP OK - 0 | iso.3.6.1.4.1.47952.1.1.1.25.2=0;:10;:2000

  • Kávovar má spotřebu větší než 10mA a stav je OK:

root@piskoviste:~# /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.28.3 -w 10: -c 5:

SNMP OK - 14 | iso.3.6.1.4.1.47952.1.1.1.28.3=14;10:;5:

  • Kávovar je vypojen a stav je critical:

root@piskoviste:~# /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.28.3 -w 10: -c 5:

SNMP CRITICAL - *0* | iso.3.6.1.4.1.47952.1.1.1.28.3=0;10:;5:

 

 

Konfiguraci odpovídající výše naměřeným datům umístíme do souboru

/etc/nagios3/conf.d/netio.cfg

 

Obsah souboru:

 

define command{

        command_name    check_snmp

        command_line    $USER1$/check_snmp -H $HOSTADDRESS$ -C netioVkuchynce7523 -o $ARG1$ -w $ARG2$ -c $ARG3$

}

 

define host{

        use                     generic-host

        host_name               netio

        alias                   netio

        address                 192.168.101.31

}

 

define service{

        use                             generic-service

        host_name                       netio

        service_description             NetioOutput1Load

        check_command                   check_snmp!.1.3.6.1.4.1.47952.1.1.1.25.2!:10!:2000

        # /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.25.2 -w :10 -c :2000

        # warning above 10W

        # critical above 2000W

}

 

define service{

        use                             generic-service

        host_name                       netio

        service_description             NetioOutput3Current

        check_command                   check_snmp!.1.3.6.1.4.1.47952.1.1.1.28.3!10:!5:

        # /usr/lib/nagios/plugins/check_snmp -H 192.168.101.31 -C netioVkuchynce7523 -o .1.3.6.1.4.1.47952.1.1.1.28.3 -w 10: -c 5:

        # warning below 10mA

        # critical below 5mA

 

}


Restartujeme nagios:

service nagios3 restart

 

Na webovém rozhraní by měly přibýt 2 služby které budou hlídat výše navržené rozsahy hodnot:

 

Poznámka: Více informací o Nagiosu

FAQ

1) Nefunguje SNMP rozhraní v NETIO chytrých zásuvkách

SNMP je třeba povolit, detaily najdete v manuálu k zařízení. Podrobnější popis SNMP a NETIO zásuvek najdete v AN11 SNMP dohled a řízení napájecích výstupů 110/230V z CMD (command line) pro Windows a Linux.

 

2) Nefungují triggery v Zabbixu

Hodnoty při kterých spouštějí triggery zde uvedené jsou platné pouze pro náš konkrétní případ. Pro Vaše měření a Váš případ si musíte navrhnout způsob vyhodnocování, který bude vhodný a spočítat odpovídající hodnoty.

Doporučujeme otestovat zda jsou Vaše výrazy validní v “Expression constructoru” - tlačítko test. Doporučujeme v grafech zkontrolovat podle hodnot odpovídajícího grafu, zda jsou hodnoty triggerů v rámci naměřených dat.

 

3) Jak restartovat zásuvku v reakci na události generované událostí/triggerem v Zabbixu

Typicky jde o případ, kdy dohled zjistí nefunkčnost zařízení a chceme krátce vypnout zásuvku.

Na Zabbix serveru vytvoříme Action, do které zadáme na serveru spouštěný příkaz který provede vzdálené krátké vypnutí (Short Off neboli Restart) požadované zásuvky. Použít můžeme jako volání pomocí URL API (viz AN19 - URL API (http GET) ovládání NETIO elektrických zásuvek) nebo pomocí SNMP v3.

 


Podporované verze FW pro NETIO 4x:

3.1.0 a vyšší (Archiv firmware)


 

 

Tato Aplikační poznámka může být použita v:

Smart power socket NETIO 4All

 

NETIO 4All

NETIO 4All je PDU modul čtyř elektrických zásuvek 230V/8A s měřením spotřeby na každé zásuvce, který lze připojit do počítačové sítě pomocí LAN a WiFi. Každou ze čtyř zásuvek lze individuálně vypnout/zapnout přes web nebo pomocí různých M2M API protokolů. Na každé zásuvce lze měřit její spotřebu elektřiny (A, W, kWh). Chytré zásuvky NETIO 4All jsou určeny pro aplikace vzdáleného měření a ovládání elektrických zásuvek.

Více o NETIO 4All

 
NETIO PowerPDU 4C is small PDU with power measurement and IEC-320 outputs

 

NETIO PowerPDU 4C

NETIO PowerPDU 4C je malé PDU (Power Distribution Unit) na 110/230V. Každý ze čtyř výstupů IEC-320 C13 lze ovládat samostatně (On / Off / Reset / přepni). Na každém výstupu jsou měřeny elektrické veličiny (A, W, kWh, TPF, V, Hz) s vysokou přesností. Zařízení obsahuje dva LAN porty pro připojení do sítě (vestavěný Ethernet switch). Každý výstup napájení podporuje ZCS (Zero Current Switching), to znamená šetrné ovládání připojených zařízení.

Více o NETIO PowerPDU 4C

 

Zeptejte se na cenu nebo technické parametry

Pro otestování zařízení použijte jméno/heslo demo/demo